UNPKG

serverless

Version:

Serverless Framework - Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more

88 lines (56 loc) 2.5 kB
<!-- title: Serverless Framework - Plugins menuText: Plugins menuOrder: 3 description: How to install plugins to customize the Serverless Framework layout: Doc --> <!-- DOCS-SITE-LINK:START automatically generated --> ### [Read this on the main serverless docs site](https://www.serverless.com/framework/docs/guides/plugins) <!-- DOCS-SITE-LINK:END --> # Plugins A plugin is custom JavaScript code that extends the Serverless Framework with new features. If you or your organization have a specific workflow, install a pre-written plugin or write one to customize the Framework to your needs. Since the Serverless Framework is a group of "core" plugins, custom plugins are written exactly the same way as core plugins. Learn more about [creating a custom plugin](creating-plugins.md). Explore existing plugins in the [Serverless Framework Plugins repository](https://www.serverless.com/plugins). ## Installing plugins Plugins are installed per service. They are not applied globally. To install a plugin, run the following command in a service directory: ``` serverless plugin install -n custom-serverless-plugin ``` This command will install the plugin via NPM and register it in `serverless.yml`. You can also install the plugin manually via NPM: ``` npm install --save custom-serverless-plugin ``` and then register it in `serverless.yml` in the `plugins` section: ```yml # serverless.yml file plugins: - custom-serverless-plugin ``` Some plugins require extra configuration. The `custom` section in `serverless.yml` is where you can add extra configuration for plugins (the plugin's documentation will tell you if you need to add anything there): ```yml plugins: - custom-serverless-plugin custom: customkey: customvalue ``` Note for plugin authors: read [Extending the configuration](custom-configuration.md) to learn how to enhance `serverless.yml` with configuration validation. ## Service local plugin If you are working on a plugin, or have a plugin that is just designed for one project, it can be loaded from local files: ```yml plugins: - ./local-directory/custom-serverless-plugin ``` The path must start with `./` and is relative to the root of your service. ## Load Order Keep in mind that the order you define your plugins matters. Serverless loads all the core plugins, and then the custom plugins in the order you've defined them. ```yml # serverless.yml plugins: - plugin1 - plugin2 ``` In this case `plugin1` is loaded before `plugin2`.