code: function order (d, arr, visited) {
    for (let i in d) {
      if (!visited[i]) {
        let obj = d[i]
        visited[i] = true
        arr = arr.concat(order(obj, [], visited))
        if (css(i)) {
          arr.push(i)
        }
      }
    }
    return arr
  }
docs: walk deps and return ordered array