NBB Async Relative imports
Update: Relative async imports fixed on https://github.com/babashka/nbb/commit/2c9b5478ed67c3c9258ef40c50e2eb2b12b641fe! 🎉
Node example
fd -d1 -tf 'mjs' src -x sh -c "echo $'\n\n$> node {}'; head -1 {}; node {}"
$> node src/main-imp-del-async.mjs
// Works; Imperative delayed async import
Loaded main.mjs
Loaded helper.mjs
Loaded index.mjs
$> node src/main-imp-async.mjs
// Works: Imperative async import
Loaded main.mjs
Loaded helper.mjs
Loaded index.mjs
$> node src/main-dec-sync.mjs
// Works: Declarative sync import
Loaded helper.mjs
Loaded index.mjs
Loaded main.mjs
$> node src/main-imp-sync.mjs
// Works: Imperative sync import
Loaded helper.mjs
Loaded index.mjs
Loaded main.mjs
Note the printing order changes between the synchronous and asynchronous versions
Clojurescript reproduction
fd -d1 -tf 'cljs' src -x sh -c "echo $'\n\n$> nbb {}'; head -1 {}; nbb --classpath $PWD/src {}"
$> nbb src/main-imp-sync.cljs
;; Works: Imperative sync import
Loaded helper.mjs
Loaded module
Loaded main.cljs
$> nbb src/main-dec-sync.cljs
;; Works: Declarative sync import
Loaded helper.mjs
Loaded module
Loaded main.cljs
$> nbb src/main-imp-del-async.cljs
;; Works: Imperative delayed async import
Loaded main.cljs
Loaded helper.mjs
Loaded module
$> nbb src/main-imp-async.cljs
;; Works: Imperative delayed async import
Loaded main.cljs
Loaded helper.mjs
Loaded module
$> nbb src/main-imp-async-awaited.cljs
;; Works: Imperative do-delayed async import awaited
Loaded helper.mjs
Loaded module
Loaded main.cljs
$> nbb src/main-imp-async-2.cljs
;; Works: Imperative delayed async import
Loaded helper.mjs
Loaded module
Loaded main.cljs
$> nbb src/main-imp-del-async-awaited.cljs
;; Half-works?: Imperative promise-delayed async import awaited
Loaded helper.mjs
Loaded module
;; Missing "Loaded main.cljs"