After updating from Serverless 2 to Serverless 3, I've found that there's an issue with running tf-output and then serverless. Due to a breaking change added in between Serverless 2 and 3, Serverless no longer accepts free-form CLI options, so those need to be replaced by --param <var>=<value> instead, however tf-output does not deal with this well.
For example, the following code:
npm run tfoutput -- --region=us-east-1 --dataStage=dev -- sls deploy --param env=local --stage test --region us-east-1
Should run sls deploy --param env=local --stage test --region us-east-1 after running tf-output, but instead runs sls deploy --param env\=local --stage test --region us-east-1, which causes the env param to not be registered. Which I've figured out is because of the quote function from the node-shell-quote dependency, which adds \ so that env=dev becomes env\=dev, which causes the parameter's name to be set to env\.
Hi there,
After updating from Serverless 2 to Serverless 3, I've found that there's an issue with running tf-output and then serverless. Due to a breaking change added in between Serverless 2 and 3, Serverless no longer accepts free-form CLI options, so those need to be replaced by
--param <var>=<value>
instead, however tf-output does not deal with this well.For example, the following code:
npm run tfoutput -- --region=us-east-1 --dataStage=dev -- sls deploy --param env=local --stage test --region us-east-1
Should run
sls deploy --param env=local --stage test --region us-east-1
after running tf-output, but instead runssls deploy --param env\=local --stage test --region us-east-1
, which causes theenv
param to not be registered. Which I've figured out is because of the quote function from the node-shell-quote dependency, which adds\
so thatenv=dev
becomesenv\=dev
, which causes the parameter's name to be set toenv\
.