npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

serverless-offline-ssm

v6.2.0

Published

Read SSM parameters from a .env file or serverless.yml instead of AWS

Downloads

94,456

Readme

serverless-offline-ssm

This Serverless plugin allows you to develop offline while using AWS SSM parameters in your serverless.yml template. The plugin looks for environment variables which are fulfilled by SSM parameters at build time and substitutes them from a .env file when running locally with the serverless-offline plugin.

NOTE!!

Version 6.x only works with Serverless 3+. Version 5.X only works Serverless 1.69+, if you'd like to use this plugin with Serverless <= 1.59 use version 4.1.2

Documentation

Installation

First install the plugins using npm or yarn

npm install serverless-offline serverless-offline-ssm --save-dev

#or

yarn add -D serverless-offline serverless-offline-ssm

Then inside of your project's serverless.yml file add the following to the plugins section. Note it is important that serverless-offline-ssm is loaded before serverless-offline. This is important to ensure that we are setting the variables properly for serverless-offline before it needs them.

NOTE: It is imperative that serverless-offline-ssm be the the first plugin listed in the plugins section of your serverless.yml file. Due to the load order of plugins, other plugins may interfere with the loading of your .env file.

plugins:
    - serverless-offline-ssm
    - serverless-offline

Configuration

You can choose to use a .env file and/or define your variables in serverless.yml. Variables within serverless-offline-ssm take precedence. serverless-offline-ssm will always check if the section custom.serverless-offline-ssm have any values, if not it will fallback to .env

Stages

This plugin executes if the stage defined within the plugin options or provider sections of your serverless.yaml are includes within the stages property of the plugin configuration. If this condition has not been met the plugin has no effect.

The stages property of the plugin configuration can be overridden with a cli parameter --ssmOfflineStages which takes a comma separated list of stages.

.env

Your .env file needs to contain only variable names without the ssm: prefix and ~(true|false|split) sulfix.

If you've defined ${ssm:lambda.LAMBDA_NAME.DB_DSN~true} in serverless.yml file your .env need to be like the example bellow:

lambda.LAMBDA_NAME.DB_DSN="VAR VALUE"

serverless.yml

provider:
  stage: offline
custom:
  serverless-offline-ssm:
    stages:
      - offline
    ssm:
      'lambda.LAMBDA_NAME.DB_DSN': 'sample-value-goes-here'
      'another.sample.value': '99 red baloons'

Contributing

Pull requests are always welcome. Please see the contributing guidelines.

License

MIT