<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Clojure Q&amp;A - Recent questions tagged npm</title>
<link>https://ask.clojure.org/index.php/tag/npm</link>
<description></description>
<item>
<title>Cannot import certain npm modules with shadow-cljs</title>
<link>https://ask.clojure.org/index.php/12333/cannot-import-certain-npm-modules-with-shadow-cljs</link>
<description>&lt;p&gt;I am using shadow-cljs for my development workflow, and trying to import various npm librairies.&lt;/p&gt;
&lt;p&gt;It works great for some like (loadash, shortid) but I get errors with others such as &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/bitcoinjs/ecpair&quot;&gt;ecpair&lt;/a&gt; or &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/apify/crawlee&quot;&gt;crawlee&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;for ecpair:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;errors in file: .../node_modules/ecpair/src/ecpair.js
{:js-str-offsets [], :js-esm false, :js-imports [], :js-invalid-requires [], :goog-provides [], :js-language &quot;es8&quot;, :goog-module nil, :js-warnings [], :resource-name &quot;node_modules/ecpair/src/ecpair.js&quot;, :js-requires [], :js-errors [{:line 68, :column 7, :message &quot;'(' expected&quot;}], :goog-requires [], :tag :shadow.build.npm/errors, :uses-global-buffer false}
ExceptionInfo: errors in file: .../node_modules/ecpair/src/ecpair.js
	clojure.core/ex-info (core.clj:4739)
	clojure.core/ex-info (core.clj:4739)
	shadow.build.npm/get-file-info* (npm.clj:519)
	shadow.build.npm/get-file-info* (npm.clj:421)
	shadow.build.npm/get-file-info (npm.clj:556)
	shadow.build.npm/get-file-info (npm.clj:553)
	shadow.build.npm/find-resource (npm.clj:645)
	shadow.build.npm/find-resource (npm.clj:605)
	shadow.build.resolve/find-npm-resource (resolve.clj:110)
	shadow.build.resolve/find-npm-resource (resolve.clj:80)
	shadow.build.resolve/fn--11794 (resolve.clj:202)
	shadow.build.resolve/fn--11794 (resolve.clj:183)
	clojure.lang.MultiFn.invoke (MultiFn.java:243)
	shadow.build.resolve/resolve-string-require (resolve.clj:324)
	shadow.build.resolve/resolve-string-require (resolve.clj:307)
	shadow.build.resolve/resolve-require (resolve.clj:491)
	shadow.build.resolve/resolve-require (resolve.clj:484)
	shadow.build.resolve/resolve-deps/fn--11761 (resolve.clj:58)
	clojure.lang.PersistentVector.reduce (PersistentVector.java:341)
	clojure.core/reduce (core.clj:6747)
	clojure.core/reduce (core.clj:6730)
	shadow.cljs.util/reduce-&amp;gt; (util.clj:47)
	shadow.cljs.util/reduce-&amp;gt; (util.clj:46)
	shadow.build.resolve/resolve-deps (resolve.clj:56)
	shadow.build.resolve/resolve-deps (resolve.clj:40)
	shadow.build.resolve/resolve-string-require (resolve.clj:343)
	shadow.build.resolve/resolve-string-require (resolve.clj:307)
	shadow.build.resolve/resolve-require (resolve.clj:491)
	shadow.build.resolve/resolve-require (resolve.clj:484)
	shadow.build.resolve/resolve-deps/fn--11761 (resolve.clj:58)
	clojure.lang.PersistentVector.reduce (PersistentVector.java:341)
	clojure.core/reduce (core.clj:6747)
	clojure.core/reduce (core.clj:6730)
	shadow.cljs.util/reduce-&amp;gt; (util.clj:47)
	shadow.cljs.util/reduce-&amp;gt; (util.clj:46)
	shadow.build.resolve/resolve-deps (resolve.clj:56)
	shadow.build.resolve/resolve-deps (resolve.clj:40)
	shadow.build.resolve/resolve-repl (resolve.clj:528)
	shadow.build.resolve/resolve-repl (resolve.clj:514)
	shadow.cljs.repl/repl-ns (repl.clj:298)
	shadow.cljs.repl/repl-ns (repl.clj:291)
	shadow.cljs.repl/process-read-result (repl.clj:400)
	shadow.cljs.repl/process-read-result (repl.clj:380)
	shadow.cljs.devtools.server.worker.impl/fn--14362 (impl.clj:693)
	shadow.cljs.devtools.server.worker.impl/fn--14362 (impl.clj:657)
	clojure.lang.MultiFn.invoke (MultiFn.java:233)
	shadow.cljs.devtools.server.util/server-thread/fn--14076/fn--14077/fn--14085 (util.clj:294)
	shadow.cljs.devtools.server.util/server-thread/fn--14076/fn--14077 (util.clj:293)
	shadow.cljs.devtools.server.util/server-thread/fn--14076 (util.clj:266)
	java.lang.Thread.run (Thread.java:750)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;for crawlee:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;errors in file: .../node_modules/@crawlee/core/errors.js
{:js-str-offsets [], :js-esm false, :js-imports [], :js-invalid-requires [], :goog-provides [], :js-language &quot;es3&quot;, :goog-module nil, :js-warnings [], :resource-name &quot;node_modules/@crawlee/core/errors.js&quot;, :js-requires [], :js-errors [{:line 27, :column 24, :message &quot;primary expression expected&quot;}], :goog-requires [], :tag :shadow.build.npm/errors, :uses-global-buffer false}
ExceptionInfo: errors in file: .../node_modules/@crawlee/core/errors.js
	clojure.core/ex-info (core.clj:4739)
	clojure.core/ex-info (core.clj:4739)
	shadow.build.npm/get-file-info* (npm.clj:519)
	shadow.build.npm/get-file-info* (npm.clj:421)
	shadow.build.npm/get-file-info (npm.clj:556)
	shadow.build.npm/get-file-info (npm.clj:553)
	shadow.build.npm/find-resource (npm.clj:645)
	shadow.build.npm/find-resource (npm.clj:605)
	shadow.build.resolve/find-npm-resource (resolve.clj:110)
	shadow.build.resolve/find-npm-resource (resolve.clj:80)
	shadow.build.resolve/fn--11794 (resolve.clj:202)
	shadow.build.resolve/fn--11794 (resolve.clj:183)
	clojure.lang.MultiFn.invoke (MultiFn.java:243)
	shadow.build.resolve/resolve-string-require (resolve.clj:324)
	shadow.build.resolve/resolve-string-require (resolve.clj:307)
	shadow.build.resolve/resolve-require (resolve.clj:491)
	shadow.build.resolve/resolve-require (resolve.clj:484)
	shadow.build.resolve/resolve-deps/fn--11761 (resolve.clj:58)
	clojure.lang.PersistentVector.reduce (PersistentVector.java:341)
	clojure.core/reduce (core.clj:6747)
	clojure.core/reduce (core.clj:6730)
	shadow.cljs.util/reduce-&amp;gt; (util.clj:47)
	shadow.cljs.util/reduce-&amp;gt; (util.clj:46)
	shadow.build.resolve/resolve-deps (resolve.clj:56)
	shadow.build.resolve/resolve-deps (resolve.clj:40)
	shadow.build.resolve/resolve-string-require (resolve.clj:343)
	shadow.build.resolve/resolve-string-require (resolve.clj:307)
	shadow.build.resolve/resolve-require (resolve.clj:491)
	shadow.build.resolve/resolve-require (resolve.clj:484)
	shadow.build.resolve/resolve-deps/fn--11761 (resolve.clj:58)
	clojure.lang.PersistentVector.reduce (PersistentVector.java:341)
	clojure.core/reduce (core.clj:6747)
	clojure.core/reduce (core.clj:6730)
	shadow.cljs.util/reduce-&amp;gt; (util.clj:47)
	shadow.cljs.util/reduce-&amp;gt; (util.clj:46)
	shadow.build.resolve/resolve-deps (resolve.clj:56)
	shadow.build.resolve/resolve-deps (resolve.clj:40)
	shadow.build.resolve/resolve-string-require (resolve.clj:343)
	shadow.build.resolve/resolve-string-require (resolve.clj:307)
	shadow.build.resolve/resolve-require (resolve.clj:491)
	shadow.build.resolve/resolve-require (resolve.clj:484)
	shadow.build.resolve/resolve-deps/fn--11761 (resolve.clj:58)
	clojure.lang.PersistentVector.reduce (PersistentVector.java:341)
	clojure.core/reduce (core.clj:6747)
	clojure.core/reduce (core.clj:6730)
	shadow.cljs.util/reduce-&amp;gt; (util.clj:47)
	shadow.cljs.util/reduce-&amp;gt; (util.clj:46)
	shadow.build.resolve/resolve-deps (resolve.clj:56)
	shadow.build.resolve/resolve-deps (resolve.clj:40)
	shadow.build.resolve/resolve-symbol-require (resolve.clj:481)
	shadow.build.resolve/resolve-symbol-require (resolve.clj:433)
	shadow.build.resolve/resolve-require (resolve.clj:488)
	shadow.build.resolve/resolve-require (resolve.clj:484)
	shadow.build.resolve/resolve-entry (resolve.clj:498)
	shadow.build.resolve/resolve-entry (resolve.clj:497)
	clojure.lang.PersistentVector.reduce (PersistentVector.java:341)
	clojure.core/reduce (core.clj:6747)
	clojure.core/reduce (core.clj:6730)
	shadow.cljs.util/reduce-&amp;gt; (util.clj:47)
	shadow.cljs.util/reduce-&amp;gt; (util.clj:46)
	shadow.build.resolve/resolve-entries (resolve.clj:509)
	shadow.build.resolve/resolve-entries (resolve.clj:500)
	shadow.build.modules/analyze-module/fn--12569 (modules.clj:243)
	shadow.build.modules/analyze-module (modules.clj:239)
	shadow.build.modules/analyze-module (modules.clj:228)
	clojure.lang.PersistentVector.reduce (PersistentVector.java:341)
	clojure.core/reduce (core.clj:6747)
	clojure.core/reduce (core.clj:6730)
	shadow.build.modules/analyze-modules (modules.clj:259)
	shadow.build.modules/analyze-modules (modules.clj:258)
	shadow.build.modules/analyze (modules.clj:313)
	shadow.build.modules/analyze (modules.clj:304)
	shadow.build/resolve (build.clj:346)
	shadow.build/resolve (build.clj:340)
	shadow.build/compile (build.clj:354)
	shadow.build/compile (build.clj:348)
	shadow.cljs.devtools.server.worker.impl/build-compile (impl.clj:251)
	shadow.cljs.devtools.server.worker.impl/build-compile (impl.clj:237)
	shadow.cljs.devtools.server.worker.impl/do-resource-update (impl.clj:779)
	shadow.cljs.devtools.server.worker.impl/do-resource-update (impl.clj:742)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I am guessing this has to do with how shadow-cljs interprets those librairies, but I am not sure how to configure the shadow-cljs.edn  in order to get there.&lt;/p&gt;
</description>
<category>ClojureScript</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/12333/cannot-import-certain-npm-modules-with-shadow-cljs</guid>
<pubDate>Mon, 24 Oct 2022 14:36:28 +0000</pubDate>
</item>
<item>
<title>How  does cljs require npm package</title>
<link>https://ask.clojure.org/index.php/10706/how-does-cljs-require-npm-package</link>
<description>&lt;p&gt;Hi everyone, I setup a demo to explore how cljs could require a npm package, I install two npm packages &lt;a rel=&quot;nofollow&quot; href=&quot;https://www.npmjs.com/package/puppeteer&quot;&gt;puppeteer&lt;/a&gt; and &lt;a rel=&quot;nofollow&quot; href=&quot;https://www.npmjs.com/package/pdfjs&quot;&gt;pdfjs&lt;/a&gt;  via &lt;code&gt;npm install&lt;/code&gt;,  and require them in ns statement, puppeteer works fine, but pdfs failed, it seems strange to me as those two packages are required in the same way.&lt;/p&gt;
&lt;p&gt;Steps to reproduce:&lt;br&gt;
1. clone &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/jiacai2050/cljs-demo.git&quot;&gt;https://github.com/jiacai2050/cljs-demo.git&lt;/a&gt;&lt;br&gt;
2. comment out pdfjs in core.cljs&lt;br&gt;
3. npm install&lt;br&gt;
4. lein dev-build&lt;/p&gt;
</description>
<category>ClojureScript</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/10706/how-does-cljs-require-npm-package</guid>
<pubDate>Sat, 19 Jun 2021 12:15:55 +0000</pubDate>
</item>
<item>
<title>Using eval from cljs.js with webpack</title>
<link>https://ask.clojure.org/index.php/9995/using-eval-from-cljs-js-with-webpack</link>
<description>&lt;p&gt;In clojurescript 1.10.773 it is impossible to use &lt;code&gt;eval&lt;/code&gt; from cljs.js when I've bundled the project with webpack I think this is because &lt;code&gt;eval&lt;/code&gt; is calling &lt;code&gt;find-ns-obj&lt;/code&gt;, when doesn't work with the &lt;code&gt;:bundle&lt;/code&gt; &lt;code&gt;:target&lt;/code&gt;. That makes sense, but this error still occurs when an &lt;code&gt;:ns&lt;/code&gt; is passed in the options map.&lt;/p&gt;
&lt;p&gt;Using &lt;code&gt;eval&lt;/code&gt; from cljs.js used to work in clojurescript 1.10.741, even when &lt;code&gt;:target&lt;/code&gt; was set to &lt;code&gt;:bundle&lt;/code&gt;. It looks like this is because previous versions of clojurescript never set &lt;code&gt;*target*&lt;/code&gt; when it was set in the compiler options.&lt;/p&gt;
&lt;p&gt;The error I'm getting is:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;core.cljs:11642 Uncaught Error: find-ns-obj not supported for target bundle
    at Object.cljs$core$find_ns_obj [as find_ns_obj] (core.cljs:11642)
    at Function.cljs$core$IFn$_invoke$arity$1 (core.cljs:11660)
    at cljs$core$create_ns (core.cljs:11657)
    at Function.cljs$js$compile_str_STAR__$_compile_loop (js.cljs:918)
    at Function.cljs$core$IFn$_invoke$arity$3 (core.cljs:3918)
    at Function.cljs$core$IFn$_invoke$arity$2 (core.cljs:3913)
    at Function.cljs$core$IFn$_invoke$arity$2 (core.cljs:3948)
    at core.cljs:10831
    at Function.cljs$core$IFn$_invoke$arity$1 (core.cljs:10826)
    at Function.cljs$core$IFn$_invoke$arity$variadic (core.cljs:10831)
cljs$core$find_ns_obj @ core.cljs:11642
(anonymous) @ core.cljs:11660
cljs$core$create_ns @ core.cljs:11657
cljs$js$compile_str_STAR__$_compile_loop @ js.cljs:918
(anonymous) @ core.cljs:3918
(anonymous) @ core.cljs:3913
(anonymous) @ core.cljs:3948
(anonymous) @ core.cljs:10831
(anonymous) @ core.cljs:10826
(anonymous) @ core.cljs:10831
cljs$core$trampoline @ core.cljs:10817
cljs$js$compile_str_STAR_ @ js.cljs:910
(anonymous) @ js.cljs:1019
cljs$js$compile_str @ js.cljs:968
interactive_syntax$core$eval_str @ core.cljs:48
run @ core.cljs:351
callCallback @ react-dom.development.js:188
invokeGuardedCallbackDev @ react-dom.development.js:237
invokeGuardedCallback @ react-dom.development.js:292
invokeGuardedCallbackAndCatchFirstError @ react-dom.development.js:306
executeDispatch @ react-dom.development.js:389
executeDispatchesInOrder @ react-dom.development.js:414
executeDispatchesAndRelease @ react-dom.development.js:3278
executeDispatchesAndReleaseTopLevel @ react-dom.development.js:3287
forEachAccumulated @ react-dom.development.js:3259
runEventsInBatch @ react-dom.development.js:3304
runExtractedPluginEventsInBatch @ react-dom.development.js:3514
handleTopLevel @ react-dom.development.js:3558
batchedEventUpdates$1 @ react-dom.development.js:21871
batchedEventUpdates @ react-dom.development.js:795
dispatchEventForLegacyPluginEventSystem @ react-dom.development.js:3568
attemptToDispatchEvent @ react-dom.development.js:4267
dispatchEvent @ react-dom.development.js:4189
unstable_runWithPriority @ scheduler.development.js:653
runWithPriority$1 @ react-dom.development.js:11039
discreteUpdates$1 @ react-dom.development.js:21887
discreteUpdates @ react-dom.development.js:806
dispatchDiscreteEvent @ react-dom.development.js:4168
Show 8 more frames
react-dom.development.js:327 Uncaught Error: find-ns-obj not supported for target bundle
    at Object.cljs$core$find_ns_obj [as find_ns_obj] (core.cljs:11642)
    at Function.cljs$core$IFn$_invoke$arity$1 (core.cljs:11660)
    at cljs$core$create_ns (core.cljs:11657)
    at Function.cljs$js$compile_str_STAR__$_compile_loop (js.cljs:918)
    at Function.cljs$core$IFn$_invoke$arity$3 (core.cljs:3918)
    at Function.cljs$core$IFn$_invoke$arity$2 (core.cljs:3913)
    at Function.cljs$core$IFn$_invoke$arity$2 (core.cljs:3948)
    at core.cljs:10831
    at Function.cljs$core$IFn$_invoke$arity$1 (core.cljs:10826)
    at Function.cljs$core$IFn$_invoke$arity$variadic (core.cljs:10831)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Any use of &lt;code&gt;eval&lt;/code&gt;, or &lt;code&gt;eval-str&lt;/code&gt;, &lt;code&gt;compile-str&lt;/code&gt;, etc. gives it to me. Say:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;(eval-str (empty-state) &quot;(+ 1 2)&quot; &quot;UNTITLED&quot; {:eval js-eval} println)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;And I get this error even if I provide my own &lt;code&gt;:ns&lt;/code&gt;.&lt;/p&gt;
</description>
<category>ClojureScript</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/9995/using-eval-from-cljs-js-with-webpack</guid>
<pubDate>Sun, 03 Jan 2021 02:57:09 +0000</pubDate>
</item>
<item>
<title>Not recognized function using Photon library with node.js</title>
<link>https://ask.clojure.org/index.php/9709/not-recognized-function-using-photon-library-with-node-js</link>
<description>&lt;p&gt;I need to use this library &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/silvia-odwyer/photon&quot;&gt;https://github.com/silvia-odwyer/photon&lt;/a&gt; and I use this example &lt;a rel=&quot;nofollow&quot; href=&quot;https://github.com/minimal-xyz/minimal-shadow-cljs-nodejs&quot;&gt;https://github.com/minimal-xyz/minimal-shadow-cljs-nodejs&lt;/a&gt; as a starting point and I want to replicate this piece of code to test it:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;   var fs = require('fs');

var photon = require(&quot;@silvia-odwyer/photon-node&quot;);

const fetch = require('node-fetch');
global.fetch = fetch;

function grayscaleImage() {
    // read file, then convert to base64
    var base64 = fs.readFileSync(`input.png`, { encoding: 'base64' });
    let data = base64.replace(/^data:image\/(png|jpg);base64,/, &quot;&quot;);

    // convert base64 to PhotonImage
    var phtn_img = photon.PhotonImage.new_from_base64(data);

    photon.grayscale(phtn_img);

    // get base64 from filtered image, and write 
    let output_base64 = phtn_img.get_base64();
    let output_image_name = &quot;output.png&quot;;
    var output_data = output_base64.replace(/^data:image\/\w+;base64,/, '');

    fs.writeFile(output_image_name, output_data, {encoding: 'base64'}, function(err) {
    });
    console.log(`Saved ${output_image_name}`);

}

grayscaleImage();
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;So I wrote this&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;(ns server.main
  (:require [&quot;@silvia-odwyer/photon-node&quot; :as sop]
                    [&quot;fs&quot; :as fs]
                    [&quot;node-fetch&quot; :as nf]
                    [clojure.string :as string]))

(defn main! []
  (let [base64 (fs/readFileSync &quot;input.png&quot; #js {:encoding &quot;base64&quot;})
        data (.replace base64 #&quot;^data:image/(png|jpg);base64,&quot; &quot;&quot;)
        phtn-img (sop/PhotonImage.new_from_base64 data)
        phtn-img (sop/grayscale phtn-img)
        output-base64 (sop/get_base64 phtn-img)]
    (println output-base64)))
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;but when I run &lt;br&gt;
'shadow-cljs release app' and ' node target/main.js'&lt;br&gt;
It throws:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;    C:\Users\usuario\desktop\clojure\minimal-shadow-cljs-nodejs\target\mai
n.js:230
Vc.prototype.Z=B;Vc.prototype.J=function(a,b){return ob(b,&quot;()&quot;)};ra.pr
ototype.Z=B;ra.prototype.J=function(a,b,c){return Te(this,Se,b,c)};Ie.
prototype.Z=B;Ie.prototype.J=function(a,b,c){return Ke(b,Se,&quot;(&quot;,&quot; &quot;,&quot;)
&quot;,c,this)};tc.prototype.Z=B;tc.prototype.J=function(a,b,c){return Ke(b
,Se,&quot;(&quot;,&quot; &quot;,&quot;)&quot;,c,this)};&quot;undefined&quot;!==typeof console&amp;amp;&amp;amp;za();za();var y
a=new Qb(null,&quot;print-length&quot;,&quot;print-length&quot;,1931866356),sa=new Qb(null
,&quot;flush-on-newline&quot;,&quot;flush-on-newline&quot;,-151457939),ua=new Qb(null,&quot;met
a&quot;,&quot;meta&quot;,1499536964),Ve=new Qb(null,&quot;fallback-impl&quot;,&quot;fallback-impl&quot;,-
1501286995),ta=new Qb(null,&quot;readably&quot;,&quot;readably&quot;,1129599760),Ue=new Qb
(null,&quot;alt-impl&quot;,&quot;alt-impl&quot;,670969595),va=new Qb(null,&quot;dup&quot;,&quot;dup&quot;,5562
98533),Le=new Qb(null,&quot;more-marker&quot;,&quot;more-marker&quot;,-14717935);var af=re
quire(&quot;@silvia-odwyer/photon-node&quot;);var cf=require(&quot;fs&quot;);require(&quot;node
-fetch&quot;);pd(function(){$e(qc([&quot;App loaded!&quot;]));$e(qc([&quot;asdasd&quot;]));var
a=cf.readFileSync(&quot;input.png&quot;,{encoding:&quot;base64&quot;}).replace(/^data:imag
e\/(png|jpg);base64,/,&quot;&quot;);a=af.PhotonImage.new_from_base64(a);a=af.gra
yscale(a);a=af.get_base64(a).replace(/^data:image\/\w+;base64,/,&quot;&quot;);re
turn $e(qc([a]))},process.argv.slice(2));

TypeError: af.get_base64 is not a function
    at Function.&amp;lt;anonymous&amp;gt; (C:\Users\usuario\desktop\clojure\minimal-
shadow-cljs-nodejs\target\main.js:230:1066)
    at pd (C:\Users\usuario\desktop\clojure\minimal-shadow-cljs-nodejs
\target\main.js:112:412)
    at C:\Users\usuario\desktop\clojure\minimal-shadow-cljs-nodejs\tar
get\main.js:230:850
    at Object.&amp;lt;anonymous&amp;gt; (C:\Users\usuario\desktop\clojure\minimal-sh
adow-cljs-nodejs\target\main.js:231:3)
    at Module._compile (internal/modules/cjs/loader.js:1015:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1
035:10)
    at Module.load (internal/modules/cjs/loader.js:879:32)
    at Function.Module._load (internal/modules/cjs/loader.js:724:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/r
un_main.js:60:12)
    at internal/main/run_main_module.js:17:47
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Saying that get_base64 is not a function...&lt;br&gt;
doc: &lt;a rel=&quot;nofollow&quot; href=&quot;https://docs.rs/photon-rs/0.2.0/photon_rs/struct.PhotonImage.html#method.get_base64&quot;&gt;https://docs.rs/photon-rs/0.2.0/photon_rs/struct.PhotonImage.html#method.get_base64&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I don't know if node-fetch can be related to this&lt;/p&gt;
&lt;p&gt;I'm doing something wrong?&lt;/p&gt;
</description>
<category>ClojureScript</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/9709/not-recognized-function-using-photon-library-with-node-js</guid>
<pubDate>Tue, 13 Oct 2020 05:02:28 +0000</pubDate>
</item>
<item>
<title>How to use highlight.js in a shadow-cljs project?</title>
<link>https://ask.clojure.org/index.php/9068/how-to-use-highlight-js-in-a-shadow-cljs-project</link>
<description>&lt;p&gt;I am very new to web dev and have been trying to get highlight.js to format some code on a page that I am writing, but I am having trouble getting it to show up correctly formatted.&lt;/p&gt;
&lt;p&gt;I have tried just referencing the minimized script/a style sheet from cdnjs and calling &lt;code&gt;hljs.initHighlightingOnLoad();&lt;/code&gt; in my index.html, then formatting things like &lt;code&gt;[:pre [:code {:class &quot;Clojure&quot;} &quot;(+ 1 1) ;=&amp;gt; 2&quot;]]&lt;/code&gt; but that did not work.&lt;/p&gt;
&lt;p&gt;I can see that there are &lt;em&gt;&quot;highlight.js&quot;: &quot;9.15.10&quot;&lt;/em&gt; and &lt;em&gt;&quot;react-highlight.js&quot;: &quot;^1.0.7&quot;&lt;/em&gt;  in my packages.json, but using &lt;code&gt;[:Highlight {:language &quot;Clojure&quot;} &quot;(+ 1 1)&quot;]&lt;/code&gt; did not work, either.&lt;/p&gt;
&lt;p&gt;If someone could show me what I am missing I would be very grateful.&lt;/p&gt;
</description>
<category>ClojureScript</category>
<guid isPermaLink="true">https://ask.clojure.org/index.php/9068/how-to-use-highlight-js-in-a-shadow-cljs-project</guid>
<pubDate>Tue, 28 Jan 2020 22:12:52 +0000</pubDate>
</item>
</channel>
</rss>