Serverless Export Outputs
A Serverless plugin for exporting AWS stack outputs to a file.
By default, this plugin exports all stack outputs to a toml
formatted .env
file in the root of the project. You can override these in step 4. You can also turn on Create React App prefixing in step 5.
Setup
-
Add dependency to
package.json
:npm add -D serverless-export-outputsor
yarn add -D serverless-export-outputs -
Add the plugin to
serverless.yml
file:plugins:- serverless-export-outputs -
Choose which outputs get exported (optional):
custom:exportOutputs: # if not provided, all outputs are exported- OutputKeyName- AnotherOutputKeyName- CustomOutput: value # add custom key/value to exportsOutputs:OutputKeyName:Value: Lorem ipsumAnotherOutputKeyName:Value: Lorem ipsumThisOutputWontExport:Value: Lorem ipsum -
Override defaults:
custom:exportOutputs:include: # if not provided, all outputs are exported- OutputKeyName- AnotherOutputKeyName- CustomOutput: value # add custom key/value to exportshandler: scripts/env.js # script to process outputsoutput:file: ./.env # file path and name relative to rootformat: toml # toml, yaml/yml, jsonHandler at
scripts/env.js
:function handler(outputs, serverless, options) {console.log({ outputs });return outputs;}module.exports = handler; -
ReactApp prefixing:
Format all keys as
OutputKeyName → REACT_APP_OUTPUT_KEY_NAME
to have Create React App pick them up asprocess.env
variables.Note: This will be ignored if a handler is provided like in step 4.
custom:exportOutputs:reactapp: trueinclude: # if not provided, all outputs are exported- OutputKeyName- AnotherOutputKeyName- CustomOutput: value # add custom key/value to exports