aisamu / nbb-relative-async-imports

Reproduction repository for the behavior os nbb async imports

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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"

About

Reproduction repository for the behavior os nbb async imports


Languages

Language:Clojure 73.2%Language:JavaScript 26.8%