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 total downloads per month for any plugins
we find or publish ourselves, so you only need to look in one place.
To learn more about how to use and write plugins, read the plugins tutorial.
Seneca includes a number of core plugins by default. It does this in order to ensure that you can create a working microservice out of the box.
Provides a web service API routing layer for Seneca action patterns. It translates HTTP requests with specific URL routes into action pattern calls. It’s a built-in dependency of the Seneca module, so you don’t need to include it manually.
Provides the HTTP and TCP transport channels for microservice messages. It’s a *built-in dependency of the Seneca module, so you don’t need to include it manually.
Use these plugins to kick-start your application development. They provide the basic business logic for many common use cases, like user accounts, shopping carts and administration. You can customize their behavior by overriding their actions.
Provides business logic for complete user management, such as login, logout, registration and password
handling, using Seneca’s expressive action-based API. This module complements Auth
(below).
Provides the business logic for authentication via HTTP. Adds the ability to set up simple win/fail-style conditions. The User plugin complements this one nicely.
Provides the ability to expose your data entities as a REST API. Works via pattern matching actions to HTTP verbs. Removes the need for additional plumbing to expose entities as resources.
Provides an administrative interface for editing all the data in your system. This plugin can be used alone, but also pairs well with seneca-admin
. Inspired by the Django admin interface.
Provides an administration console that returns interesting data about your microservice, including streaming log, status summaries and action patterns. Can be locked to admin for safety purposes.
Provides email delivery business logic, including the ability to have templates. Works with many different providers. Works well with the User plugin for handling things like welcome mails and password reminders.
Provides a user account system for managing multiple users in an account. Handles account creation
and management, and user management within a given account. The User
plugin compliments this one nicely.
Provides all the actions needed to manage a project. Use this plugin to build out microservices
that have the concepts of ownership, grouping, and starting, stopping and loading of some type of work. Works
well with the Accounts
plugin.
Provides a permissions system for actions. This plugin works by wrapping existing actions with a permission checking action. If the permission test passes, the parent action can proceed. If not, a permission error is generated.
Provides a data caching mechanism for data entities. Using this module will give your Seneca app a big
performance boost. The caching mechanism goes beyond simple key-based caching using memcached
. In addition,
a smaller “hot” cache is maintained within the Node.js process. Data entities are given transient version numbers
and these are used to synchronize the hot cache with memcached.
Provides complete shopping cart management business logic. This plugin works really well with the built-in data entity API. Adds actions for adding, removing and editing items in a container (cart).
Provides all the necessary components to build payments into your microservice. Includes support for Paypal express payments in the box. Makes setting up payment redirects a breeze.
Provides a simple content management system. Use it to create a more specialized system that fits your needs. Handles the management of a system’s unique entities in a more coarse fashion than using the Entity API directly (which is used internally by this plugin).
Rich settings for user accounts. Can handle many different types of values including ratings, toggles, colors and ranges.
Storage plugins work with our built-in Entity API. Storage plugins can be used on a per-entity basis, so feel free to mix and match. Each plugin is named after the storage it supports, making it simple to find the right solution.
Seneca supports many different transports. Use the one that fits best with your project right now; swap it out if you scale. Each plugin is named after the transport it supports, making it easy to find the right solution.
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.