use js-traverse