Pinpointer
Pinpointer copied to clipboard
Lumo error on require of pinpointer.core
Hi!
I am trying this wonderful library with lumo
and I get the following error when I require the main namespace:
Could not require pinpointer.core in file ep_cloud/dev.cljs
(new)
Function.cljs.core.ex_info.cljs$core$IFn$_invoke$arity$3 (NO_SOURCE_FILE <embedded>:2024:72)
Function.cljs.analyzer.error.cljs$core$IFn$_invoke$arity$3 (NO_SOURCE_FILE <embedded>:2660:92)
(NO_SOURCE_FILE <embedded>:5660:320)
(Object.lumo.repl.run_sync_BANG_)
Object.cljs.js.process_deps (NO_SOURCE_FILE <embedded>:5637:185)
Object.cljs.js.process_libs_deps (NO_SOURCE_FILE <embedded>:5640:60)
(NO_SOURCE_FILE <embedded>:5658:474)
(Object.lumo.repl.run_sync_BANG_)
Object.cljs.js.process_deps (NO_SOURCE_FILE <embedded>:5637:185)
Unexpected eval or arguments in strict mode
createScript (vm.cljs:80:10)
Object.runInThisContext (vm.cljs:152:10)
(Object._t)
lumo.repl.caching_node_eval (NO_SOURCE_FILE <embedded>:6481:68)
(NO_SOURCE_FILE <embedded>:5659:410)
(Object.lumo.repl.run_sync_BANG_)
Object.cljs.js.process_deps (NO_SOURCE_FILE <embedded>:5637:185)
Object.cljs.js.process_libs_deps (NO_SOURCE_FILE <embedded>:5640:60)
(NO_SOURCE_FILE <embedded>:5658:474)
(Object.lumo.repl.run_sync_BANG_)
Any hint of what that can be?
Hi, @arichiardi
Thank you for reporting the issue :)
That error can be reproduced in my environment too. It looks like the error message is complaining Pinpointer's use of eval
, which is necessary for the error analysis and so seems hard to remove it completely from Pinpointer.
Perhaps a quick workaround is to disable Lumo's --use-strict
flag for your development time (see here for the details), but I'll dig into it a little more.
Will try that out and report back!
I have tried to have a dev.cljs
in a file:
(ns pkg.dev
(:require
[cljs.spec.alpha :as s]
[cljs.test :as test]
lumo.core
lumo.repl
[cljs.spec.test.alpha :as stest]))
(enable-console-print!)
;; https://github.com/anmonteiro/lumo/issues/28
(def v8 (js/require "v8"))
(.setFlagsFromString v8 "--no-use_strict")
;; Trying out a couple of libs for better spec printing
;; (set! s/*explain-out* expound/printer)
(require '[pinpointer.core :as pinpointer])
(set! s/*explain-out* (partial pinpointer/pinpoint-out
{:colorize true
:eval lumo.core/eval}))
And while this works at the REPL, it does not when loading with the -i
file.
Probably something still connected to https://github.com/anmonteiro/lumo/issues/28