     (filter-descendants dir pred))
   Compilable
   (-compile [this opts]
-    (let [fs (files this)]
-      (let [d (io/file dir)]
-        (flatten (map #(-compile % (assoc opts :output-file (js-file-name d %)))
-                      fs))))))
+    (dependency-order
+     (let [fs (files this)]
+       (let [d (io/file dir)]
+         (flatten (map #(-compile % (assoc opts :output-file (js-file-name d %)))
+                       fs)))))))
 
 ;; Provided IReloadable Implementations
 ;; ====================================

    (flatten (map files sources)))
  Compilable
  (-compile [_ opts]
    (flatten (map #(-compile % opts) sources))))

;; Create an IReloadabel which can trigger the reload of other
;; reloadables.

    (all-descendants-ending-with dirs ".cljs"))
  Compilable
  (-compile [_ opts]
    (dependency-order (flatten (map #(-compile % opts) dirs)))))

(defn rename-to-js
  "Rename any Clojure-based file to a JavaScript file."
