Socket
Socket
Sign inDemoInstall

@backstage/plugin-events-node

Package Overview
Dependencies
1
Maintainers
3
Versions
592
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @backstage/plugin-events-node

The plugin-events-node module for @backstage/plugin-events-backend


Version published
Maintainers
3
Created

Readme

Source

@backstage/plugin-events-node

This package defined basic types for event-based interactions inside of Backstage.

Additionally, it provides the core event service eventsServiceRef of type EventsService with its default implementation that uses the DefaultEventsService implementation.

DefaultEventsService is a simple in-memory implementation that requires the co-deployment of producers and consumers of events.

Installation

Add @backstage/plugin-events-node as dependency to your plugin or plugin module package to which you want to add event support.

Use eventsServiceRef as a dependency at your plugin or plugin module.

Legacy Backend System

Create an EventsService instance and add it to the environment.

// packages/backend/src/plugins/events.ts
import { DefaultEventsService } from '@backstage/plugin-events-node';

// ...

function makeCreateEnv(config: Config) {
  // ...
  const eventsService = DefaultEventsService.create({ logger: root });
  // ...
  return (plugin: string): PluginEnvironment => {
    // ...
    return {
      // ...
      events: eventsService,
      // ...
    };
  };
}

Use the events from the PluginEnvironment as desired:

// packages/backend/src/plugins/events.ts
export default async function createPlugin(
  env: PluginEnvironment,
): Promise<Router> {
  // ...
  env.events; // ...
  // ...
}

Use Case

Exchange service implementation

Create your custom service factory implementation:

import { eventsServiceRef } from '@backstage/plugin-events-node';
// ...
export const customEventsServiceFactory = createServiceFactory({
  service: eventsServiceRef,
  deps: {
    // add needed dependencies here
  },
  async factory({ logger }) {
    // add your custom logic here
    return customEventsService;
  },
});

and your custom implementation:

// packages/backend/src/index.ts
+  backend.add(customEventsServiceFactory());

FAQs

Last updated on 14 May 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc