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.
-
Add dependency to
package.json
:npm add -D serverless-export-outputs
or
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 exports Outputs: OutputKeyName: Value: Lorem ipsum AnotherOutputKeyName: Value: Lorem ipsum ThisOutputWontExport: Value: Lorem ipsum
-
Override defaults:
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;
-
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: true include: # if not provided, all outputs are exported - OutputKeyName - AnotherOutputKeyName - CustomOutput: value # add custom key/value to exports