Skip to content

Does not seem to work when compiling to JS #15

@bucsi

Description

@bucsi

I'm running shellout on MacOs arm64, with gleam 1.14.0 targeting javascript. On the runtimes I get an error:

bun

    Running shellout_js_bug.main
55 |   );
56 |   if (!is_ok(executable)) {
57 |     return map_error(executable, (error) => [1, error]);
58 |   }
59 | 
60 |   let getBool = (map, key) => (map.get(key) ?? false);
                                        ^
TypeError: map.get is not a function. (In 'map.get(key)', 'map.get' is undefined)
      at getBool (/Users/redacted/shellout_js_bug/build/dev/javascript/shellout/shellout_ffi.mjs:60:36)
      at os_command (/Users/redacted/shellout_js_bug/build/dev/javascript/shellout/shellout_ffi.mjs:69:18)
      at main (/Users/redacted/shellout_js_bug/build/dev/javascript/shellout_js_bug/shellout_js_bug.mjs:17:25)
      at /Users/redacted/shellout_js_bug/build/dev/javascript/shellout_js_bug/gleam.main.mjs:2:1
      at loadAndEvaluateModule (2:1)

Bun v1.3.0 (macOS arm64)

node

    Running shellout_js_bug.main
file:///Users/redacted/shellout_js_bug/build/dev/javascript/shellout/shellout_ffi.mjs:60
  let getBool = (map, key) => (map.get(key) ?? false);
                                   ^

TypeError: map.get is not a function
    at getBool (file:///Users/redacted/shellout_js_bug/build/dev/javascript/shellout/shellout_ffi.mjs:60:36)
    at os_command (file:///Users/redacted/shellout_js_bug/build/dev/javascript/shellout/shellout_ffi.mjs:69:18)
    at file:///Users/redacted/shellout_js_bug/build/dev/javascript/shellout/shellout.mjs:263:12
    at Module.command (file:///Users/redacted/shellout_js_bug/build/dev/javascript/shellout/shellout.mjs:264:5)
    at main (file:///Users/redacted/shellout_js_bug/build/dev/javascript/shellout_js_bug/shellout_js_bug.mjs:17:25)
    at file:///Users/redacted/shellout_js_bug/build/dev/javascript/shellout_js_bug/gleam.main.mjs:2:1
    at ModuleJob.run (node:internal/modules/esm/module_job:413:25)
    at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:654:26)
    at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:101:5)

Node.js v25.2.1

deno

    Running shellout_js_bug.main
┏ ⚠️  Deno requests env access to "PATHEXT".
✅ Granted all env access.
┏ ⚠️  Deno requests read access to "/Users/I574904/.local/share/mise/installs/deno/2.4.5/bin/ls".
✅ Granted all read access.
error: Uncaught (in promise) TypeError: map.get is not a function
  let getBool = (map, key) => (map.get(key) ?? false);
                                   ^
    at getBool (file:///Users/redacted/shellout_js_bug/build/dev/javascript/shellout/shellout_ffi.mjs:60:36)
    at os_command (file:///Users/redacted/shellout_js_bug/build/dev/javascript/shellout/shellout_ffi.mjs:72:7)
    at file:///Users/redacted/shellout_js_bug/build/dev/javascript/shellout/shellout.mjs:263:12
    at Module.command (file:///Users/redacted/shellout_js_bug/build/dev/javascript/shellout/shellout.mjs:264:5)
    at main (file:///Users/redacted/shellout_js_bug/build/dev/javascript/shellout_js_bug/shellout_js_bug.mjs:17:25)
    at file:///Users/redacted/shellout_js_bug/build/dev/javascript/shellout_js_bug/gleam.main.mjs:2:1

Minimal reproduction with bun: https://github.com/bucsi/shellout_js_bug

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions