@wix/editor-application 1.362.0 → 1.363.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/environment-api/index.js +1 -82
- package/dist/cjs/environment-api/index.js.map +1 -1
- package/dist/cjs/index.js +1 -82
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/platform-frame/index.js +0 -65
- package/dist/cjs/platform-frame/index.js.map +1 -1
- package/dist/cjs/platform-frame-api/index.js +0 -65
- package/dist/cjs/platform-frame-api/index.js.map +1 -1
- package/dist/cjs/platform-worker/index.js +1 -71
- package/dist/cjs/platform-worker/index.js.map +1 -1
- package/dist/cjs/platform-worker-api/index.js +1 -71
- package/dist/cjs/platform-worker-api/index.js.map +1 -1
- package/dist/esm/environment-api/index.js +1 -82
- package/dist/esm/environment-api/index.js.map +1 -1
- package/dist/esm/index.js +2 -83
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/platform-frame/index.js +0 -65
- package/dist/esm/platform-frame/index.js.map +1 -1
- package/dist/esm/platform-frame-api/index.js +0 -65
- package/dist/esm/platform-frame-api/index.js.map +1 -1
- package/dist/esm/platform-worker/index.js +1 -71
- package/dist/esm/platform-worker/index.js.map +1 -1
- package/dist/esm/platform-worker-api/index.js +1 -71
- package/dist/esm/platform-worker-api/index.js.map +1 -1
- package/dist/statics/environment-api/index.js +5 -85
- package/dist/statics/environment-api/index.js.map +1 -1
- package/dist/statics/index.js +5 -85
- package/dist/statics/index.js.map +1 -1
- package/dist/statics/platform-frame/index.js +4 -68
- package/dist/statics/platform-frame/index.js.map +1 -1
- package/dist/statics/platform-frame-api/index.js +4 -68
- package/dist/statics/platform-frame-api/index.js.map +1 -1
- package/dist/statics/platform-worker/index.js +5 -74
- package/dist/statics/platform-worker/index.js.map +1 -1
- package/dist/statics/platform-worker-api/index.js +5 -74
- package/dist/statics/platform-worker-api/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/Events/WorkerEventsBridge.ts","../../../src/PlatformEnvironmentAPI/AbstractEnvironmentAPI.ts","../../../../editor-platform-application-context/dist/esm/index.js","../../../src/PlatformEnvironmentAPI/PlatformFrameAPI/PlatformFrameAPI.ts"],"sourcesContent":["import {\n IPlatformPrivateEvent,\n PlatformLifecycleEvent,\n PlatformPrivateEvent,\n // --\n IPlatformAppEvent,\n PlatformAppEvent,\n PlatformAppEventEmitter,\n} from '@wix/public-editor-platform-events';\n\n/**\n * The events bridge between platform events (private) and app events\n */\nexport class WorkerEventsBridge {\n constructor(private platformAppEvents: PlatformAppEventEmitter) {}\n\n /**\n * Notify by event from Worker Manager (platform infrastructure)\n */\n public notify(event: IPlatformPrivateEvent) {\n switch (event.type) {\n case PlatformLifecycleEvent.EditorReady:\n this.platformAppEvents.notify({\n ...event,\n // @ts-expect-error TODO: fix me\n type: PlatformAppEvent.EditorReady,\n });\n break;\n case PlatformPrivateEvent.HostEvent:\n this.platformAppEvents.notify({\n ...event,\n type: PlatformAppEvent.HostEvent,\n });\n break;\n }\n }\n\n /**\n * Subscribe to Worker (Application) event\n */\n public subscribe(cb: (event: IPlatformAppEvent) => void) {\n this.platformAppEvents.subscribe((event) => {\n cb(event);\n });\n }\n}\n","export enum PlatformConsumerEnvironmentAPIType {\n Frame = 'PLATFORM_FRAME_API',\n Worker = 'PLATFORM_WORKER_API',\n}\n\n/**\n * rename these entities -> API to Env\n */\nexport abstract class AbstractEnvironmentAPI<\n TEnv extends PlatformConsumerEnvironmentAPIType,\n> {\n /**\n * NOTE: we can't `type` declare getter within current abstract class\n * because then after transferring API between threads this getter becomes promise,\n * which is not expected\n *\n * get type() {\n * return this.env;\n * }\n */\n public abstract type: TEnv;\n\n protected constructor(protected env: TEnv) {\n this.create();\n }\n\n abstract create(): void;\n abstract initEnvironment(props: unknown): void;\n}\n","import { createErrorBuilder, BaseError } from '@wix/public-editor-platform-errors';\nimport { PlatformAppEvent, PlatformAppEventEmitter } from '@wix/public-editor-platform-events';\n\nvar EditorPlatformApplicationContextErrorCode = /* @__PURE__ */ ((EditorPlatformApplicationContextErrorCode2) => {\n EditorPlatformApplicationContextErrorCode2[\"IncorrectEnvironment\"] = \"IncorrectEnvironment\";\n EditorPlatformApplicationContextErrorCode2[\"ClientAuthError\"] = \"ClientAuthError\";\n return EditorPlatformApplicationContextErrorCode2;\n})(EditorPlatformApplicationContextErrorCode || {});\nclass EditorPlatformApplicationContextError extends BaseError {\n state = {};\n constructor(message, code) {\n super(message, code, \"Editor Platform Application Context Error\");\n }\n withUrl(url) {\n this.state = { ...this.state, url };\n return this;\n }\n withAppDefinitionId(appDefinitionId) {\n this.state = { ...this.state, appDefinitionId };\n return this;\n }\n}\nconst createEditorPlatformApplicationContextError = createErrorBuilder(EditorPlatformApplicationContextError);\n\nasync function transformEventPayload(eventPayload, privateAPI) {\n if (!eventPayload?.type) {\n return eventPayload;\n }\n switch (eventPayload.type) {\n case \"componentSelectionChanged\":\n const componentRefs = eventPayload.componentRefs || [];\n const components = await Promise.all(\n componentRefs.map((ref) => {\n return privateAPI.components.getComponent(ref);\n })\n );\n return {\n type: eventPayload.type,\n components\n };\n default:\n return eventPayload;\n }\n}\n\nclass ApplicationBoundEvents {\n constructor(appDefinitionId, events, privateAPI) {\n this.appDefinitionId = appDefinitionId;\n this.privateAPI = privateAPI;\n this.events = events;\n this.subscribe = events.subscribe.bind(events);\n this.commit = events.commit.bind(events);\n this.startTransaction = events.startTransaction.bind(events);\n this.silent = events.silent.bind(events);\n }\n events;\n subscribe;\n commit;\n startTransaction;\n silent;\n notify(event) {\n this.events.notify({\n type: event.type,\n payload: event.payload,\n meta: {\n appDefinitionId: this.appDefinitionId\n }\n });\n }\n notifyCustomEvent(type, payload) {\n this.notify({\n type: PlatformAppEvent.CustomEvent,\n payload: {\n ...payload,\n type\n }\n });\n }\n /**\n * TODO: we should use same interface for all events\n * (subscribe vs addEventListener)\n */\n addEventListener(eventType, fn) {\n return this.events.subscribe(async (event) => {\n const isAppMatch = event.meta?.appDefinitionId === this.appDefinitionId || event.meta?.appDefinitionId === null;\n const transformPayload = () => transformEventPayload(event.payload, this.privateAPI);\n if (eventType === \"*\") {\n fn(await transformPayload());\n } else if (event.type === PlatformAppEvent.CustomEvent) {\n if (eventType === event.payload?.type && !isAppMatch) {\n fn(await transformPayload());\n }\n } else if (event.type === PlatformAppEvent.HostEvent) {\n if (eventType === event.payload?.type && isAppMatch) {\n fn(await transformPayload());\n }\n }\n });\n }\n}\n\nconst WAIT_INJECTED_TIMEOUT = 200;\nconst WAIT_INJECTED_RETRY_COUNT = 50;\nclass ContextInjectionStatus {\n _resolveContextInjected = () => {\n };\n _isInjected = false;\n key;\n constructor(uuid) {\n this.key = `__${uuid}_CONTEXT_INJECTION_STATUS_KEY`;\n if (!globalThis[this.key]) {\n globalThis[this.key] = new Promise((resolve) => {\n this._resolveContextInjected = () => {\n this._isInjected = true;\n resolve();\n };\n });\n }\n }\n isInjected() {\n return !!this._isInjected;\n }\n resolveInjected() {\n this._resolveContextInjected?.();\n }\n waitInjected() {\n return new Promise((resolve, reject) => {\n let injected = false;\n let timeoutId;\n let retryCount = 0;\n const timeout = () => {\n if (injected) {\n return;\n }\n timeoutId = setTimeout(() => {\n retryCount++;\n if (retryCount < WAIT_INJECTED_RETRY_COUNT) {\n if (retryCount % 10 === 0) {\n console.log(\n createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"contexts are not resolved, still re-trying\"\n ).withMessage(`try number ${retryCount}`).message\n );\n }\n timeout();\n return;\n }\n if (!injected) {\n const error = createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"contexts are not resolved, threw by timeout\"\n );\n reject(error);\n }\n }, WAIT_INJECTED_TIMEOUT);\n };\n timeout();\n const _waitContextInjectedPromise = globalThis[this.key];\n _waitContextInjectedPromise.then(() => {\n injected = true;\n clearTimeout(timeoutId);\n resolve();\n });\n });\n }\n}\n\nconst ENVIRONMENT_CONTEXT_KEY = \"__ENVIRONMENT_CONTEXT_KEY\";\nvar PlatformEnvironment = /* @__PURE__ */ ((PlatformEnvironment2) => {\n PlatformEnvironment2[\"Worker\"] = \"Worker\";\n PlatformEnvironment2[\"Frame\"] = \"Frame\";\n PlatformEnvironment2[\"ComponentPanel\"] = \"ComponentPanel\";\n return PlatformEnvironment2;\n})(PlatformEnvironment || {});\nclass EnvironmentContext {\n constructor(environmentContext) {\n this.environmentContext = environmentContext;\n }\n static status = new ContextInjectionStatus(\"environment\");\n static async inject(context) {\n if (globalThis[ENVIRONMENT_CONTEXT_KEY]) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Environment context already exists and should not be overridden\"\n );\n }\n globalThis[ENVIRONMENT_CONTEXT_KEY] = new EnvironmentContext(context);\n this.status.resolveInjected();\n }\n static async getInstance() {\n await this.status.waitInjected();\n return globalThis[ENVIRONMENT_CONTEXT_KEY];\n }\n getPrivateAPI() {\n return this.environmentContext.privateApi;\n }\n getEvents() {\n return this.environmentContext.events;\n }\n getApplicationAPIs() {\n return this.environmentContext.applicationAPIs ?? {};\n }\n getEnvironment() {\n return this.environmentContext.environment;\n }\n}\n\nconst APPLICATION_CONTEXT_KEY = \"__APPLICATION_CONTEXT_KEY\";\nclass ApplicationContext {\n constructor(applicationContext, environment) {\n this.applicationContext = applicationContext;\n this.environment = environment;\n this.events = new ApplicationBoundEvents(\n this.applicationContext.appDefinitionId,\n this.environment.getEvents(),\n this.environment.getPrivateAPI()\n );\n }\n static status = new ContextInjectionStatus(\"application\");\n /**\n * TODO: use generics for context type\n * - application\n * - editor\n */\n static async inject(context) {\n const environment = await EnvironmentContext.getInstance();\n if (environment.getEnvironment() !== PlatformEnvironment.Frame) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Application context can be injected only in frame environment\"\n );\n }\n if (globalThis[APPLICATION_CONTEXT_KEY]) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Application context already exists and should not be overridden\"\n );\n }\n globalThis[APPLICATION_CONTEXT_KEY] = new ApplicationContext(\n context,\n await EnvironmentContext.getInstance()\n );\n this.status.resolveInjected();\n }\n static async getInstance() {\n const environment = await EnvironmentContext.getInstance();\n if (environment.getEnvironment() === PlatformEnvironment.Frame) {\n await this.status.waitInjected();\n return globalThis[APPLICATION_CONTEXT_KEY];\n } else {\n return __APPLICATION_CONTEXT_KEY;\n }\n }\n events;\n getAppDefinitionId() {\n return this.applicationContext.appDefinitionId;\n }\n getBindings() {\n return this.applicationContext;\n }\n getEvents() {\n return this.events;\n }\n getPrivateAPI() {\n return this.environment.getPrivateAPI();\n }\n getPrivateApplicationAPI() {\n const appDefinitionId = this.getAppDefinitionId();\n if (!appDefinitionId) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"appDefinitionId is not available\"\n );\n }\n return this.environment.getApplicationAPIs()[appDefinitionId];\n }\n}\n\nconst createSDKHost = (props) => {\n const environmentContext = new EnvironmentContext({\n environment: props.environment,\n privateApi: props.privateAPI,\n events: props.events ?? new PlatformAppEventEmitter(),\n applicationAPIs: props.applicationPrivateAPI ? {\n [props.appDefinitionId]: props.applicationPrivateAPI\n } : {}\n });\n const applicationContext = new ApplicationContext(\n {\n appDefinitionId: props.appDefinitionId,\n appDefinitionName: \"\"\n },\n environmentContext\n );\n return {\n environment: {},\n channel: {\n observeState: async () => {\n return {\n disconnect() {\n }\n };\n }\n },\n environmentContext,\n applicationContext\n };\n};\n\nconst auth = (appDefinitionId, privateAPI) => {\n return {\n getAuthHeaders: async () => {\n if (!appDefinitionId) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.ClientAuthError\n );\n }\n const authInstance = await privateAPI.info.getAppInstance(appDefinitionId);\n if (authInstance === void 0) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.ClientAuthError,\n \"empty auth instance\"\n ).withAppDefinitionId(appDefinitionId);\n }\n return {\n headers: {\n Authorization: authInstance\n }\n };\n }\n };\n};\n\nexport { APPLICATION_CONTEXT_KEY, ApplicationBoundEvents, ApplicationContext, ENVIRONMENT_CONTEXT_KEY, EnvironmentContext, PlatformEnvironment, auth, createSDKHost };\n//# sourceMappingURL=index.js.map\n","import { IPrivateAPIFixMe } from '../../types';\n\nimport {\n IPlatformAppEvent,\n IPlatformPrivateEvent,\n PlatformAppEventEmitter,\n} from '@wix/public-editor-platform-events';\nimport { createClient } from '@wix/sdk';\n\nimport { WorkerEventsBridge } from '../../Events';\nimport {\n AbstractEnvironmentAPI,\n PlatformConsumerEnvironmentAPIType,\n} from '../AbstractEnvironmentAPI';\nimport {\n ApplicationContext,\n createSDKHost,\n auth,\n EnvironmentContext,\n PlatformEnvironment,\n} from '@wix/editor-application-context';\n\nconst DESIGN_SYSTEM_STYLES_MAP = {\n classic:\n 'https://www.unpkg.com/@wix/design-system/dist/statics/tokens-default.global.css',\n studio:\n 'https://www.unpkg.com/@wix/design-system/dist/statics/tokens-studio.global.css',\n};\n\nexport class PlatformFrameAPI extends AbstractEnvironmentAPI<PlatformConsumerEnvironmentAPIType.Frame> {\n public type: PlatformConsumerEnvironmentAPIType.Frame =\n PlatformConsumerEnvironmentAPIType.Frame;\n\n #events = new PlatformAppEventEmitter();\n #eventsBridge = new WorkerEventsBridge(this.#events);\n #privateAPI: IPrivateAPIFixMe;\n #applicationPrivateAPI: any;\n\n constructor() {\n super(PlatformConsumerEnvironmentAPIType.Frame);\n }\n\n create() {\n if (typeof globalThis?.document?.head?.prepend === 'function') {\n const params = new URL(globalThis.location.href).searchParams;\n\n // TODO: check all possible editorType values\n const host =\n params.get('editorType') === 'CLASSIC' ? 'classic' : 'studio';\n\n const url = DESIGN_SYSTEM_STYLES_MAP[host];\n\n const isAlreadyLoaded =\n url &&\n !!document.querySelectorAll(`link[type=\"text/css\"][href=\"${url}\"]`)\n ?.length;\n\n if (url && !isAlreadyLoaded) {\n const link: HTMLLinkElement = document.createElement('link');\n\n link.setAttribute('rel', 'stylesheet');\n link.setAttribute('type', 'text/css');\n link.setAttribute('href', url);\n\n globalThis.document.head.prepend(link);\n }\n }\n }\n\n async initEnvironment(props: {\n appDefinitionId: string;\n privateAPI: IPrivateAPIFixMe;\n applicationPrivateAPI: any;\n }) {\n const { applicationPrivateAPI, privateAPI, appDefinitionId } = props;\n\n this.#applicationPrivateAPI = applicationPrivateAPI;\n this.#privateAPI = privateAPI;\n\n await EnvironmentContext.inject({\n environment: PlatformEnvironment.Frame,\n privateApi: privateAPI,\n events: this.#events,\n applicationAPIs: {\n [appDefinitionId]: this.#applicationPrivateAPI,\n },\n });\n\n await ApplicationContext.inject({\n appDefinitionId,\n appDefinitionName: '',\n });\n\n /**\n * https://github.com/wix-private/public-sdk?tab=readme-ov-file#providing-a-contextual-wixclient\n * init wix client and its contexts,\n * so sdk shapes will be able to use these client instance our of the box\n */\n const client = createClient({\n auth: auth(appDefinitionId, privateAPI),\n host: createSDKHost({\n appDefinitionId,\n privateAPI: this.#privateAPI,\n environment: PlatformEnvironment.Frame,\n events: this.#events,\n applicationPrivateAPI: this.#applicationPrivateAPI,\n }),\n });\n\n client.enableContext('global');\n }\n\n notify(event: IPlatformPrivateEvent) {\n this.#eventsBridge.notify(event);\n }\n\n subscribe(cb: (event: IPlatformAppEvent) => void) {\n this.#eventsBridge.subscribe(cb);\n }\n}\n"],"names":["PlatformLifecycleEvent","PlatformAppEvent","PlatformPrivateEvent","PlatformConsumerEnvironmentAPIType","BaseError","createErrorBuilder","PlatformAppEventEmitter","createClient"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/Events/WorkerEventsBridge.ts","../../../src/PlatformEnvironmentAPI/AbstractEnvironmentAPI.ts","../../../../editor-platform-application-context/dist/esm/index.js","../../../src/PlatformEnvironmentAPI/PlatformFrameAPI/PlatformFrameAPI.ts"],"sourcesContent":["import {\n IPlatformPrivateEvent,\n PlatformLifecycleEvent,\n PlatformPrivateEvent,\n // --\n IPlatformAppEvent,\n PlatformAppEvent,\n PlatformAppEventEmitter,\n} from '@wix/public-editor-platform-events';\n\n/**\n * The events bridge between platform events (private) and app events\n */\nexport class WorkerEventsBridge {\n constructor(private platformAppEvents: PlatformAppEventEmitter) {}\n\n /**\n * Notify by event from Worker Manager (platform infrastructure)\n */\n public notify(event: IPlatformPrivateEvent) {\n switch (event.type) {\n case PlatformLifecycleEvent.EditorReady:\n this.platformAppEvents.notify({\n ...event,\n // @ts-expect-error TODO: fix me\n type: PlatformAppEvent.EditorReady,\n });\n break;\n case PlatformPrivateEvent.HostEvent:\n this.platformAppEvents.notify({\n ...event,\n type: PlatformAppEvent.HostEvent,\n });\n break;\n }\n }\n\n /**\n * Subscribe to Worker (Application) event\n */\n public subscribe(cb: (event: IPlatformAppEvent) => void) {\n this.platformAppEvents.subscribe((event) => {\n cb(event);\n });\n }\n}\n","export enum PlatformConsumerEnvironmentAPIType {\n Frame = 'PLATFORM_FRAME_API',\n Worker = 'PLATFORM_WORKER_API',\n}\n\n/**\n * rename these entities -> API to Env\n */\nexport abstract class AbstractEnvironmentAPI<\n TEnv extends PlatformConsumerEnvironmentAPIType,\n> {\n /**\n * NOTE: we can't `type` declare getter within current abstract class\n * because then after transferring API between threads this getter becomes promise,\n * which is not expected\n *\n * get type() {\n * return this.env;\n * }\n */\n public abstract type: TEnv;\n\n protected constructor(protected env: TEnv) {\n this.create();\n }\n\n abstract create(): void;\n abstract initEnvironment(props: unknown): void;\n}\n","import { createErrorBuilder, BaseError } from '@wix/public-editor-platform-errors';\nimport { PlatformAppEvent } from '@wix/public-editor-platform-events';\n\nvar EditorPlatformApplicationContextErrorCode = /* @__PURE__ */ ((EditorPlatformApplicationContextErrorCode2) => {\n EditorPlatformApplicationContextErrorCode2[\"IncorrectEnvironment\"] = \"IncorrectEnvironment\";\n EditorPlatformApplicationContextErrorCode2[\"ClientAuthError\"] = \"ClientAuthError\";\n return EditorPlatformApplicationContextErrorCode2;\n})(EditorPlatformApplicationContextErrorCode || {});\nclass EditorPlatformApplicationContextError extends BaseError {\n state = {};\n constructor(message, code) {\n super(message, code, \"Editor Platform Application Context Error\");\n }\n withUrl(url) {\n this.state = { ...this.state, url };\n return this;\n }\n withAppDefinitionId(appDefinitionId) {\n this.state = { ...this.state, appDefinitionId };\n return this;\n }\n}\nconst createEditorPlatformApplicationContextError = createErrorBuilder(EditorPlatformApplicationContextError);\n\nasync function transformEventPayload(eventPayload, privateAPI) {\n if (!eventPayload?.type) {\n return eventPayload;\n }\n switch (eventPayload.type) {\n case \"componentSelectionChanged\":\n const componentRefs = eventPayload.componentRefs || [];\n const components = await Promise.all(\n componentRefs.map((ref) => {\n return privateAPI.components.getComponent(ref);\n })\n );\n return {\n type: eventPayload.type,\n components\n };\n default:\n return eventPayload;\n }\n}\n\nclass ApplicationBoundEvents {\n constructor(appDefinitionId, events, privateAPI) {\n this.appDefinitionId = appDefinitionId;\n this.privateAPI = privateAPI;\n this.events = events;\n this.subscribe = events.subscribe.bind(events);\n this.commit = events.commit.bind(events);\n this.startTransaction = events.startTransaction.bind(events);\n this.silent = events.silent.bind(events);\n }\n events;\n subscribe;\n commit;\n startTransaction;\n silent;\n notify(event) {\n this.events.notify({\n type: event.type,\n payload: event.payload,\n meta: {\n appDefinitionId: this.appDefinitionId\n }\n });\n }\n notifyCustomEvent(type, payload) {\n this.notify({\n type: PlatformAppEvent.CustomEvent,\n payload: {\n ...payload,\n type\n }\n });\n }\n /**\n * TODO: we should use same interface for all events\n * (subscribe vs addEventListener)\n */\n addEventListener(eventType, fn) {\n return this.events.subscribe(async (event) => {\n const isAppMatch = event.meta?.appDefinitionId === this.appDefinitionId || event.meta?.appDefinitionId === null;\n const transformPayload = () => transformEventPayload(event.payload, this.privateAPI);\n if (eventType === \"*\") {\n fn(await transformPayload());\n } else if (event.type === PlatformAppEvent.CustomEvent) {\n if (eventType === event.payload?.type && !isAppMatch) {\n fn(await transformPayload());\n }\n } else if (event.type === PlatformAppEvent.HostEvent) {\n if (eventType === event.payload?.type && isAppMatch) {\n fn(await transformPayload());\n }\n }\n });\n }\n}\n\nconst WAIT_INJECTED_TIMEOUT = 200;\nconst WAIT_INJECTED_RETRY_COUNT = 50;\nclass ContextInjectionStatus {\n _resolveContextInjected = () => {\n };\n _isInjected = false;\n key;\n constructor(uuid) {\n this.key = `__${uuid}_CONTEXT_INJECTION_STATUS_KEY`;\n if (!globalThis[this.key]) {\n globalThis[this.key] = new Promise((resolve) => {\n this._resolveContextInjected = () => {\n this._isInjected = true;\n resolve();\n };\n });\n }\n }\n isInjected() {\n return !!this._isInjected;\n }\n resolveInjected() {\n this._resolveContextInjected?.();\n }\n waitInjected() {\n return new Promise((resolve, reject) => {\n let injected = false;\n let timeoutId;\n let retryCount = 0;\n const timeout = () => {\n if (injected) {\n return;\n }\n timeoutId = setTimeout(() => {\n retryCount++;\n if (retryCount < WAIT_INJECTED_RETRY_COUNT) {\n if (retryCount % 10 === 0) {\n console.log(\n createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"contexts are not resolved, still re-trying\"\n ).withMessage(`try number ${retryCount}`).message\n );\n }\n timeout();\n return;\n }\n if (!injected) {\n const error = createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"contexts are not resolved, threw by timeout\"\n );\n reject(error);\n }\n }, WAIT_INJECTED_TIMEOUT);\n };\n timeout();\n const _waitContextInjectedPromise = globalThis[this.key];\n _waitContextInjectedPromise.then(() => {\n injected = true;\n clearTimeout(timeoutId);\n resolve();\n });\n });\n }\n}\n\nconst ENVIRONMENT_CONTEXT_KEY = \"__ENVIRONMENT_CONTEXT_KEY\";\nvar PlatformEnvironment = /* @__PURE__ */ ((PlatformEnvironment2) => {\n PlatformEnvironment2[\"Worker\"] = \"Worker\";\n PlatformEnvironment2[\"Frame\"] = \"Frame\";\n PlatformEnvironment2[\"ComponentPanel\"] = \"ComponentPanel\";\n return PlatformEnvironment2;\n})(PlatformEnvironment || {});\nclass EnvironmentContext {\n constructor(environmentContext) {\n this.environmentContext = environmentContext;\n }\n static status = new ContextInjectionStatus(\"environment\");\n static async inject(context) {\n if (globalThis[ENVIRONMENT_CONTEXT_KEY]) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Environment context already exists and should not be overridden\"\n );\n }\n globalThis[ENVIRONMENT_CONTEXT_KEY] = new EnvironmentContext(context);\n this.status.resolveInjected();\n }\n static async getInstance() {\n await this.status.waitInjected();\n return globalThis[ENVIRONMENT_CONTEXT_KEY];\n }\n getPrivateAPI() {\n return this.environmentContext.privateApi;\n }\n getEvents() {\n return this.environmentContext.events;\n }\n getApplicationAPIs() {\n return this.environmentContext.applicationAPIs ?? {};\n }\n getEnvironment() {\n return this.environmentContext.environment;\n }\n}\n\nconst APPLICATION_CONTEXT_KEY = \"__APPLICATION_CONTEXT_KEY\";\nclass ApplicationContext {\n constructor(applicationContext, environment) {\n this.applicationContext = applicationContext;\n this.environment = environment;\n this.events = new ApplicationBoundEvents(\n this.applicationContext.appDefinitionId,\n this.environment.getEvents(),\n this.environment.getPrivateAPI()\n );\n }\n static status = new ContextInjectionStatus(\"application\");\n /**\n * TODO: use generics for context type\n * - application\n * - editor\n */\n static async inject(context) {\n const environment = await EnvironmentContext.getInstance();\n if (environment.getEnvironment() !== PlatformEnvironment.Frame) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Application context can be injected only in frame environment\"\n );\n }\n if (globalThis[APPLICATION_CONTEXT_KEY]) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Application context already exists and should not be overridden\"\n );\n }\n globalThis[APPLICATION_CONTEXT_KEY] = new ApplicationContext(\n context,\n await EnvironmentContext.getInstance()\n );\n this.status.resolveInjected();\n }\n static async getInstance() {\n const environment = await EnvironmentContext.getInstance();\n if (environment.getEnvironment() === PlatformEnvironment.Frame) {\n await this.status.waitInjected();\n return globalThis[APPLICATION_CONTEXT_KEY];\n } else {\n return __APPLICATION_CONTEXT_KEY;\n }\n }\n events;\n getAppDefinitionId() {\n return this.applicationContext.appDefinitionId;\n }\n getBindings() {\n return this.applicationContext;\n }\n getEvents() {\n return this.events;\n }\n getPrivateAPI() {\n return this.environment.getPrivateAPI();\n }\n getPrivateApplicationAPI() {\n const appDefinitionId = this.getAppDefinitionId();\n if (!appDefinitionId) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"appDefinitionId is not available\"\n );\n }\n return this.environment.getApplicationAPIs()[appDefinitionId];\n }\n}\n\nconst auth = (appDefinitionId, privateAPI) => {\n return {\n getAuthHeaders: async () => {\n if (!appDefinitionId) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.ClientAuthError\n );\n }\n const authInstance = await privateAPI.info.getAppInstance(appDefinitionId);\n if (authInstance === void 0) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.ClientAuthError,\n \"empty auth instance\"\n ).withAppDefinitionId(appDefinitionId);\n }\n return {\n headers: {\n Authorization: authInstance\n }\n };\n }\n };\n};\n\nexport { APPLICATION_CONTEXT_KEY, ApplicationBoundEvents, ApplicationContext, ENVIRONMENT_CONTEXT_KEY, EnvironmentContext, PlatformEnvironment, auth };\n//# sourceMappingURL=index.js.map\n","import { IPrivateAPIFixMe } from '../../types';\n\nimport {\n IPlatformAppEvent,\n IPlatformPrivateEvent,\n PlatformAppEventEmitter,\n} from '@wix/public-editor-platform-events';\n\nimport { WorkerEventsBridge } from '../../Events';\nimport {\n AbstractEnvironmentAPI,\n PlatformConsumerEnvironmentAPIType,\n} from '../AbstractEnvironmentAPI';\nimport {\n ApplicationContext,\n EnvironmentContext,\n PlatformEnvironment,\n} from '@wix/editor-application-context';\n\nconst DESIGN_SYSTEM_STYLES_MAP = {\n classic:\n 'https://www.unpkg.com/@wix/design-system/dist/statics/tokens-default.global.css',\n studio:\n 'https://www.unpkg.com/@wix/design-system/dist/statics/tokens-studio.global.css',\n};\n\nexport class PlatformFrameAPI extends AbstractEnvironmentAPI<PlatformConsumerEnvironmentAPIType.Frame> {\n public type: PlatformConsumerEnvironmentAPIType.Frame =\n PlatformConsumerEnvironmentAPIType.Frame;\n\n #events = new PlatformAppEventEmitter();\n #eventsBridge = new WorkerEventsBridge(this.#events);\n #privateAPI: IPrivateAPIFixMe;\n #applicationPrivateAPI: any;\n\n constructor() {\n super(PlatformConsumerEnvironmentAPIType.Frame);\n }\n\n create() {\n if (typeof globalThis?.document?.head?.prepend === 'function') {\n const params = new URL(globalThis.location.href).searchParams;\n\n // TODO: check all possible editorType values\n const host =\n params.get('editorType') === 'CLASSIC' ? 'classic' : 'studio';\n\n const url = DESIGN_SYSTEM_STYLES_MAP[host];\n\n const isAlreadyLoaded =\n url &&\n !!document.querySelectorAll(`link[type=\"text/css\"][href=\"${url}\"]`)\n ?.length;\n\n if (url && !isAlreadyLoaded) {\n const link: HTMLLinkElement = document.createElement('link');\n\n link.setAttribute('rel', 'stylesheet');\n link.setAttribute('type', 'text/css');\n link.setAttribute('href', url);\n\n globalThis.document.head.prepend(link);\n }\n }\n }\n\n async initEnvironment(props: {\n appDefinitionId: string;\n privateAPI: IPrivateAPIFixMe;\n applicationPrivateAPI: any;\n }) {\n const { applicationPrivateAPI, privateAPI, appDefinitionId } = props;\n\n this.#applicationPrivateAPI = applicationPrivateAPI;\n this.#privateAPI = privateAPI;\n\n await EnvironmentContext.inject({\n environment: PlatformEnvironment.Frame,\n privateApi: privateAPI,\n events: this.#events,\n applicationAPIs: {\n [appDefinitionId]: this.#applicationPrivateAPI,\n },\n });\n\n await ApplicationContext.inject({\n appDefinitionId,\n appDefinitionName: '',\n });\n }\n\n notify(event: IPlatformPrivateEvent) {\n this.#eventsBridge.notify(event);\n }\n\n subscribe(cb: (event: IPlatformAppEvent) => void) {\n this.#eventsBridge.subscribe(cb);\n }\n}\n"],"names":["PlatformLifecycleEvent","PlatformAppEvent","PlatformPrivateEvent","PlatformConsumerEnvironmentAPIType","BaseError","createErrorBuilder","PlatformAppEventEmitter"],"mappings":"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"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
var editorPlatformTransport = require('@wix/editor-platform-transport');
|
|
4
4
|
var publicEditorPlatformEvents = require('@wix/public-editor-platform-events');
|
|
5
|
-
var sdk = require('@wix/sdk');
|
|
6
5
|
var publicEditorPlatformErrors = require('@wix/public-editor-platform-errors');
|
|
7
6
|
var publicEditorPlatformInterfaces = require('@wix/public-editor-platform-interfaces');
|
|
8
7
|
|
|
@@ -322,59 +321,6 @@ class ApplicationContext {
|
|
|
322
321
|
return this.environment.getApplicationAPIs()[appDefinitionId];
|
|
323
322
|
}
|
|
324
323
|
}
|
|
325
|
-
const createSDKHost = (props) => {
|
|
326
|
-
const environmentContext = new EnvironmentContext({
|
|
327
|
-
environment: props.environment,
|
|
328
|
-
privateApi: props.privateAPI,
|
|
329
|
-
events: props.events ?? new publicEditorPlatformEvents.PlatformAppEventEmitter(),
|
|
330
|
-
applicationAPIs: props.applicationPrivateAPI ? {
|
|
331
|
-
[props.appDefinitionId]: props.applicationPrivateAPI
|
|
332
|
-
} : {}
|
|
333
|
-
});
|
|
334
|
-
const applicationContext = new ApplicationContext(
|
|
335
|
-
{
|
|
336
|
-
appDefinitionId: props.appDefinitionId,
|
|
337
|
-
appDefinitionName: ""
|
|
338
|
-
},
|
|
339
|
-
environmentContext
|
|
340
|
-
);
|
|
341
|
-
return {
|
|
342
|
-
environment: {},
|
|
343
|
-
channel: {
|
|
344
|
-
observeState: async () => {
|
|
345
|
-
return {
|
|
346
|
-
disconnect() {
|
|
347
|
-
}
|
|
348
|
-
};
|
|
349
|
-
}
|
|
350
|
-
},
|
|
351
|
-
environmentContext,
|
|
352
|
-
applicationContext
|
|
353
|
-
};
|
|
354
|
-
};
|
|
355
|
-
const auth = (appDefinitionId, privateAPI) => {
|
|
356
|
-
return {
|
|
357
|
-
getAuthHeaders: async () => {
|
|
358
|
-
if (!appDefinitionId) {
|
|
359
|
-
throw createEditorPlatformApplicationContextError(
|
|
360
|
-
EditorPlatformApplicationContextErrorCode.ClientAuthError
|
|
361
|
-
);
|
|
362
|
-
}
|
|
363
|
-
const authInstance = await privateAPI.info.getAppInstance(appDefinitionId);
|
|
364
|
-
if (authInstance === void 0) {
|
|
365
|
-
throw createEditorPlatformApplicationContextError(
|
|
366
|
-
EditorPlatformApplicationContextErrorCode.ClientAuthError,
|
|
367
|
-
"empty auth instance"
|
|
368
|
-
).withAppDefinitionId(appDefinitionId);
|
|
369
|
-
}
|
|
370
|
-
return {
|
|
371
|
-
headers: {
|
|
372
|
-
Authorization: authInstance
|
|
373
|
-
}
|
|
374
|
-
};
|
|
375
|
-
}
|
|
376
|
-
};
|
|
377
|
-
};
|
|
378
324
|
|
|
379
325
|
var EditorPlatformApplicationErrorCode = /* @__PURE__ */ ((EditorPlatformApplicationErrorCode2) => {
|
|
380
326
|
EditorPlatformApplicationErrorCode2["ApplicationRuntimeError"] = "ApplicationRuntimeError";
|
|
@@ -414,9 +360,8 @@ class EditorPlatformApplicationError extends publicEditorPlatformErrors.BaseErro
|
|
|
414
360
|
const createEditorPlatformApplicationError = publicEditorPlatformErrors.createErrorBuilder(EditorPlatformApplicationError);
|
|
415
361
|
|
|
416
362
|
const APPLICATION_REGISTRY_KEY = "__APPLICATION_REGISTRY_KEY";
|
|
417
|
-
async function executeApplication(events,
|
|
363
|
+
async function executeApplication(events, spec, bundle) {
|
|
418
364
|
const executable = new Function(
|
|
419
|
-
"$wixContext",
|
|
420
365
|
APPLICATION_CONTEXT_KEY,
|
|
421
366
|
APPLICATION_REGISTRY_KEY,
|
|
422
367
|
bundle
|
|
@@ -440,7 +385,6 @@ async function executeApplication(events, client, spec, bundle) {
|
|
|
440
385
|
try {
|
|
441
386
|
const context = { ...spec };
|
|
442
387
|
executable.call(
|
|
443
|
-
{ client },
|
|
444
388
|
new ApplicationContext(context, await EnvironmentContext.getInstance()),
|
|
445
389
|
applicationRegistryCallback
|
|
446
390
|
);
|
|
@@ -566,10 +510,8 @@ class PlatformApplicationContainer {
|
|
|
566
510
|
return this.#events.withEvent(
|
|
567
511
|
this.#events.factories.createApplicationExecuteEvent(app, app.url),
|
|
568
512
|
async () => {
|
|
569
|
-
const client = this.#createWixClient(app.appDefinitionId);
|
|
570
513
|
const { instance } = await executeApplication(
|
|
571
514
|
this.#events,
|
|
572
|
-
client,
|
|
573
515
|
app,
|
|
574
516
|
bundle
|
|
575
517
|
);
|
|
@@ -577,18 +519,6 @@ class PlatformApplicationContainer {
|
|
|
577
519
|
}
|
|
578
520
|
);
|
|
579
521
|
}
|
|
580
|
-
#createWixClient(appDefinitionId) {
|
|
581
|
-
return sdk.createClient({
|
|
582
|
-
auth: auth(appDefinitionId, this.#privateAPI),
|
|
583
|
-
host: createSDKHost({
|
|
584
|
-
appDefinitionId,
|
|
585
|
-
privateAPI: this.#privateAPI,
|
|
586
|
-
environment: PlatformEnvironment.Worker,
|
|
587
|
-
events: this.#events,
|
|
588
|
-
applicationPrivateAPI: {}
|
|
589
|
-
})
|
|
590
|
-
});
|
|
591
|
-
}
|
|
592
522
|
}
|
|
593
523
|
|
|
594
524
|
class PlatformWorkerAPI extends AbstractEnvironmentAPI {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/Events/WorkerEventsBridge.ts","../../../src/PlatformEnvironmentAPI/AbstractEnvironmentAPI.ts","../../../../editor-platform-application-context/dist/esm/index.js","../../../src/errors.ts","../../../src/PlatformApplicationContainer/executeApplication.ts","../../../src/PlatformApplicationContainer/PlatformApplicationContainer.ts","../../../src/PlatformEnvironmentAPI/PlatformWorkerAPI/PlatformWorkerAPI.ts","../../../src/platform-worker.ts"],"sourcesContent":["import {\n IPlatformPrivateEvent,\n PlatformLifecycleEvent,\n PlatformPrivateEvent,\n // --\n IPlatformAppEvent,\n PlatformAppEvent,\n PlatformAppEventEmitter,\n} from '@wix/public-editor-platform-events';\n\n/**\n * The events bridge between platform events (private) and app events\n */\nexport class WorkerEventsBridge {\n constructor(private platformAppEvents: PlatformAppEventEmitter) {}\n\n /**\n * Notify by event from Worker Manager (platform infrastructure)\n */\n public notify(event: IPlatformPrivateEvent) {\n switch (event.type) {\n case PlatformLifecycleEvent.EditorReady:\n this.platformAppEvents.notify({\n ...event,\n // @ts-expect-error TODO: fix me\n type: PlatformAppEvent.EditorReady,\n });\n break;\n case PlatformPrivateEvent.HostEvent:\n this.platformAppEvents.notify({\n ...event,\n type: PlatformAppEvent.HostEvent,\n });\n break;\n }\n }\n\n /**\n * Subscribe to Worker (Application) event\n */\n public subscribe(cb: (event: IPlatformAppEvent) => void) {\n this.platformAppEvents.subscribe((event) => {\n cb(event);\n });\n }\n}\n","export enum PlatformConsumerEnvironmentAPIType {\n Frame = 'PLATFORM_FRAME_API',\n Worker = 'PLATFORM_WORKER_API',\n}\n\n/**\n * rename these entities -> API to Env\n */\nexport abstract class AbstractEnvironmentAPI<\n TEnv extends PlatformConsumerEnvironmentAPIType,\n> {\n /**\n * NOTE: we can't `type` declare getter within current abstract class\n * because then after transferring API between threads this getter becomes promise,\n * which is not expected\n *\n * get type() {\n * return this.env;\n * }\n */\n public abstract type: TEnv;\n\n protected constructor(protected env: TEnv) {\n this.create();\n }\n\n abstract create(): void;\n abstract initEnvironment(props: unknown): void;\n}\n","import { createErrorBuilder, BaseError } from '@wix/public-editor-platform-errors';\nimport { PlatformAppEvent, PlatformAppEventEmitter } from '@wix/public-editor-platform-events';\n\nvar EditorPlatformApplicationContextErrorCode = /* @__PURE__ */ ((EditorPlatformApplicationContextErrorCode2) => {\n EditorPlatformApplicationContextErrorCode2[\"IncorrectEnvironment\"] = \"IncorrectEnvironment\";\n EditorPlatformApplicationContextErrorCode2[\"ClientAuthError\"] = \"ClientAuthError\";\n return EditorPlatformApplicationContextErrorCode2;\n})(EditorPlatformApplicationContextErrorCode || {});\nclass EditorPlatformApplicationContextError extends BaseError {\n state = {};\n constructor(message, code) {\n super(message, code, \"Editor Platform Application Context Error\");\n }\n withUrl(url) {\n this.state = { ...this.state, url };\n return this;\n }\n withAppDefinitionId(appDefinitionId) {\n this.state = { ...this.state, appDefinitionId };\n return this;\n }\n}\nconst createEditorPlatformApplicationContextError = createErrorBuilder(EditorPlatformApplicationContextError);\n\nasync function transformEventPayload(eventPayload, privateAPI) {\n if (!eventPayload?.type) {\n return eventPayload;\n }\n switch (eventPayload.type) {\n case \"componentSelectionChanged\":\n const componentRefs = eventPayload.componentRefs || [];\n const components = await Promise.all(\n componentRefs.map((ref) => {\n return privateAPI.components.getComponent(ref);\n })\n );\n return {\n type: eventPayload.type,\n components\n };\n default:\n return eventPayload;\n }\n}\n\nclass ApplicationBoundEvents {\n constructor(appDefinitionId, events, privateAPI) {\n this.appDefinitionId = appDefinitionId;\n this.privateAPI = privateAPI;\n this.events = events;\n this.subscribe = events.subscribe.bind(events);\n this.commit = events.commit.bind(events);\n this.startTransaction = events.startTransaction.bind(events);\n this.silent = events.silent.bind(events);\n }\n events;\n subscribe;\n commit;\n startTransaction;\n silent;\n notify(event) {\n this.events.notify({\n type: event.type,\n payload: event.payload,\n meta: {\n appDefinitionId: this.appDefinitionId\n }\n });\n }\n notifyCustomEvent(type, payload) {\n this.notify({\n type: PlatformAppEvent.CustomEvent,\n payload: {\n ...payload,\n type\n }\n });\n }\n /**\n * TODO: we should use same interface for all events\n * (subscribe vs addEventListener)\n */\n addEventListener(eventType, fn) {\n return this.events.subscribe(async (event) => {\n const isAppMatch = event.meta?.appDefinitionId === this.appDefinitionId || event.meta?.appDefinitionId === null;\n const transformPayload = () => transformEventPayload(event.payload, this.privateAPI);\n if (eventType === \"*\") {\n fn(await transformPayload());\n } else if (event.type === PlatformAppEvent.CustomEvent) {\n if (eventType === event.payload?.type && !isAppMatch) {\n fn(await transformPayload());\n }\n } else if (event.type === PlatformAppEvent.HostEvent) {\n if (eventType === event.payload?.type && isAppMatch) {\n fn(await transformPayload());\n }\n }\n });\n }\n}\n\nconst WAIT_INJECTED_TIMEOUT = 200;\nconst WAIT_INJECTED_RETRY_COUNT = 50;\nclass ContextInjectionStatus {\n _resolveContextInjected = () => {\n };\n _isInjected = false;\n key;\n constructor(uuid) {\n this.key = `__${uuid}_CONTEXT_INJECTION_STATUS_KEY`;\n if (!globalThis[this.key]) {\n globalThis[this.key] = new Promise((resolve) => {\n this._resolveContextInjected = () => {\n this._isInjected = true;\n resolve();\n };\n });\n }\n }\n isInjected() {\n return !!this._isInjected;\n }\n resolveInjected() {\n this._resolveContextInjected?.();\n }\n waitInjected() {\n return new Promise((resolve, reject) => {\n let injected = false;\n let timeoutId;\n let retryCount = 0;\n const timeout = () => {\n if (injected) {\n return;\n }\n timeoutId = setTimeout(() => {\n retryCount++;\n if (retryCount < WAIT_INJECTED_RETRY_COUNT) {\n if (retryCount % 10 === 0) {\n console.log(\n createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"contexts are not resolved, still re-trying\"\n ).withMessage(`try number ${retryCount}`).message\n );\n }\n timeout();\n return;\n }\n if (!injected) {\n const error = createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"contexts are not resolved, threw by timeout\"\n );\n reject(error);\n }\n }, WAIT_INJECTED_TIMEOUT);\n };\n timeout();\n const _waitContextInjectedPromise = globalThis[this.key];\n _waitContextInjectedPromise.then(() => {\n injected = true;\n clearTimeout(timeoutId);\n resolve();\n });\n });\n }\n}\n\nconst ENVIRONMENT_CONTEXT_KEY = \"__ENVIRONMENT_CONTEXT_KEY\";\nvar PlatformEnvironment = /* @__PURE__ */ ((PlatformEnvironment2) => {\n PlatformEnvironment2[\"Worker\"] = \"Worker\";\n PlatformEnvironment2[\"Frame\"] = \"Frame\";\n PlatformEnvironment2[\"ComponentPanel\"] = \"ComponentPanel\";\n return PlatformEnvironment2;\n})(PlatformEnvironment || {});\nclass EnvironmentContext {\n constructor(environmentContext) {\n this.environmentContext = environmentContext;\n }\n static status = new ContextInjectionStatus(\"environment\");\n static async inject(context) {\n if (globalThis[ENVIRONMENT_CONTEXT_KEY]) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Environment context already exists and should not be overridden\"\n );\n }\n globalThis[ENVIRONMENT_CONTEXT_KEY] = new EnvironmentContext(context);\n this.status.resolveInjected();\n }\n static async getInstance() {\n await this.status.waitInjected();\n return globalThis[ENVIRONMENT_CONTEXT_KEY];\n }\n getPrivateAPI() {\n return this.environmentContext.privateApi;\n }\n getEvents() {\n return this.environmentContext.events;\n }\n getApplicationAPIs() {\n return this.environmentContext.applicationAPIs ?? {};\n }\n getEnvironment() {\n return this.environmentContext.environment;\n }\n}\n\nconst APPLICATION_CONTEXT_KEY = \"__APPLICATION_CONTEXT_KEY\";\nclass ApplicationContext {\n constructor(applicationContext, environment) {\n this.applicationContext = applicationContext;\n this.environment = environment;\n this.events = new ApplicationBoundEvents(\n this.applicationContext.appDefinitionId,\n this.environment.getEvents(),\n this.environment.getPrivateAPI()\n );\n }\n static status = new ContextInjectionStatus(\"application\");\n /**\n * TODO: use generics for context type\n * - application\n * - editor\n */\n static async inject(context) {\n const environment = await EnvironmentContext.getInstance();\n if (environment.getEnvironment() !== PlatformEnvironment.Frame) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Application context can be injected only in frame environment\"\n );\n }\n if (globalThis[APPLICATION_CONTEXT_KEY]) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Application context already exists and should not be overridden\"\n );\n }\n globalThis[APPLICATION_CONTEXT_KEY] = new ApplicationContext(\n context,\n await EnvironmentContext.getInstance()\n );\n this.status.resolveInjected();\n }\n static async getInstance() {\n const environment = await EnvironmentContext.getInstance();\n if (environment.getEnvironment() === PlatformEnvironment.Frame) {\n await this.status.waitInjected();\n return globalThis[APPLICATION_CONTEXT_KEY];\n } else {\n return __APPLICATION_CONTEXT_KEY;\n }\n }\n events;\n getAppDefinitionId() {\n return this.applicationContext.appDefinitionId;\n }\n getBindings() {\n return this.applicationContext;\n }\n getEvents() {\n return this.events;\n }\n getPrivateAPI() {\n return this.environment.getPrivateAPI();\n }\n getPrivateApplicationAPI() {\n const appDefinitionId = this.getAppDefinitionId();\n if (!appDefinitionId) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"appDefinitionId is not available\"\n );\n }\n return this.environment.getApplicationAPIs()[appDefinitionId];\n }\n}\n\nconst createSDKHost = (props) => {\n const environmentContext = new EnvironmentContext({\n environment: props.environment,\n privateApi: props.privateAPI,\n events: props.events ?? new PlatformAppEventEmitter(),\n applicationAPIs: props.applicationPrivateAPI ? {\n [props.appDefinitionId]: props.applicationPrivateAPI\n } : {}\n });\n const applicationContext = new ApplicationContext(\n {\n appDefinitionId: props.appDefinitionId,\n appDefinitionName: \"\"\n },\n environmentContext\n );\n return {\n environment: {},\n channel: {\n observeState: async () => {\n return {\n disconnect() {\n }\n };\n }\n },\n environmentContext,\n applicationContext\n };\n};\n\nconst auth = (appDefinitionId, privateAPI) => {\n return {\n getAuthHeaders: async () => {\n if (!appDefinitionId) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.ClientAuthError\n );\n }\n const authInstance = await privateAPI.info.getAppInstance(appDefinitionId);\n if (authInstance === void 0) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.ClientAuthError,\n \"empty auth instance\"\n ).withAppDefinitionId(appDefinitionId);\n }\n return {\n headers: {\n Authorization: authInstance\n }\n };\n }\n };\n};\n\nexport { APPLICATION_CONTEXT_KEY, ApplicationBoundEvents, ApplicationContext, ENVIRONMENT_CONTEXT_KEY, EnvironmentContext, PlatformEnvironment, auth, createSDKHost };\n//# sourceMappingURL=index.js.map\n","import {\n BaseError,\n createErrorBuilder,\n} from '@wix/public-editor-platform-errors';\n\nexport enum EditorPlatformApplicationErrorCode {\n ApplicationRuntimeError = 'ApplicationRuntimeError',\n ApplicationCreationError = 'ApplicationCreationError',\n ApplicationLoadError = 'ApplicationLoadError',\n ApplicationFetchError = 'ApplicationFetchError',\n ApplicationExecuteError = 'ApplicationExecuteError',\n ApplicationWasRemoved = 'ApplicationWasRemoved',\n UndefinedApiMethod = 'UndefinedApiMethod',\n ApplicationIsNotMutable = 'ApplicationIsNotMutable',\n FailedToGetPrivateAPI = 'FailedToGetPrivateAPI',\n ClientAuthError = 'ClientAuthError',\n}\n\nclass EditorPlatformApplicationError extends BaseError<EditorPlatformApplicationErrorCode> {\n state: Partial<{\n url: string;\n appDefinitionId: string;\n apiMethod: string;\n apiType: string;\n }> = {};\n\n constructor(message: string, code: EditorPlatformApplicationErrorCode) {\n super(message, code, 'Editor Platform Application Error');\n }\n\n withUrl(url: string) {\n this.state = { ...this.state, url };\n return this;\n }\n\n withAppDefinitionId(appDefinitionId: string) {\n this.state = { ...this.state, appDefinitionId };\n return this;\n }\n\n withApiMethod(apiMethod: string) {\n this.state = { ...this.state, apiMethod };\n return this;\n }\n\n withApiType(apiType: string) {\n this.state = { ...this.state, apiType };\n return this;\n }\n}\n\nexport const createEditorPlatformApplicationError = createErrorBuilder<\n EditorPlatformApplicationErrorCode,\n EditorPlatformApplicationError\n>(EditorPlatformApplicationError);\n","import {\n PlatformAppEvent,\n PlatformAppEventEmitter,\n} from '@wix/public-editor-platform-events';\nimport {\n APPLICATION_CONTEXT_KEY,\n EnvironmentContext,\n ApplicationContext,\n} from '@wix/editor-application-context';\n\nimport type { EditorPlatformApplication } from '../EditorPlatformApplication';\nimport {\n createEditorPlatformApplicationError,\n EditorPlatformApplicationErrorCode,\n} from '../errors';\nimport { IApplicationSpec } from '../types';\nimport { WixClient } from '@wix/sdk';\n\nexport const APPLICATION_REGISTRY_KEY = '__APPLICATION_REGISTRY_KEY';\n\nexport type IApplicationRegistry = (\n _instance: EditorPlatformApplication,\n) => void;\n\nexport async function executeApplication(\n events: PlatformAppEventEmitter,\n client: WixClient,\n spec: IApplicationSpec,\n bundle: string,\n): Promise<{\n instance: EditorPlatformApplication;\n}> {\n // eslint-disable-next-line no-new-func\n const executable = new Function(\n '$wixContext',\n APPLICATION_CONTEXT_KEY,\n APPLICATION_REGISTRY_KEY,\n bundle,\n );\n\n let instance: EditorPlatformApplication | undefined;\n\n const applicationRegistryCallback: IApplicationRegistry = (_instance) => {\n if (instance) {\n throw createEditorPlatformApplicationError(\n EditorPlatformApplicationErrorCode.ApplicationExecuteError,\n 'Application registry called more than once',\n ).withAppDefinitionId(spec.appDefinitionId);\n }\n\n if (_instance.type !== spec.type) {\n throw createEditorPlatformApplicationError(\n EditorPlatformApplicationErrorCode.ApplicationExecuteError,\n 'Application has different type',\n )\n .withMessage('expected type', spec.type)\n .withMessage('received type', _instance.type);\n }\n\n instance = _instance;\n };\n\n try {\n const context = { ...spec };\n\n executable.call(\n { client },\n new ApplicationContext(context, await EnvironmentContext.getInstance()),\n applicationRegistryCallback,\n );\n } catch (e: unknown) {\n throw createEditorPlatformApplicationError(\n EditorPlatformApplicationErrorCode.ApplicationExecuteError,\n (e as Error).message,\n )\n .withAppDefinitionId(spec.appDefinitionId)\n .withParentError(e as Error);\n }\n\n return new Promise((resolve, reject) => {\n const unsubscribe = events.subscribe((event) => {\n const timeoutId = setTimeout(() => {\n clearTimeout(timeoutId);\n unsubscribe();\n\n if (!instance) {\n reject(\n createEditorPlatformApplicationError(\n EditorPlatformApplicationErrorCode.ApplicationExecuteError,\n 'Application registry was not called, threw by timeout',\n ).withAppDefinitionId(spec.appDefinitionId),\n );\n }\n }, 5000);\n\n if (\n event.type === PlatformAppEvent.ApplicationInit &&\n event.meta.appDefinitionId === spec.appDefinitionId\n ) {\n clearTimeout(timeoutId);\n unsubscribe();\n\n if (!instance) {\n reject(\n createEditorPlatformApplicationError(\n EditorPlatformApplicationErrorCode.ApplicationExecuteError,\n 'Application registry was not called',\n ).withAppDefinitionId(spec.appDefinitionId),\n );\n }\n\n resolve({ instance: instance! });\n }\n });\n });\n}\n","import {\n PlatformAppEvent,\n PlatformAppEventEmitter,\n} from '@wix/public-editor-platform-events';\nimport { EventType } from '@wix/public-editor-platform-interfaces';\nimport {\n createEditorPlatformApplicationError,\n EditorPlatformApplicationErrorCode,\n} from '../errors';\nimport { EditorPlatformApplication } from '../EditorPlatformApplication';\nimport type { IApplicationSpec, IPrivateAPIFixMe } from '../types';\nimport { executeApplication } from './executeApplication';\nimport { createClient } from '@wix/sdk';\nimport {\n ApplicationContext,\n EnvironmentContext,\n PlatformEnvironment,\n auth,\n createSDKHost,\n} from '@wix/editor-application-context';\n\nexport class PlatformApplicationContainer {\n #apps: Record<string, EditorPlatformApplication> = {};\n\n readonly #privateAPI: IPrivateAPIFixMe;\n readonly #events: PlatformAppEventEmitter;\n\n constructor(privateApi: IPrivateAPIFixMe, events: PlatformAppEventEmitter) {\n this.#privateAPI = privateApi;\n this.#events = events;\n\n this.#events.subscribe((event) => {\n switch (event.type) {\n case PlatformAppEvent.HostEvent: {\n if (event.payload.type === EventType.removeAppCompleted) {\n void this.#events.withEvent(\n this.#events.factories.createApplicationRemovedEvent(\n event.payload.appDefinitionId!,\n ),\n () => {\n return this.removeApplication(event.payload.appDefinitionId!);\n },\n );\n }\n break;\n }\n }\n });\n }\n\n public async runApplication(app: IApplicationSpec) {\n const bundle = await this.loadApplication(app);\n const instance = await this.executeApplication(app, bundle);\n\n this.setApplication(app.appDefinitionId, instance);\n\n return instance;\n }\n\n private setApplication(\n appDefId: string,\n instance: EditorPlatformApplication,\n ) {\n this.#apps[appDefId] = instance;\n\n void this.#events.withEvent(\n this.#events.factories.createApplicationApiInitEvent(\n appDefId,\n // TODO: both types are set here...\n // @ts-expect-error TODO: fix me\n instance?.api?.private ? 'private' : 'public',\n ),\n () => {\n // NOTE: sometimes I saw this method was called while application was not executed\n this.#privateAPI.applicationManager.setApplication(instance);\n },\n );\n }\n\n public getApplication(appDefId: string) {\n return this.#apps[appDefId];\n }\n\n public getAppDefinitionIds() {\n return Object.keys(this.#apps);\n }\n\n private removeApplication(appDefinitionId: string) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete this.#apps[appDefinitionId];\n }\n\n private async loadApplication(app: IApplicationSpec) {\n const url = app.url;\n\n return this.#events.withEvent(\n this.#events.factories.createApplicationLoadEvent(app, url),\n\n async () => {\n try {\n return await this.loadApplicationBundle(url);\n } catch (e) {\n throw createEditorPlatformApplicationError(\n EditorPlatformApplicationErrorCode.ApplicationLoadError,\n )\n .withUrl(url)\n .withAppDefinitionId(app.appDefinitionId)\n .withParentError(e as any);\n }\n },\n );\n }\n\n private async loadApplicationBundle(url: string) {\n /**\n * NOTE: we don't use wix http client here\n * because this code is public, while http client is private\n */\n const res = await fetch('url', {\n method: 'GET',\n });\n\n const isSuccessfulResponse = res.status >= 200 && res.status <= 299;\n\n if (!isSuccessfulResponse) {\n throw createEditorPlatformApplicationError(\n EditorPlatformApplicationErrorCode.ApplicationFetchError,\n ).withUrl(url);\n }\n\n return res.text();\n }\n\n private async executeApplication(app: IApplicationSpec, bundle: string) {\n return this.#events.withEvent(\n this.#events.factories.createApplicationExecuteEvent(app, app.url),\n async () => {\n const client = this.#createWixClient(app.appDefinitionId);\n\n const { instance } = await executeApplication(\n this.#events,\n client,\n app,\n bundle,\n );\n return instance;\n },\n );\n }\n\n #createWixClient(appDefinitionId: string) {\n return createClient({\n auth: auth(appDefinitionId, this.#privateAPI),\n host: createSDKHost({\n appDefinitionId,\n privateAPI: this.#privateAPI,\n environment: PlatformEnvironment.Worker,\n events: this.#events,\n applicationPrivateAPI: {},\n }),\n });\n }\n}\n","import { IApplicationSpec, IPrivateAPIFixMe } from '../../types';\nimport {\n IPlatformPrivateEvent,\n PlatformAppEventEmitter,\n IPlatformAppEvent,\n} from '@wix/public-editor-platform-events';\n\nimport { WorkerEventsBridge } from '../../Events';\n\nimport { PlatformApplicationContainer } from '../../PlatformApplicationContainer';\nimport {\n AbstractEnvironmentAPI,\n PlatformConsumerEnvironmentAPIType,\n} from '../AbstractEnvironmentAPI';\nimport {\n EnvironmentContext,\n PlatformEnvironment,\n} from '@wix/editor-application-context';\n\nexport class PlatformWorkerAPI extends AbstractEnvironmentAPI<PlatformConsumerEnvironmentAPIType.Worker> {\n public type: PlatformConsumerEnvironmentAPIType.Worker =\n PlatformConsumerEnvironmentAPIType.Worker;\n\n #events = new PlatformAppEventEmitter();\n\n #eventsBridge = new WorkerEventsBridge(this.#events);\n #container: PlatformApplicationContainer | null = null;\n #privateAPI: IPrivateAPIFixMe;\n\n #pendingWaiters: ((value: this) => void)[] = [];\n\n constructor() {\n super(PlatformConsumerEnvironmentAPIType.Worker);\n }\n\n create() {}\n\n async initEnvironment(props: {\n // TODO: should be Promise response in types\n buildPrivateAPI: (config: any) => IPrivateAPIFixMe;\n }) {\n const { buildPrivateAPI } = props;\n this.#privateAPI = await buildPrivateAPI({\n // TODO: should be per application (within the container before app execution)\n type: 'EDITOR_ADDON',\n });\n\n await EnvironmentContext.inject({\n environment: PlatformEnvironment.Worker,\n events: this.#events,\n privateApi: this.#privateAPI,\n applicationAPIs: {},\n });\n\n this.#container = new PlatformApplicationContainer(\n this.#privateAPI,\n this.#events,\n );\n\n this.#pendingWaiters.forEach((res) => res(this));\n }\n\n async notify(event: IPlatformPrivateEvent) {\n await this.waitReady();\n\n this.#eventsBridge.notify(event);\n }\n\n subscribe(cb: (event: IPlatformAppEvent) => void) {\n this.#eventsBridge.subscribe(cb);\n }\n\n async runApplication(app: IApplicationSpec) {\n await this.waitReady();\n\n await this.#container!.runApplication(app);\n }\n\n public waitReady(): Promise<this> {\n return new Promise((res) => {\n if (this.#privateAPI) {\n return res(this);\n }\n\n this.#pendingWaiters.push(res);\n });\n }\n}\n","import { WorkerConsumerChannel } from '@wix/editor-platform-transport';\nimport { PlatformWorkerAPI } from './PlatformEnvironmentAPI';\n\nconst channel = new WorkerConsumerChannel();\nchannel.expose(new PlatformWorkerAPI());\n"],"names":["PlatformLifecycleEvent","PlatformAppEvent","PlatformPrivateEvent","PlatformConsumerEnvironmentAPIType","BaseError","createErrorBuilder","PlatformAppEventEmitter","EditorPlatformApplicationErrorCode","EventType","createClient","WorkerConsumerChannel"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/Events/WorkerEventsBridge.ts","../../../src/PlatformEnvironmentAPI/AbstractEnvironmentAPI.ts","../../../../editor-platform-application-context/dist/esm/index.js","../../../src/errors.ts","../../../src/PlatformApplicationContainer/executeApplication.ts","../../../src/PlatformApplicationContainer/PlatformApplicationContainer.ts","../../../src/PlatformEnvironmentAPI/PlatformWorkerAPI/PlatformWorkerAPI.ts","../../../src/platform-worker.ts"],"sourcesContent":["import {\n IPlatformPrivateEvent,\n PlatformLifecycleEvent,\n PlatformPrivateEvent,\n // --\n IPlatformAppEvent,\n PlatformAppEvent,\n PlatformAppEventEmitter,\n} from '@wix/public-editor-platform-events';\n\n/**\n * The events bridge between platform events (private) and app events\n */\nexport class WorkerEventsBridge {\n constructor(private platformAppEvents: PlatformAppEventEmitter) {}\n\n /**\n * Notify by event from Worker Manager (platform infrastructure)\n */\n public notify(event: IPlatformPrivateEvent) {\n switch (event.type) {\n case PlatformLifecycleEvent.EditorReady:\n this.platformAppEvents.notify({\n ...event,\n // @ts-expect-error TODO: fix me\n type: PlatformAppEvent.EditorReady,\n });\n break;\n case PlatformPrivateEvent.HostEvent:\n this.platformAppEvents.notify({\n ...event,\n type: PlatformAppEvent.HostEvent,\n });\n break;\n }\n }\n\n /**\n * Subscribe to Worker (Application) event\n */\n public subscribe(cb: (event: IPlatformAppEvent) => void) {\n this.platformAppEvents.subscribe((event) => {\n cb(event);\n });\n }\n}\n","export enum PlatformConsumerEnvironmentAPIType {\n Frame = 'PLATFORM_FRAME_API',\n Worker = 'PLATFORM_WORKER_API',\n}\n\n/**\n * rename these entities -> API to Env\n */\nexport abstract class AbstractEnvironmentAPI<\n TEnv extends PlatformConsumerEnvironmentAPIType,\n> {\n /**\n * NOTE: we can't `type` declare getter within current abstract class\n * because then after transferring API between threads this getter becomes promise,\n * which is not expected\n *\n * get type() {\n * return this.env;\n * }\n */\n public abstract type: TEnv;\n\n protected constructor(protected env: TEnv) {\n this.create();\n }\n\n abstract create(): void;\n abstract initEnvironment(props: unknown): void;\n}\n","import { createErrorBuilder, BaseError } from '@wix/public-editor-platform-errors';\nimport { PlatformAppEvent } from '@wix/public-editor-platform-events';\n\nvar EditorPlatformApplicationContextErrorCode = /* @__PURE__ */ ((EditorPlatformApplicationContextErrorCode2) => {\n EditorPlatformApplicationContextErrorCode2[\"IncorrectEnvironment\"] = \"IncorrectEnvironment\";\n EditorPlatformApplicationContextErrorCode2[\"ClientAuthError\"] = \"ClientAuthError\";\n return EditorPlatformApplicationContextErrorCode2;\n})(EditorPlatformApplicationContextErrorCode || {});\nclass EditorPlatformApplicationContextError extends BaseError {\n state = {};\n constructor(message, code) {\n super(message, code, \"Editor Platform Application Context Error\");\n }\n withUrl(url) {\n this.state = { ...this.state, url };\n return this;\n }\n withAppDefinitionId(appDefinitionId) {\n this.state = { ...this.state, appDefinitionId };\n return this;\n }\n}\nconst createEditorPlatformApplicationContextError = createErrorBuilder(EditorPlatformApplicationContextError);\n\nasync function transformEventPayload(eventPayload, privateAPI) {\n if (!eventPayload?.type) {\n return eventPayload;\n }\n switch (eventPayload.type) {\n case \"componentSelectionChanged\":\n const componentRefs = eventPayload.componentRefs || [];\n const components = await Promise.all(\n componentRefs.map((ref) => {\n return privateAPI.components.getComponent(ref);\n })\n );\n return {\n type: eventPayload.type,\n components\n };\n default:\n return eventPayload;\n }\n}\n\nclass ApplicationBoundEvents {\n constructor(appDefinitionId, events, privateAPI) {\n this.appDefinitionId = appDefinitionId;\n this.privateAPI = privateAPI;\n this.events = events;\n this.subscribe = events.subscribe.bind(events);\n this.commit = events.commit.bind(events);\n this.startTransaction = events.startTransaction.bind(events);\n this.silent = events.silent.bind(events);\n }\n events;\n subscribe;\n commit;\n startTransaction;\n silent;\n notify(event) {\n this.events.notify({\n type: event.type,\n payload: event.payload,\n meta: {\n appDefinitionId: this.appDefinitionId\n }\n });\n }\n notifyCustomEvent(type, payload) {\n this.notify({\n type: PlatformAppEvent.CustomEvent,\n payload: {\n ...payload,\n type\n }\n });\n }\n /**\n * TODO: we should use same interface for all events\n * (subscribe vs addEventListener)\n */\n addEventListener(eventType, fn) {\n return this.events.subscribe(async (event) => {\n const isAppMatch = event.meta?.appDefinitionId === this.appDefinitionId || event.meta?.appDefinitionId === null;\n const transformPayload = () => transformEventPayload(event.payload, this.privateAPI);\n if (eventType === \"*\") {\n fn(await transformPayload());\n } else if (event.type === PlatformAppEvent.CustomEvent) {\n if (eventType === event.payload?.type && !isAppMatch) {\n fn(await transformPayload());\n }\n } else if (event.type === PlatformAppEvent.HostEvent) {\n if (eventType === event.payload?.type && isAppMatch) {\n fn(await transformPayload());\n }\n }\n });\n }\n}\n\nconst WAIT_INJECTED_TIMEOUT = 200;\nconst WAIT_INJECTED_RETRY_COUNT = 50;\nclass ContextInjectionStatus {\n _resolveContextInjected = () => {\n };\n _isInjected = false;\n key;\n constructor(uuid) {\n this.key = `__${uuid}_CONTEXT_INJECTION_STATUS_KEY`;\n if (!globalThis[this.key]) {\n globalThis[this.key] = new Promise((resolve) => {\n this._resolveContextInjected = () => {\n this._isInjected = true;\n resolve();\n };\n });\n }\n }\n isInjected() {\n return !!this._isInjected;\n }\n resolveInjected() {\n this._resolveContextInjected?.();\n }\n waitInjected() {\n return new Promise((resolve, reject) => {\n let injected = false;\n let timeoutId;\n let retryCount = 0;\n const timeout = () => {\n if (injected) {\n return;\n }\n timeoutId = setTimeout(() => {\n retryCount++;\n if (retryCount < WAIT_INJECTED_RETRY_COUNT) {\n if (retryCount % 10 === 0) {\n console.log(\n createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"contexts are not resolved, still re-trying\"\n ).withMessage(`try number ${retryCount}`).message\n );\n }\n timeout();\n return;\n }\n if (!injected) {\n const error = createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"contexts are not resolved, threw by timeout\"\n );\n reject(error);\n }\n }, WAIT_INJECTED_TIMEOUT);\n };\n timeout();\n const _waitContextInjectedPromise = globalThis[this.key];\n _waitContextInjectedPromise.then(() => {\n injected = true;\n clearTimeout(timeoutId);\n resolve();\n });\n });\n }\n}\n\nconst ENVIRONMENT_CONTEXT_KEY = \"__ENVIRONMENT_CONTEXT_KEY\";\nvar PlatformEnvironment = /* @__PURE__ */ ((PlatformEnvironment2) => {\n PlatformEnvironment2[\"Worker\"] = \"Worker\";\n PlatformEnvironment2[\"Frame\"] = \"Frame\";\n PlatformEnvironment2[\"ComponentPanel\"] = \"ComponentPanel\";\n return PlatformEnvironment2;\n})(PlatformEnvironment || {});\nclass EnvironmentContext {\n constructor(environmentContext) {\n this.environmentContext = environmentContext;\n }\n static status = new ContextInjectionStatus(\"environment\");\n static async inject(context) {\n if (globalThis[ENVIRONMENT_CONTEXT_KEY]) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Environment context already exists and should not be overridden\"\n );\n }\n globalThis[ENVIRONMENT_CONTEXT_KEY] = new EnvironmentContext(context);\n this.status.resolveInjected();\n }\n static async getInstance() {\n await this.status.waitInjected();\n return globalThis[ENVIRONMENT_CONTEXT_KEY];\n }\n getPrivateAPI() {\n return this.environmentContext.privateApi;\n }\n getEvents() {\n return this.environmentContext.events;\n }\n getApplicationAPIs() {\n return this.environmentContext.applicationAPIs ?? {};\n }\n getEnvironment() {\n return this.environmentContext.environment;\n }\n}\n\nconst APPLICATION_CONTEXT_KEY = \"__APPLICATION_CONTEXT_KEY\";\nclass ApplicationContext {\n constructor(applicationContext, environment) {\n this.applicationContext = applicationContext;\n this.environment = environment;\n this.events = new ApplicationBoundEvents(\n this.applicationContext.appDefinitionId,\n this.environment.getEvents(),\n this.environment.getPrivateAPI()\n );\n }\n static status = new ContextInjectionStatus(\"application\");\n /**\n * TODO: use generics for context type\n * - application\n * - editor\n */\n static async inject(context) {\n const environment = await EnvironmentContext.getInstance();\n if (environment.getEnvironment() !== PlatformEnvironment.Frame) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Application context can be injected only in frame environment\"\n );\n }\n if (globalThis[APPLICATION_CONTEXT_KEY]) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Application context already exists and should not be overridden\"\n );\n }\n globalThis[APPLICATION_CONTEXT_KEY] = new ApplicationContext(\n context,\n await EnvironmentContext.getInstance()\n );\n this.status.resolveInjected();\n }\n static async getInstance() {\n const environment = await EnvironmentContext.getInstance();\n if (environment.getEnvironment() === PlatformEnvironment.Frame) {\n await this.status.waitInjected();\n return globalThis[APPLICATION_CONTEXT_KEY];\n } else {\n return __APPLICATION_CONTEXT_KEY;\n }\n }\n events;\n getAppDefinitionId() {\n return this.applicationContext.appDefinitionId;\n }\n getBindings() {\n return this.applicationContext;\n }\n getEvents() {\n return this.events;\n }\n getPrivateAPI() {\n return this.environment.getPrivateAPI();\n }\n getPrivateApplicationAPI() {\n const appDefinitionId = this.getAppDefinitionId();\n if (!appDefinitionId) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"appDefinitionId is not available\"\n );\n }\n return this.environment.getApplicationAPIs()[appDefinitionId];\n }\n}\n\nconst auth = (appDefinitionId, privateAPI) => {\n return {\n getAuthHeaders: async () => {\n if (!appDefinitionId) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.ClientAuthError\n );\n }\n const authInstance = await privateAPI.info.getAppInstance(appDefinitionId);\n if (authInstance === void 0) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.ClientAuthError,\n \"empty auth instance\"\n ).withAppDefinitionId(appDefinitionId);\n }\n return {\n headers: {\n Authorization: authInstance\n }\n };\n }\n };\n};\n\nexport { APPLICATION_CONTEXT_KEY, ApplicationBoundEvents, ApplicationContext, ENVIRONMENT_CONTEXT_KEY, EnvironmentContext, PlatformEnvironment, auth };\n//# sourceMappingURL=index.js.map\n","import {\n BaseError,\n createErrorBuilder,\n} from '@wix/public-editor-platform-errors';\n\nexport enum EditorPlatformApplicationErrorCode {\n ApplicationRuntimeError = 'ApplicationRuntimeError',\n ApplicationCreationError = 'ApplicationCreationError',\n ApplicationLoadError = 'ApplicationLoadError',\n ApplicationFetchError = 'ApplicationFetchError',\n ApplicationExecuteError = 'ApplicationExecuteError',\n ApplicationWasRemoved = 'ApplicationWasRemoved',\n UndefinedApiMethod = 'UndefinedApiMethod',\n ApplicationIsNotMutable = 'ApplicationIsNotMutable',\n FailedToGetPrivateAPI = 'FailedToGetPrivateAPI',\n ClientAuthError = 'ClientAuthError',\n}\n\nclass EditorPlatformApplicationError extends BaseError<EditorPlatformApplicationErrorCode> {\n state: Partial<{\n url: string;\n appDefinitionId: string;\n apiMethod: string;\n apiType: string;\n }> = {};\n\n constructor(message: string, code: EditorPlatformApplicationErrorCode) {\n super(message, code, 'Editor Platform Application Error');\n }\n\n withUrl(url: string) {\n this.state = { ...this.state, url };\n return this;\n }\n\n withAppDefinitionId(appDefinitionId: string) {\n this.state = { ...this.state, appDefinitionId };\n return this;\n }\n\n withApiMethod(apiMethod: string) {\n this.state = { ...this.state, apiMethod };\n return this;\n }\n\n withApiType(apiType: string) {\n this.state = { ...this.state, apiType };\n return this;\n }\n}\n\nexport const createEditorPlatformApplicationError = createErrorBuilder<\n EditorPlatformApplicationErrorCode,\n EditorPlatformApplicationError\n>(EditorPlatformApplicationError);\n","import {\n PlatformAppEvent,\n PlatformAppEventEmitter,\n} from '@wix/public-editor-platform-events';\nimport {\n APPLICATION_CONTEXT_KEY,\n EnvironmentContext,\n ApplicationContext,\n} from '@wix/editor-application-context';\n\nimport type { EditorPlatformApplication } from '../EditorPlatformApplication';\nimport {\n createEditorPlatformApplicationError,\n EditorPlatformApplicationErrorCode,\n} from '../errors';\nimport { IApplicationSpec } from '../types';\n\nexport const APPLICATION_REGISTRY_KEY = '__APPLICATION_REGISTRY_KEY';\n\nexport type IApplicationRegistry = (\n _instance: EditorPlatformApplication,\n) => void;\n\nexport async function executeApplication(\n events: PlatformAppEventEmitter,\n spec: IApplicationSpec,\n bundle: string,\n): Promise<{\n instance: EditorPlatformApplication;\n}> {\n // eslint-disable-next-line no-new-func\n const executable = new Function(\n APPLICATION_CONTEXT_KEY,\n APPLICATION_REGISTRY_KEY,\n bundle,\n );\n\n let instance: EditorPlatformApplication | undefined;\n\n const applicationRegistryCallback: IApplicationRegistry = (_instance) => {\n if (instance) {\n throw createEditorPlatformApplicationError(\n EditorPlatformApplicationErrorCode.ApplicationExecuteError,\n 'Application registry called more than once',\n ).withAppDefinitionId(spec.appDefinitionId);\n }\n\n if (_instance.type !== spec.type) {\n throw createEditorPlatformApplicationError(\n EditorPlatformApplicationErrorCode.ApplicationExecuteError,\n 'Application has different type',\n )\n .withMessage('expected type', spec.type)\n .withMessage('received type', _instance.type);\n }\n\n instance = _instance;\n };\n\n try {\n const context = { ...spec };\n\n executable.call(\n new ApplicationContext(context, await EnvironmentContext.getInstance()),\n applicationRegistryCallback,\n );\n } catch (e: unknown) {\n throw createEditorPlatformApplicationError(\n EditorPlatformApplicationErrorCode.ApplicationExecuteError,\n (e as Error).message,\n )\n .withAppDefinitionId(spec.appDefinitionId)\n .withParentError(e as Error);\n }\n\n return new Promise((resolve, reject) => {\n const unsubscribe = events.subscribe((event) => {\n const timeoutId = setTimeout(() => {\n clearTimeout(timeoutId);\n unsubscribe();\n\n if (!instance) {\n reject(\n createEditorPlatformApplicationError(\n EditorPlatformApplicationErrorCode.ApplicationExecuteError,\n 'Application registry was not called, threw by timeout',\n ).withAppDefinitionId(spec.appDefinitionId),\n );\n }\n }, 5000);\n\n if (\n event.type === PlatformAppEvent.ApplicationInit &&\n event.meta.appDefinitionId === spec.appDefinitionId\n ) {\n clearTimeout(timeoutId);\n unsubscribe();\n\n if (!instance) {\n reject(\n createEditorPlatformApplicationError(\n EditorPlatformApplicationErrorCode.ApplicationExecuteError,\n 'Application registry was not called',\n ).withAppDefinitionId(spec.appDefinitionId),\n );\n }\n\n resolve({ instance: instance! });\n }\n });\n });\n}\n","import {\n PlatformAppEvent,\n PlatformAppEventEmitter,\n} from '@wix/public-editor-platform-events';\nimport { EventType } from '@wix/public-editor-platform-interfaces';\nimport {\n createEditorPlatformApplicationError,\n EditorPlatformApplicationErrorCode,\n} from '../errors';\nimport { EditorPlatformApplication } from '../EditorPlatformApplication';\nimport type { IApplicationSpec, IPrivateAPIFixMe } from '../types';\nimport { executeApplication } from './executeApplication';\n\nexport class PlatformApplicationContainer {\n #apps: Record<string, EditorPlatformApplication> = {};\n\n readonly #privateAPI: IPrivateAPIFixMe;\n readonly #events: PlatformAppEventEmitter;\n\n constructor(privateApi: IPrivateAPIFixMe, events: PlatformAppEventEmitter) {\n this.#privateAPI = privateApi;\n this.#events = events;\n\n this.#events.subscribe((event) => {\n switch (event.type) {\n case PlatformAppEvent.HostEvent: {\n if (event.payload.type === EventType.removeAppCompleted) {\n void this.#events.withEvent(\n this.#events.factories.createApplicationRemovedEvent(\n event.payload.appDefinitionId!,\n ),\n () => {\n return this.removeApplication(event.payload.appDefinitionId!);\n },\n );\n }\n break;\n }\n }\n });\n }\n\n public async runApplication(app: IApplicationSpec) {\n const bundle = await this.loadApplication(app);\n const instance = await this.executeApplication(app, bundle);\n\n this.setApplication(app.appDefinitionId, instance);\n\n return instance;\n }\n\n private setApplication(\n appDefId: string,\n instance: EditorPlatformApplication,\n ) {\n this.#apps[appDefId] = instance;\n\n void this.#events.withEvent(\n this.#events.factories.createApplicationApiInitEvent(\n appDefId,\n // TODO: both types are set here...\n // @ts-expect-error TODO: fix me\n instance?.api?.private ? 'private' : 'public',\n ),\n () => {\n // NOTE: sometimes I saw this method was called while application was not executed\n this.#privateAPI.applicationManager.setApplication(instance);\n },\n );\n }\n\n public getApplication(appDefId: string) {\n return this.#apps[appDefId];\n }\n\n public getAppDefinitionIds() {\n return Object.keys(this.#apps);\n }\n\n private removeApplication(appDefinitionId: string) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete this.#apps[appDefinitionId];\n }\n\n private async loadApplication(app: IApplicationSpec) {\n const url = app.url;\n\n return this.#events.withEvent(\n this.#events.factories.createApplicationLoadEvent(app, url),\n\n async () => {\n try {\n return await this.loadApplicationBundle(url);\n } catch (e) {\n throw createEditorPlatformApplicationError(\n EditorPlatformApplicationErrorCode.ApplicationLoadError,\n )\n .withUrl(url)\n .withAppDefinitionId(app.appDefinitionId)\n .withParentError(e as any);\n }\n },\n );\n }\n\n private async loadApplicationBundle(url: string) {\n /**\n * NOTE: we don't use wix http client here\n * because this code is public, while http client is private\n */\n const res = await fetch('url', {\n method: 'GET',\n });\n\n const isSuccessfulResponse = res.status >= 200 && res.status <= 299;\n\n if (!isSuccessfulResponse) {\n throw createEditorPlatformApplicationError(\n EditorPlatformApplicationErrorCode.ApplicationFetchError,\n ).withUrl(url);\n }\n\n return res.text();\n }\n\n private async executeApplication(app: IApplicationSpec, bundle: string) {\n return this.#events.withEvent(\n this.#events.factories.createApplicationExecuteEvent(app, app.url),\n async () => {\n const { instance } = await executeApplication(\n this.#events,\n app,\n bundle,\n );\n return instance;\n },\n );\n }\n}\n","import { IApplicationSpec, IPrivateAPIFixMe } from '../../types';\nimport {\n IPlatformPrivateEvent,\n PlatformAppEventEmitter,\n IPlatformAppEvent,\n} from '@wix/public-editor-platform-events';\n\nimport { WorkerEventsBridge } from '../../Events';\n\nimport { PlatformApplicationContainer } from '../../PlatformApplicationContainer';\nimport {\n AbstractEnvironmentAPI,\n PlatformConsumerEnvironmentAPIType,\n} from '../AbstractEnvironmentAPI';\nimport {\n EnvironmentContext,\n PlatformEnvironment,\n} from '@wix/editor-application-context';\n\nexport class PlatformWorkerAPI extends AbstractEnvironmentAPI<PlatformConsumerEnvironmentAPIType.Worker> {\n public type: PlatformConsumerEnvironmentAPIType.Worker =\n PlatformConsumerEnvironmentAPIType.Worker;\n\n #events = new PlatformAppEventEmitter();\n\n #eventsBridge = new WorkerEventsBridge(this.#events);\n #container: PlatformApplicationContainer | null = null;\n #privateAPI: IPrivateAPIFixMe;\n\n #pendingWaiters: ((value: this) => void)[] = [];\n\n constructor() {\n super(PlatformConsumerEnvironmentAPIType.Worker);\n }\n\n create() {}\n\n async initEnvironment(props: {\n // TODO: should be Promise response in types\n buildPrivateAPI: (config: any) => IPrivateAPIFixMe;\n }) {\n const { buildPrivateAPI } = props;\n this.#privateAPI = await buildPrivateAPI({\n // TODO: should be per application (within the container before app execution)\n type: 'EDITOR_ADDON',\n });\n\n await EnvironmentContext.inject({\n environment: PlatformEnvironment.Worker,\n events: this.#events,\n privateApi: this.#privateAPI,\n applicationAPIs: {},\n });\n\n this.#container = new PlatformApplicationContainer(\n this.#privateAPI,\n this.#events,\n );\n\n this.#pendingWaiters.forEach((res) => res(this));\n }\n\n async notify(event: IPlatformPrivateEvent) {\n await this.waitReady();\n\n this.#eventsBridge.notify(event);\n }\n\n subscribe(cb: (event: IPlatformAppEvent) => void) {\n this.#eventsBridge.subscribe(cb);\n }\n\n async runApplication(app: IApplicationSpec) {\n await this.waitReady();\n\n await this.#container!.runApplication(app);\n }\n\n public waitReady(): Promise<this> {\n return new Promise((res) => {\n if (this.#privateAPI) {\n return res(this);\n }\n\n this.#pendingWaiters.push(res);\n });\n }\n}\n","import { WorkerConsumerChannel } from '@wix/editor-platform-transport';\nimport { PlatformWorkerAPI } from './PlatformEnvironmentAPI';\n\nconst channel = new WorkerConsumerChannel();\nchannel.expose(new PlatformWorkerAPI());\n"],"names":["PlatformLifecycleEvent","PlatformAppEvent","PlatformPrivateEvent","PlatformConsumerEnvironmentAPIType","BaseError","createErrorBuilder","EditorPlatformApplicationErrorCode","EventType","PlatformAppEventEmitter","WorkerConsumerChannel"],"mappings":"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"}
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
var publicEditorPlatformEvents = require('@wix/public-editor-platform-events');
|
|
4
4
|
var publicEditorPlatformErrors = require('@wix/public-editor-platform-errors');
|
|
5
5
|
var publicEditorPlatformInterfaces = require('@wix/public-editor-platform-interfaces');
|
|
6
|
-
var sdk = require('@wix/sdk');
|
|
7
6
|
|
|
8
7
|
class WorkerEventsBridge {
|
|
9
8
|
constructor(platformAppEvents) {
|
|
@@ -309,59 +308,6 @@ class ApplicationContext {
|
|
|
309
308
|
return this.environment.getApplicationAPIs()[appDefinitionId];
|
|
310
309
|
}
|
|
311
310
|
}
|
|
312
|
-
const createSDKHost = (props) => {
|
|
313
|
-
const environmentContext = new EnvironmentContext({
|
|
314
|
-
environment: props.environment,
|
|
315
|
-
privateApi: props.privateAPI,
|
|
316
|
-
events: props.events ?? new publicEditorPlatformEvents.PlatformAppEventEmitter(),
|
|
317
|
-
applicationAPIs: props.applicationPrivateAPI ? {
|
|
318
|
-
[props.appDefinitionId]: props.applicationPrivateAPI
|
|
319
|
-
} : {}
|
|
320
|
-
});
|
|
321
|
-
const applicationContext = new ApplicationContext(
|
|
322
|
-
{
|
|
323
|
-
appDefinitionId: props.appDefinitionId,
|
|
324
|
-
appDefinitionName: ""
|
|
325
|
-
},
|
|
326
|
-
environmentContext
|
|
327
|
-
);
|
|
328
|
-
return {
|
|
329
|
-
environment: {},
|
|
330
|
-
channel: {
|
|
331
|
-
observeState: async () => {
|
|
332
|
-
return {
|
|
333
|
-
disconnect() {
|
|
334
|
-
}
|
|
335
|
-
};
|
|
336
|
-
}
|
|
337
|
-
},
|
|
338
|
-
environmentContext,
|
|
339
|
-
applicationContext
|
|
340
|
-
};
|
|
341
|
-
};
|
|
342
|
-
const auth = (appDefinitionId, privateAPI) => {
|
|
343
|
-
return {
|
|
344
|
-
getAuthHeaders: async () => {
|
|
345
|
-
if (!appDefinitionId) {
|
|
346
|
-
throw createEditorPlatformApplicationContextError(
|
|
347
|
-
EditorPlatformApplicationContextErrorCode.ClientAuthError
|
|
348
|
-
);
|
|
349
|
-
}
|
|
350
|
-
const authInstance = await privateAPI.info.getAppInstance(appDefinitionId);
|
|
351
|
-
if (authInstance === void 0) {
|
|
352
|
-
throw createEditorPlatformApplicationContextError(
|
|
353
|
-
EditorPlatformApplicationContextErrorCode.ClientAuthError,
|
|
354
|
-
"empty auth instance"
|
|
355
|
-
).withAppDefinitionId(appDefinitionId);
|
|
356
|
-
}
|
|
357
|
-
return {
|
|
358
|
-
headers: {
|
|
359
|
-
Authorization: authInstance
|
|
360
|
-
}
|
|
361
|
-
};
|
|
362
|
-
}
|
|
363
|
-
};
|
|
364
|
-
};
|
|
365
311
|
|
|
366
312
|
var EditorPlatformApplicationErrorCode = /* @__PURE__ */ ((EditorPlatformApplicationErrorCode2) => {
|
|
367
313
|
EditorPlatformApplicationErrorCode2["ApplicationRuntimeError"] = "ApplicationRuntimeError";
|
|
@@ -401,9 +347,8 @@ class EditorPlatformApplicationError extends publicEditorPlatformErrors.BaseErro
|
|
|
401
347
|
const createEditorPlatformApplicationError = publicEditorPlatformErrors.createErrorBuilder(EditorPlatformApplicationError);
|
|
402
348
|
|
|
403
349
|
const APPLICATION_REGISTRY_KEY = "__APPLICATION_REGISTRY_KEY";
|
|
404
|
-
async function executeApplication(events,
|
|
350
|
+
async function executeApplication(events, spec, bundle) {
|
|
405
351
|
const executable = new Function(
|
|
406
|
-
"$wixContext",
|
|
407
352
|
APPLICATION_CONTEXT_KEY,
|
|
408
353
|
APPLICATION_REGISTRY_KEY,
|
|
409
354
|
bundle
|
|
@@ -427,7 +372,6 @@ async function executeApplication(events, client, spec, bundle) {
|
|
|
427
372
|
try {
|
|
428
373
|
const context = { ...spec };
|
|
429
374
|
executable.call(
|
|
430
|
-
{ client },
|
|
431
375
|
new ApplicationContext(context, await EnvironmentContext.getInstance()),
|
|
432
376
|
applicationRegistryCallback
|
|
433
377
|
);
|
|
@@ -553,10 +497,8 @@ class PlatformApplicationContainer {
|
|
|
553
497
|
return this.#events.withEvent(
|
|
554
498
|
this.#events.factories.createApplicationExecuteEvent(app, app.url),
|
|
555
499
|
async () => {
|
|
556
|
-
const client = this.#createWixClient(app.appDefinitionId);
|
|
557
500
|
const { instance } = await executeApplication(
|
|
558
501
|
this.#events,
|
|
559
|
-
client,
|
|
560
502
|
app,
|
|
561
503
|
bundle
|
|
562
504
|
);
|
|
@@ -564,18 +506,6 @@ class PlatformApplicationContainer {
|
|
|
564
506
|
}
|
|
565
507
|
);
|
|
566
508
|
}
|
|
567
|
-
#createWixClient(appDefinitionId) {
|
|
568
|
-
return sdk.createClient({
|
|
569
|
-
auth: auth(appDefinitionId, this.#privateAPI),
|
|
570
|
-
host: createSDKHost({
|
|
571
|
-
appDefinitionId,
|
|
572
|
-
privateAPI: this.#privateAPI,
|
|
573
|
-
environment: PlatformEnvironment.Worker,
|
|
574
|
-
events: this.#events,
|
|
575
|
-
applicationPrivateAPI: {}
|
|
576
|
-
})
|
|
577
|
-
});
|
|
578
|
-
}
|
|
579
509
|
}
|
|
580
510
|
|
|
581
511
|
var PlatformConsumerEnvironmentAPIType = /* @__PURE__ */ ((PlatformConsumerEnvironmentAPIType2) => {
|