1.0.6 • Published 1 year ago

serverless-lifecycle v1.0.6

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Serverless Lifecycle

This Serverless plugin allows triggering execution of npm scripts when serverless events are fired.

Simply declare npm scripts with a name of the form lifecycle:EVENT where EVENT is the name of a serverless hook event, i.e.:

  • lifecycle:before:offline:start:init: Run script before serverless offline launches. This can be particularly useful to setup the local environment, such as launching a local kinesis and initializing it by creating some streams.
  • lifecycle:offline:start:ready: Run post-startup script, e.g. seed s3 files.
  • lifecycle:after:offline:start: Run cleanup scripts after serverless offline terminates.
  • lifecycle:before:package:initialize: Run script before the packaging initialization.

Installation

First, add the plugin to your project:

npm install --save-dev serverless-lifecycle

Then, inside your project's serverless.yml file add serverless-lifecycle to the top-level plugins section. If there is no plugin section you will need to add it to the file.

plugins:
  - serverless-lifecycle

Configuration

Plugin behavior may be configured by adding keys to the serverless-lifecycle section in the top-level custom section.

These are the configuration entries and their default values:

custom:
  serverless-livecycle:
    hookPrefix: lifecycle    # The npm script prefix to indicate a serverless hook script

Execution

When scripts are executed, the environment variable SLS_CONTEXT contains a path to a JSON file with the contents of the serverless object. The available properties are:

  • invocationId: Unique GUID for the current serverless invocation
  • version: Serverless framework version
  • cliCommands: Array with provided CLI commands (e.g. 'offline' )
  • cliOptions: Object with provided CLI options
  • servicePath: Path to directory containing serverless.yml file
  • service: Object with contents of resolved serverless.yml file