Update: it turns out several of the dependencies of mysql had to be 
imported at the project level. At least, that's what I did to get past the 
dependency errors. Now I'm stuck here:

path.js:7
    throw new TypeError('Path must be a string. Received ' + inspect(path));
    ^

TypeError: Path must be a string. Received { './support/isBuffer.js': 
'./support/isBufferBrowser.js' }
    at assertPath (path.js:7:11)
    at Object.join (path.js:1211:7)
    at Deps.<anonymous> ([eval]:115:32)
    at emitOne (events.js:96:13)
    at Deps.emit (events.js:188:7)
    at 
/Users/devmbp42/arc/check-templates/node_modules/@cljs-oss/module-deps/index.js:338:18

It looks like I got past the dependency issues, but I'm not sure where to 
go from here....

On Monday, September 25, 2017 at 7:16:20 AM UTC-4, Jonathon McKitrick wrote:
>
> Here's what I have so far:
>
> (defproject foo "0.1.0-SNAPSHOT"
>   :description "FIXME"
>   
>   :dependencies [[org.clojure/clojure "1.8.0"]
>                  [org.clojure/clojurescript "1.9.908"]
>                  [com.cemerick/piggieback "0.2.2"]]
>
>   :plugins [[lein-cljsbuild "1.1.7"]
>             [lein-ancient "0.6.12"]]
>   :repl-options {:nrepl-middleware [cemerick.piggieback/wrap-cljs-repl]}
>
>   :source-paths ["src"]
>
>   :cljsbuild
>   {:builds
>    [{:source-paths ["src"]
>      :compiler
>      {:target :nodejs
>       :output-to "check_templates.js"
>       :optimizations :none
>       :npm-deps {:mysql "2.14.1"}
>       :install-deps true
>       :main check-templates.core
>       :parallel-build true}}]})
>
> and
>
> (ns check-templates.core
>   (:require [cljs.nodejs :as nodejs]
>             #_[mysql :as sql]))
>
> (nodejs/enable-util-print!)
>
> (defn -main [& args]
>   (.log js/console "Hello world")
>   (println "Hello world"))
>
> (set! *main-cli-fn* -main)
>
> I run `lein cljsbuild once` and I get the node_modules directory populated 
> with dependencies.
> I can run `lein repl` and then use piggieback to get to the CLJS repl. But 
> I seem unable to get the mysql dependency imported.
>
> If I enable the `require` form to import mysql in the source file and then 
> start the repl and require the project namespace, I get this error:
>
> events.js:160
>       throw er; // Unhandled 'error' event
>       ^
>
> Error: Can't resolve 'url' in 
> '/Users/devmbp42/arc/check-templates/node_modules/mysql/lib'
>     at onError 
> (/Users/devmbp42/arc/check-templates/node_modules/enhanced-resolve/lib/Resolver.js:61:15)
>
> So it's finding the modules and attempting to load them. But I don't know 
> enough about NodeJS to understand exactly what is broken or how to fix it.
>
>
> On Friday, September 22, 2017 at 1:33:07 PM UTC-4, Jonathon McKitrick 
> wrote:
>>
>> Hi all,
>>
>> I'm slowly but surely weaseling Clojure and Clojurescript into our 
>> company's codebase. I'm tasked with a script which will read from a MySQL 
>> database and generate a very simple report.
>>
>> So far, I have a NodeJS REPL project up and running, but I'm not quite 
>> sure how to get Node's MySQL library into the project and namespace. Any 
>> thoughts?
>>
>>
>>

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/clojurescript.

Reply via email to