When you have a serverless.yml that contains inputs with objects in arrays, the arrays are turned into objects by a ramda function being used. This causes the component to crash, due to incorrect formatting. Here is the edge-case of this ramda function: https://github.com/ramda/ramda/issues/1816
For example, deploying any instance of the aws-dynamodb component will fail because it requires arrays with objects to define its schema. However, those arrays will be turned into objects, and the aws sdk will throw an error, causing the component deployment to crash:
When you have a
serverless.yml
that contains inputs with objects in arrays, the arrays are turned into objects by a ramda function being used. This causes the component to crash, due to incorrect formatting. Here is the edge-case of this ramda function: https://github.com/ramda/ramda/issues/1816For example, deploying any instance of the
aws-dynamodb
component will fail because it requires arrays with objects to define its schema. However, those arrays will be turned into objects, and the aws sdk will throw an error, causing the component deployment to crash:To fix this, I just used the
this.update(value)
method that came with thetraverse
module which is already being used. This seems to work well.