JSPM

serverless-export-outputs

1.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 3677
  • Score
    100M100P100Q127574F
  • License MIT

A Serverless plugin for exporting AWS stack outputs to a file.

Package Exports

  • serverless-export-outputs

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (serverless-export-outputs) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Serverless Export Outputs

A Serverless plugin for exporting AWS stack outputs to a file.

By default, this plugin exports all stack outputs to a .env file in the root of the project, and formats all keys as OutputKeyName → REACT_APP_OUTPUT_KEY_NAME, which allows Create React App to pick them up as process.env variables. You can override these in steps 3 and 4 of setup and use it for any other purpose.

Setup

  1. Add dependency to package.json:

    npm add -D serverless-export-outputs

    or

    yarn add -D serverless-export-outputs
  2. Add the plugin to serverless.yml file:

    plugins:
      - serverless-export-outputs
  3. Choose which outputs get exported (optional):

    custom:
      exportOutputs: # if not provided, all outputs are exported
        - OutputKeyName
        - AnotherOutputKeyName
        - CustomOutput: value # add custom key/value to exports
    
    Outputs:
      OutputKeyName:
        Value: Lorem ipsum
      AnotherOutputKeyName:
        Value: Lorem ipsum
      ThisOutputWontExport:
        Value: Lorem ipsum
  4. Override defaults (optional):

    custom:
      exportOutputs:
        include: # if not provided, all outputs are exported
          - OutputKeyName
          - AnotherOutputKeyName
          - CustomOutput: value # add custom key/value to exports
        handler: scripts/env.js # script to process outputs
        output:
          file: ./.env # file path and name relative to root
          format: toml # toml, yaml/yml, json

    Handler at scripts/env.js:

    function handler(outputs, serverless, options) {
      console.log({ outputs });
      return outputs;
    }
    
    module.exports = handler;

    The handler above overrides/removes prefixing for Create React App.