loopback-connector-rest icon indicating copy to clipboard operation
loopback-connector-rest copied to clipboard

`traverse` dependency breaking change

Open MartyJRE opened this issue 1 year ago • 0 comments

Steps to reproduce

Include a complex object containing symbols in the template, such as forever-agent.

Current Behavior

The traverse library introduced iteration over symbols in version 0.6.8. Previously, they only iterated over strings. This now breaks during parsing when the template contains a symbol on the line https://github.com/loopbackio/loopback-connector-rest/blob/3d0ea7b8ff59050796c09a8d037eefc8835d0658/lib/template.js#L52. Calling RegExp.exec() on a symbol throws an error.

Expected Behavior

It's not clear to me what the expected behavior should be, but I think the type of the item should be checked, as the traverse library previously only provided strings.

Link to reproduction sandbox

https://github.com/MartyJRE/loopback-sandbox-traverse

Additional information

linux x64 16.13.1

[email protected] /home/martin/Documents/Code/loopback-sandbox-traverse ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected] ├── [email protected]

Related Issues

I filed an issue with the traverse library as well, but I'm unsure whether they'll consider this a problem as for them it isn't neceserally a breaking change.

https://github.com/ljharb/js-traverse/issues/5

MartyJRE avatar Mar 06 '24 10:03 MartyJRE