Seneca plugins enable you to build awesome microservices, incredibly fast. Some plugins are maintained in-house, while others are provided by the community.
On this page, we provide an npm
link and other important information for any plugins
we find or publish ourselves, so you only need to look in one place.
Disclaimer: seneca-maintain status badge does not include the checks ‘check_default’ and ‘content_gitignore’.
Click to see further description and plugin list
Caching solutions for optimised data storage and retrieval
With these plugins, developers gain access to a variety of caching functionalities to optimize data storage and retrieval, reducing the need to repeatedly fetch data from underlying databases or external services. With these plugins, you can cater to specific scenarios - including general-purpose caching, testing and debugging, and entity-specific caching. As well as this, certain plugins offer integration with popular caching technologies, enabling developers to leverage the power of Memcached or Redis for high-performance caching needs.
Simple Object-Relation Mapping for entity management
The entity family is a collection of plugins designed to enhance entity management capabilities within Seneca applications. These plugins offer a range of functionalities such as caching, dependency management, history tracking, random tagging, and utility functions. By integrating these plugins into your application, developers gain access to powerful tools for creating, manipulating, and managing entities. These tools streamline the process of working with entities by making use of simple Object-Relation mapping.
Creation of gateways for efficient communication between microservices
These plugins offer a range of functionalities for implementing gateway architecture. Developers can establish efficient communication channels between microservices, allowing requests from clients to be seamlessly routed to the appropriate services. The developer can manage user authentication, ensuring secure and controlled access to services. Additionally, there are plugins for popular frameworks such as Express.js and AWS Lambda, enabling seamless integration with existing infrastructure. The gateway plugins equip developers with the tools necessary to build robust gateways that enhance the communication and coordination capabilities of microservices within their Seneca applications.
Capture and manage application logs
This family enables developers to capture, manage, and analyze application logs within Seneca applications. These plugins offer flexibility in choosing different logging strategies and integration options, allowing developers to tailor their logging solutions to meet specific application requirements. These plugins enable the capturing and managing of application logs, as well as facilitating debugging, performance monitoring, and auditing. They allow developers to analyze and gain insights from application logs efficiently.
Executing and testing message-driven workflows
The message family provides tools for implementing and testing message-driven workflows within Seneca applications. Developers can build highly decoupled and scalable systems where components communicate asynchronously. This family provides the necessary infrastructure for handling message routing, flow control, and integration among Seneca services. It also enables developers to write test scenarios and assertions to verify the correct behavior of message passing, ensuring the integrity and reliability of their systems.
Seamless integration with third-party APIs and SDKs
This family offers plugins that cater to a wide range of third-party services, allowing developers to seamlessly integrate and interact with these parties within their Seneca applications. By incorporating a provider plugin, developers can extend the capabilities of their own applications by leveraging the power of a third-party ecosystem. These plugins simplify the integration process, eliminating the need for manual API integrations and providing consistent and standardized interfaces through which to interact with these third parties. Developers can make use of external applications to enhance productivity, automate processes, and leverage different features within their Seneca applications. The provider family opens up a world of possibilities for building powerful and feature-rich applications.
Service registration, discovery, and management in distributed systems
This family offers essential functionality for service registration, discovery, and management in distributed systems using the Seneca framework. This enables developers to register their services with a central registry or service discovery mechanism, facilitating communication and interaction between different components of a distributed system. They provide a standardized approach for locating and connecting to services, ensuring seamless integration and interoperability. By incorporating these plugins, developers can easily manage and scale their distributed applications.
Integrate search functionality
This family enables developers to incorporate search functionality into Seneca applications using different search engines. They enable efficient indexing, querying, and retrieval of data, allowing developers to implement robust search capabilities within their Seneca applications. Developers can enhance their applications with powerful search capabilities, enabling efficient data retrieval, filtering, and discovery.
Data storage and retrieval
Using this family, developers can choose which database and storage technology they want to use within their Seneca application. This means they can leverage the flexibility and scalability of different technologies while working within the Seneca framework. These plugins provide consistent and convenient interfaces for data storage and retrieval, allowing developers to focus on their application logic rather than dealing with low-level database interactions. Whether developers need a NoSQL document database, a relational database, an in-memory store, or a file-based storage solution, this family offers a wide range of options. This flexibility enables developers to choose the most suitable storage technology for their application's specific needs, ensuring optimal performance and scalability.
Performance reporting and data monitoring
This family enables developers to gather and report performance and monitoring data within Seneca applications. They allow developers to monitor and analyze the behavior, performance, and health of their services. They integrate with popular telemetry platforms and services, providing options for data visualization, alerting, and analysis. With these plugins, developers can gain valuable insights into the performance and behavior of their Seneca services.
Testing and quality assurance
This family provides a range of plugins specifically designed for testing and quality assurance purposes in Seneca applications. Each plugin serves a different testing purpose, including cache testing, error handling testing, store testing, transport testing, and message testing, among others. These plugins offer utilities, helpers, and testing frameworks to facilitate the testing process and ensure the reliability and correctness of your application. These plugins provide a standardized and streamlined approach to writing test cases, enabling developers to assess the performance, correctness, and reliability of their codebase.
Communication and messaging between distributed components
This family enables seamless communication and messaging between distributed components or microservices within Seneca applications. These plugins facilitate reliable and efficient message passing, enabling components to exchange data, invoke actions, and coordinate workflows. Developers can build scalable and decoupled architectures, where different components can communicate asynchronously. This asynchronous nature of the messages enhances the flexibility, modularity, and resilience of the overall system architecture.
Authentication, authorisation, and telemetry for the user
This family can handle various user-related functionalities within Seneca applications, such as authentication, authorization, and telemetry. Developers can streamline user management processes and enhance application security. This allows developers to focus on building user-centric features and ensuring a smooth user experience.
Various usecases and functionalities
These plugins don't fit into any predefined family. Click through to their README's for further information.
Integration with popular web frameworks
This family offers adapters for seamless integration of popular web frameworks, allowing developers to build web applications and APIs efficiently. Developers can leverage the capabilities of well-established web frameworks such as Connect, Express, Hapi, and Koa, while benefitting from Seneca's powerful microservice capabilities. These plugins seamlessly combine the power of Seneca with the extensive ecosystem and features offered by popular web frameworks, simplifying the design and development of modular, scalable, and maintainable web architectures. This enables the development of complex, distributed systems without the hassle.
Caching solutions for optimised data storage and retrieval
With these plugins, developers gain access to a variety of caching functionalities to optimize data storage and retrieval, reducing the need to repeatedly fetch data from underlying databases or external services. With these plugins, you can cater to specific scenarios - including general-purpose caching, testing and debugging, and entity-specific caching. As well as this, certain plugins offer integration with popular caching technologies, enabling developers to leverage the power of Memcached or Redis for high-performance caching needs.
In-memory caching plugin for seneca
Standard test cases for seneca caches
Versioned caching plugin for seneca
memcached plugin for seneca
Redis caching plugin for seneca
Simple Object-Relation Mapping for entity management
The entity family is a collection of plugins designed to enhance entity management capabilities within Seneca applications. These plugins offer a range of functionalities such as caching, dependency management, history tracking, random tagging, and utility functions. By integrating these plugins into your application, developers gain access to powerful tools for creating, manipulating, and managing entities. These tools streamline the process of working with entities by making use of simple Object-Relation mapping.
Entity plugin for seneca
Versioned caching plugin for seneca
Adds a random tag to entities on each save, allowing for various caching strategies.
Collection of optional utilities for Seneca entities.
Creation of gateways for efficient communication between microservices
These plugins offer a range of functionalities for implementing gateway architecture. Developers can establish efficient communication channels between microservices, allowing requests from clients to be seamlessly routed to the appropriate services. The developer can manage user authentication, ensuring secure and controlled access to services. Additionally, there are plugins for popular frameworks such as Express.js and AWS Lambda, enabling seamless integration with existing infrastructure. The gateway plugins equip developers with the tools necessary to build robust gateways that enhance the communication and coordination capabilities of microservices within their Seneca applications.
Handle incoming messages within other frameworks.
Authentication support for @seneca/gateway plugins
Handle incoming messages within express, defining an endpoint that accepts Seneca messages.
Provide authentication for the @seneca/gateway-express plugin.
Handle incoming messages within AWS Lambdas.
Capture and manage application logs
This family enables developers to capture, manage, and analyze application logs within Seneca applications. These plugins offer flexibility in choosing different logging strategies and integration options, allowing developers to tailor their logging solutions to meet specific application requirements. These plugins enable the capturing and managing of application logs, as well as facilitating debugging, performance monitoring, and auditing. They allow developers to analyze and gain insights from application logs efficiently.
Seneca Logentries Logger
Pino logger plugin for Seneca
Executing and testing message-driven workflows
The message family provides tools for implementing and testing message-driven workflows within Seneca applications. Developers can build highly decoupled and scalable systems where components communicate asynchronously. This family provides the necessary infrastructure for handling message routing, flow control, and integration among Seneca services. It also enables developers to write test scenarios and assertions to verify the correct behavior of message passing, ensuring the integrity and reliability of their systems.
Structured testing of seneca plugin messages.
Seamless integration with third-party APIs and SDKs
This family offers plugins that cater to a wide range of third-party services, allowing developers to seamlessly integrate and interact with these parties within their Seneca applications. By incorporating a provider plugin, developers can extend the capabilities of their own applications by leveraging the power of a third-party ecosystem. These plugins simplify the integration process, eliminating the need for manual API integrations and providing consistent and standardized interfaces through which to interact with these third parties. Developers can make use of external applications to enhance productivity, automate processes, and leverage different features within their Seneca applications. The provider family opens up a world of possibilities for building powerful and feature-rich applications.
Seneca entity provider for the Branchio API.
Handle incoming messages within other frameworks.
Seneca entity provider for the Evervault API.
Handle incoming messages within other frameworks.
Seneca entity provider for the Mixpanel API.
Handle incoming messages within other frameworks.
Seneca entity provider for the Tangocard API.
Seneca entity provider for the Trello API.
Seneca entity provider for the Vercel API.
Service registration, discovery, and management in distributed systems
This family offers essential functionality for service registration, discovery, and management in distributed systems using the Seneca framework. This enables developers to register their services with a central registry or service discovery mechanism, facilitating communication and interaction between different components of a distributed system. They provide a standardized approach for locating and connecting to services, ensuring seamless integration and interoperability. By incorporating these plugins, developers can easily manage and scale their distributed applications.
Seneca key value registry for Consul.
Seneca service registry (simplistic single instance).
Integrate search functionality
This family enables developers to incorporate search functionality into Seneca applications using different search engines. They enable efficient indexing, querying, and retrieval of data, allowing developers to implement robust search capabilities within their Seneca applications. Developers can enhance their applications with powerful search capabilities, enabling efficient data retrieval, filtering, and discovery.
Data storage and retrieval
Using this family, developers can choose which database and storage technology they want to use within their Seneca application. This means they can leverage the flexibility and scalability of different technologies while working within the Seneca framework. These plugins provide consistent and convenient interfaces for data storage and retrieval, allowing developers to focus on their application logic rather than dealing with low-level database interactions. Whether developers need a NoSQL document database, a relational database, an in-memory store, or a file-based storage solution, this family offers a wide range of options. This flexibility enables developers to choose the most suitable storage technology for their application's specific needs, ensuring optimal performance and scalability.
Seneca data store plugin that uses plain JSON files
Seneca in-memory data storage plugin.
Seneca data store plugin for MongoDB
MySQL database layer for Seneca framework
Seneca data store plugin for PostgreSQL
Redis storage layer for Seneca framework
SQLite database layer for Seneca framework
Performance reporting and data monitoring
This family enables developers to gather and report performance and monitoring data within Seneca applications. They allow developers to monitor and analyze the behavior, performance, and health of their services. They integrate with popular telemetry platforms and services, providing options for data visualization, alerting, and analysis. With these plugins, developers can gain valuable insights into the performance and behavior of their Seneca services.
Handle incoming messages within other frameworks.
A Seneca plugin that provides basic user telemetry operations.
Testing and quality assurance
This family provides a range of plugins specifically designed for testing and quality assurance purposes in Seneca applications. Each plugin serves a different testing purpose, including cache testing, error handling testing, store testing, transport testing, and message testing, among others. These plugins offer utilities, helpers, and testing frameworks to facilitate the testing process and ensure the reliability and correctness of your application. These plugins provide a standardized and streamlined approach to writing test cases, enabling developers to assess the performance, correctness, and reliability of their codebase.
Standard test cases for seneca caches
Seneca error test.
Structured testing of seneca plugin messages.
Standard test cases for seneca stores
Test Seneca plugin.
Standard test cases for Seneca transports.
Communication and messaging between distributed components
This family enables seamless communication and messaging between distributed components or microservices within Seneca applications. These plugins facilitate reliable and efficient message passing, enabling components to exchange data, invoke actions, and coordinate workflows. Developers can build scalable and decoupled architectures, where different components can communicate asynchronously. This asynchronous nature of the messages enhances the flexibility, modularity, and resilience of the overall system architecture.
Official AMQP transport plugin for Seneca
Seneca beanstalk transport
Seneca Redis Queue Transport
Seneca transport for AWS SNS
Seneca transport
Standard test cases for Seneca transports.
Authentication, authorisation, and telemetry for the user
This family can handle various user-related functionalities within Seneca applications, such as authentication, authorization, and telemetry. Developers can streamline user management processes and enhance application security. This allows developers to focus on building user-centric features and ensuring a smooth user experience.
User management plugin for Seneca
A Seneca plugin that provides basic user telemetry operations.
Various usecases and functionalities
These plugins don't fit into any predefined family. Click through to their README's for further information.
Allow messages to proceed if they meet certain criteria
Apikey management plugin for Seneca
User authentication plugin for the seneca module.
Seneca client-side load balancing transport.
Seneca utility plugin.
Seneca for the browser.
Seneca plugin for debugging Seneca-based systems.
Documentation helper for Seneca plugins.
Handle incoming messages within other frameworks.
Handle external Seneca messages safely.
Handle incoming messages within other frameworks.
Workflow operations and data model.
Handle incoming messages within other frameworks.
A Seneca plugin that provides basic graph operations.
Seneca plugin for user and group permissions.
Seneca plugin for hapi-based systems.
Seneca plugin that provides joi message validation.
Seneca plugin providing messages for a generic key-value store.
Ledger business logic plugin for the Seneca platform.
Seneca log filtering module
Seneca email plugin
Run maintenance tests for Seneca plugins.
Seneca plugin for generic membership.
seneca-monitor
Seneca plugin to add user ownership annotations to entities.
Seneca plugin that provides parambulator message validation.
Seneca plugin for user and populate permissions.
Seneca plugin for user and promisify permissions.
Seneca plugin providing messages for a redis key-value store.
User Referral business logic plugin for the Seneca platform.
Provides a client and server REPL for Seneca microservice systems.
Outbound Web Request Plugin for Seneca
Seneca SendGrid email plugin
Service administration
Integration with popular web frameworks
This family offers adapters for seamless integration of popular web frameworks, allowing developers to build web applications and APIs efficiently. Developers can leverage the capabilities of well-established web frameworks such as Connect, Express, Hapi, and Koa, while benefitting from Seneca's powerful microservice capabilities. These plugins seamlessly combine the power of Seneca with the extensive ecosystem and features offered by popular web frameworks, simplifying the design and development of modular, scalable, and maintainable web architectures. This enables the development of complex, distributed systems without the hassle.
Http route mapping for Seneca microservices.
seneca-web adapter for connect
seneca-web adapter for express
seneca-web adapter for hapi
seneca-web adapter for koa web framework (v1)
Our docs are open source. Simply fork the senecajs.org repository, add your plugin to the appropriate section, and send us on a pull request - that way, other people can find your awesome plugin easily.
Issues? From spelling errors to broken tutorials and everything in between, report them here.