cljs.repl is not loaded in node socket io-prepl, which is required for formatting errors (err->str)

Description

Mike introduced a change to improve spec failure output in this commit: https://github.com/clojure/clojurescript/commit/59997385d85e7e1af1559d599eb51fdb1d7e93b1#diff-cba27ef5577ebe459e904b894c982c0bR89

This code depends on `cljs.repl` being loaded, this is not the case by default in a ClojureScript socket based io-prepl. If an error is thrown it will instead throw again because it can't find `cljs.repl/err->str` (the name will appear munged in the JavaScript stacktrace).

Environment

None

Activity

Show:

Mike Fikes January 27, 2019 at 2:09 PM

Similar to

Mike Fikes December 19, 2018 at 1:38 PM

For the error handling in other REPLs CLJS-3011.

Oliver Caldwell December 19, 2018 at 1:36 PM

Should we ensure `cljs.repl` is loaded within this node prepl context? I'm also wondering why only `node_repl.js` exists, why isn't the same error handling included for browser / graal / nashorn REPLs? Maybe it is and I'm just missing something.

Details

Assignee

Reporter

Labels

Approval

Triaged

Priority

Created December 19, 2018 at 1:35 PM
Updated January 27, 2019 at 2:09 PM