@enspirit/emb
Version:
A replacement for our Makefile-for-monorepos
27 lines (26 loc) • 968 B
JavaScript
export * from './AutoDockerPlugin.js';
export * from './DotEnvPlugin.js';
export * from './EmbfileLoaderPlugin.js';
export * from './VaultPlugin.js';
import { AutoDockerPlugin } from './AutoDockerPlugin.js';
import { DotEnvPlugin } from './DotEnvPlugin.js';
import { EmbfileLoaderPlugin } from './EmbfileLoaderPlugin.js';
import { VaultPlugin } from './VaultPlugin.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);
registerPlugin(VaultPlugin);