Lines 249-289javascript
251 return await loadChannelPluginDriver(entry);
254 const id = entry.id ?? channelIdFromPackageName(entry.packageName);
255 const label = entry.label ?? labelFromChannelId(id);
256 const message = error instanceof ChannelPluginConfigError
258 : `Cannot load channel plugin ${entry.packageName}: ${reasonOf(error)}. Install the package or remove it from channels.plugins.`;
259 const code = error instanceof ChannelPluginConfigError ? error.code : "plugin_import_failed";
260 return createUnavailablePluginDriver(id, label, message, {
261 packageName: entry.packageName,
267async function loadChannelPluginDriver(input) {
270 mod = await import(input.packageName);
271 }
MediumDynamic Require
Package source references dynamic require/import behavior.
dist/channel-plugins.jsView on unpkg · L269 273 throw new ChannelPluginConfigError("plugin_import_failed", `Cannot load channel plugin ${input.packageName}: ${reasonOf(error)}. Install the package or remove it from channels.plugins.`, { packageName: input.packageName, ...(input.id === undefined ? {} : { pluginId: input.id }), reason: reasonOf(error) });
275 const factory = channelDriverFactory(mod);
276 if (factory === undefined) {
277 throw malformedPluginExport(input.packageName, input.id);
281 driver = await factory({
282 ...(input.factoryOptions ?? {}),
283 ...(input.id === undefined ? {} : { id: input.id }),
284 ...(input.label === undefined ? {} : { label: input.label }),
285 ...(input.config === undefined ? {} : { config: input.config }),
289 throw new ChannelPluginConfigError("malformed_plugin_export", `Channel plugin ${input.packageName} failed while creating its driver: ${reasonOf(error)}`, { packageName: input.packageName, ...(input.id === undefined ? {} : { pluginId: input.id }), reason: reasonOf(error) });