serverless-plugin-utils

A collection of serverless framework utilities

Usage no npm install needed!

<script type="module">
  import serverlessPluginUtils from 'https://cdn.skypack.dev/serverless-plugin-utils';
</script>

README

serverless-plugin-utils

Downloads Version License

A collection of serverless framework utilities

Installation

npm install -D serverless-plugin-utils 
# or 
yarn add -D serverless-plugin-utils

Usage

Add the serverless-plugin-utils entry to the plugins section of your serverless file.

plugins:
 - serverless-plugin-utils

Utility Usage

| Function | Description | |--|--| | fn::lower | Converts a string to its lowercase representation | | fn::upper | Converts a string to its uppercase representation | | fn::ternary | Performs equality check and returns a defined result | | fn::join | Joins a collection of values with a given delimiter | | fn::split | Splits a string value on a given delimiter | | fn::switch | Performs switch-statement lookups | | fn::capitalized | Converts a string to its Titlecase representation |

Caveats

All operations are done after yaml has been processed. This mean certain operations cannot be done in-line.

Example:

something:
  fn::join:
    delimiter: '-'
    values:
      - one
      - two

injected: ${opt:stage}${self:custom.something}

// Serverless Error ---------------------------------------
// Trying to populate non string value into a string for variable ${self:custom.something}. Please make sure the value of the property is a string.

To work around this fully use the utils option. The above can be reworked as the following.

injected:
  fn::join:
    delimiter: '-'
    values:
      - ${opt:stage}one
      - two