https://github.com/alunny/node-xcode/blob/master/lib/pbxProject.js#L1146. On this line we only check if value is $(inherited) and convert it to an array otherwise. I've seen projects that have other, non $(inherited) single value there, which causes the script to break with .push is undefined since the value will be a string.
I think we could just replace that check with !Array.isArray() which should make it more future proof.