Fork me on GitHub
#shadow-cljs
<
2024-01-27
>
Fredrik Andersson10:01:35

I have a problem with release build not finding a node module. It's the puppeteer.js module. It works in watch mode. Error:

node:internal/modules/cjs/loader:936
  throw err;
  ^

Error: Cannot find module '/shadow.js.shim.module$puppeteer.js'
Require stack:
- /home/fredrik/src/macros/dist/runner/host.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
    at Function.Module._load (node:internal/modules/cjs/loader:778:27)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at /home/fredrik/src/macros/dist/runner/host.js:296:333
    at Object. (/home/fredrik/src/macros/dist/runner/host.js:306:3)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [ '/home/fredrik/src/macros/dist/runner/host.js' ]
}
shadow-cljs
{:source-paths ["src/main"]

 :dependencies [[reagent "1.2.0" :exclusions [cljsjs/react cljsjs/react-dom]]
                [binaryage/devtools "1.0.6"]
                [babashka/process "0.1.7"]
                [metosin/reitit "0.5.18"]
                [cljs-http "0.1.46"]
                [noencore "0.3.7"]
                [funcool/promesa "11.0.678"]
                [reagent-utils "0.3.6"]
                [cljs-ajax "0.8.4"]
                [metosin/reitit "0.6.0"]
                [thedavidmeister/cljs-i18n "0.4.0"]]

 :builds
 {:runner-host {:target :node-script
                :output-to "dist/runner/host.js"
                :main macros.runner.host/main
                :compiler-options {:output-feature-set :es6}
                :dev {:closure-defines {anr.fire.admin/EMULATOR true
                                        anr.fire.admin/PROJECT-ID "macros-6d380"}}

                :release {:closure-defines {anr.fire.admin/EMULATOR false
                                            anr.fire.admin/PROJECT-ID "macros-6d380"}}

                :devtools {:before-load-async macros.runner.host/stop
                           :after-load-async macros.runner.host/start}}}
package.json
"dependencies": {
    "@headlessui/react": "^1.7.14",
    "@heroicons/react": "^2.0.18",
    "axios": "^1.6.2",
    "create-react-class": "^15.7.0",
    "express": "^4.18.2",
    "firebase": "^9.20.0",
    "firebase-admin": "^11.7.0",
    "firebase-functions": "^4.3.1",
    "highlight.js": "11.1.0",
    "ical-generator": "^6.0.0",
    "puppeteer": "^21.5.2",
    "puppeteer-extra": "^3.3.6",
    "qrcode.react": "^3.1.0",
    "react": "17.0.2",
    "react-dom": "17.0.2"
  },

Fredrik Andersson10:01:15

I solved it. Apparently I had a JS-file that was require the dependency. I suppose that shadow-cljs can not identify those dependencies. Thanks!