@enspirit/emb
Version:
A replacement for our Makefile-for-monorepos
24 lines (23 loc) • 857 B
JavaScript
export * from './AutoDockerPlugin.js';
export * from './DotEnvPlugin.js';
export * from './EmbfileLoaderPlugin.js';
import { AutoDockerPlugin } from './AutoDockerPlugin.js';
import { DotEnvPlugin } from './DotEnvPlugin.js';
import { EmbfileLoaderPlugin } from './EmbfileLoaderPlugin.js';
const PluginRegistry = new Map();
export const registerPlugin = (plugin) => {
if (PluginRegistry.has(plugin.name)) {
throw new Error(`Plugin name confict: '${plugin.name}' already registered`);
}
PluginRegistry.set(plugin.name, plugin);
};
export const getPlugin = (name) => {
if (!PluginRegistry.has(name)) {
throw new Error(`Unknown plugin: ${name}`);
}
return PluginRegistry.get(name);
};
/** Not sure why we need casting */
registerPlugin(AutoDockerPlugin);
registerPlugin(DotEnvPlugin);
registerPlugin(EmbfileLoaderPlugin);