terraform-cdk icon indicating copy to clipboard operation
terraform-cdk copied to clipboard

Make `Found an encoded list token string in a scalar string context` easier to debug

Open DanielMSchmidt opened this issue 3 years ago • 0 comments
trafficstars

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Description

Currently those errors come with stack traces like this:

    /Users/danielschmidt/work/demos/cdktf-aws-networking-demo/node_modules/cdktf/lib/tokens/private/resolve.ts:127
          throw new Error(
                ^
    Error: Found an encoded list token string in a scalar string context. Use 'Fn.element(list, 0)' (not 'list[0]') to extract elements from token lists
        at resolve (/Users/danielschmidt/work/demos/cdktf-aws-networking-demo/node_modules/cdktf/lib/tokens/private/resolve.ts:127:13)
        at Object.resolve (/Users/danielschmidt/work/demos/cdktf-aws-networking-demo/node_modules/cdktf/lib/tokens/private/resolve.ts:70:16)
        at resolve (/Users/danielschmidt/work/demos/cdktf-aws-networking-demo/node_modules/cdktf/lib/tokens/private/resolve.ts:244:39)
        at Object.resolve (/Users/danielschmidt/work/demos/cdktf-aws-networking-demo/node_modules/cdktf/lib/tokens/private/resolve.ts:70:16)
        at resolve (/Users/danielschmidt/work/demos/cdktf-aws-networking-demo/node_modules/cdktf/lib/tokens/private/resolve.ts:244:39)
        at Object.resolve (/Users/danielschmidt/work/demos/cdktf-aws-networking-demo/node_modules/cdktf/lib/tokens/private/resolve.ts:70:16)
        at resolve (/Users/danielschmidt/work/demos/cdktf-aws-networking-demo/node_modules/cdktf/lib/tokens/private/resolve.ts:244:39)
        at Object.resolve (/Users/danielschmidt/work/demos/cdktf-aws-networking-demo/node_modules/cdktf/lib/tokens/private/resolve.ts:70:16)
        at Object.resolve (/Users/danielschmidt/work/demos/cdktf-aws-networking-demo/node_modules/cdktf/lib/tokens/private/resolve.ts:244:39)
        at Function.resolve (/Users/danielschmidt/work/demos/cdktf-aws-networking-demo/node_modules/cdktf/lib/tokens/token.ts:244:12)

Adding information like which construct / property caused the error would be great, especially for users changing a lot of code at once, it's super hard to pin point where the error stems from

References

DanielMSchmidt avatar Jun 22 '22 13:06 DanielMSchmidt