in src/orchestration/Orchestration.ts [330:363]
private initPluginManager(
applicationId: string,
applicationVersion: string
) {
const BUILTIN_PLUGINS: Plugin[] = this.constructBuiltinPlugins();
const PLUGINS: Plugin[] = [
...BUILTIN_PLUGINS,
...this.config.eventPluginsToLoad
];
const pluginContext: PluginContext = {
applicationId,
applicationVersion,
config: this.config,
record: this.eventCache.recordEvent,
recordPageView: this.eventCache.recordPageView,
getSession: this.eventCache.getSession
};
// Initialize PluginManager
const pluginManager: PluginManager = new PluginManager(pluginContext);
// Load page view plugin
if (!this.config.disableAutoPageView) {
pluginManager.addPlugin(new PageViewPlugin());
}
// Load plugins
PLUGINS.forEach((p) => {
pluginManager.addPlugin(p);
});
return pluginManager;
}