MCPcopy Create free account
hub / github.com/GrapesJS/react / loadPlugins

Function loadPlugins

packages/grapesjs-react/src/utils/plugins.ts:18–39  ·  view source on GitHub ↗
(plugins: PluginToLoad[])

Source from the content-addressed store, hash-verified

16};
17
18export async function loadPlugins(plugins: PluginToLoad[]) {
19 const scripts = plugins.map(({ id, src }) => ({ id, src }));
20 const pluginsMap = plugins.reduce(
21 (res, item) => {
22 res[item.id] = item;
23 return res;
24 },
25 {} as Record<string, PluginToLoad>
26 );
27 const loaded: PluginToLoad[] = [];
28 const failed: PluginToLoad[] = [];
29 const results = await loadScripts(scripts);
30 results.forEach(result => {
31 if (result.status === 'fulfilled') {
32 loaded.push(pluginsMap[result.value]);
33 } else {
34 failed.push(pluginsMap[result.reason]);
35 }
36 });
37
38 return { loaded, failed };
39}
40
41export const initPlugins = async (plugins: PluginTypeToLoad[]) => {
42 const pluginsToInit = [...plugins];

Callers 1

initPluginsFunction · 0.85

Calls 1

loadScriptsFunction · 0.90

Tested by

no test coverage detected