   leiningen.jshint
   (:require [leiningen.npm :as npm]
             [leiningen.npm.process :as process]
+            [leiningen.core.main :as main]
             [leiningen.help :as help]
             [leiningen.compile]
             [cheshire.core :as json]

   (cons "jshint" args)))

(defn- proc [project & args]
  (npm/environmental-consistency project)
  (let [file (config-file project)
        content (generate-config-file project)
        includes (include-files project)
        sources (remove empty? (concat (apply vec args) includes))]
    (npm/with-json-file file content project
                        (generate-exclude-files project)
                        (apply invoke project sources))))


; External API: Task


(defn- generate-exclude-files [project]
  (let [excludes (exclude-files project)
        content (joine excludes)]
    (create-tmp-file (ignore-file project) content)))

(defn- invoke [project & args]
