23 lines
945 B
JavaScript
23 lines
945 B
JavaScript
|
export default async function fetchKoenigLexical() {
|
||
|
if (window['@tryghost/koenig-lexical']) {
|
||
|
return window['@tryghost/koenig-lexical'];
|
||
|
}
|
||
|
|
||
|
// the manual specification of the protocol in the import template string is
|
||
|
// required to work around ember-auto-import complaining about an unknown dynamic import
|
||
|
// during the build step
|
||
|
const GhostAdmin = window.GhostAdmin || window.Ember.Namespace.NAMESPACES.find(ns => ns.name === 'ghost-admin');
|
||
|
const urlTemplate = GhostAdmin.__container__.lookup('config:main').editor?.url;
|
||
|
const urlVersion = GhostAdmin.__container__.lookup('config:main').editor?.version;
|
||
|
|
||
|
const url = new URL(urlTemplate.replace('{version}', urlVersion));
|
||
|
|
||
|
if (url.protocol === 'http:') {
|
||
|
await import(`http://${url.host}${url.pathname}`);
|
||
|
} else {
|
||
|
await import(`https://${url.host}${url.pathname}`);
|
||
|
}
|
||
|
|
||
|
return window['@tryghost/koenig-lexical'];
|
||
|
}
|