The Frame plugin replies with source data from other plugins in the lineup. In this example we look for "marker-source" offered by the Map plugin and a few others.
function sources(topic) { const action = 'requestSourceData' return new Promise(resolve => { let fn = event => { let {data} = event if (!data.action == action) return window.removeEventListener('message', fn) resolve(data.sources) } window.addEventListener('message', fn) window.parent.postMessage({action, topic},"*") }) }
(async function () { let res = await sources('marker') let json = JSON.stringify(res,null,2) output.innerHTML = `<pre>${json}</pre>` })()
//wiki.ralfbarkow.ch/assets/pages/snippet-template/basicjs.html?snippet-template HEIGHT 400
See Read Assets from Lineup where we discover files.