earthstar-project/earthstar-cli

Not compatible with Deno 1.26.0

johanbove opened this issue · 3 comments

Versions:

  • Deno 1.26.0
  • Earthstar CLI v8.3.5

The Deno.setRaw() error happens when running a command like "earthstar shares latest":

$ earthstar shares latest
 ? Choose a share › error: Uncaught (in promise) TypeError: Deno.setRaw is not a function
      (Deno.setRaw as setRaw)(
                             ^
    at Input.#readChar (https://deno.land/x/cliffy@v0.22.2/prompt/_generic_prompt.ts:285:30)
    at Input.#readKey (https://deno.land/x/cliffy@v0.22.2/prompt/_generic_prompt.ts:273:50)
    at Input.read (https://deno.land/x/cliffy@v0.22.2/prompt/_generic_prompt.ts:169:52)
    at Input.#execute (https://deno.land/x/cliffy@v0.22.2/prompt/_generic_prompt.ts:111:21)
    at async Input.prompt (https://deno.land/x/cliffy@v0.22.2/prompt/_generic_prompt.ts:90:14)
    at async Command.fn (https://deno.land/x/earthstar_cli@8.3.5/src/share.ts:490:36)
    at async Command.execute (https://deno.land/x/cliffy@v0.22.2/command/command.ts:1026:7)
    at async Command.parse (https://deno.land/x/cliffy@v0.22.2/command/command.ts:940:16)
    at async https://deno.land/x/earthstar_cli@8.3.5/src/main.ts:23:1

Seems to be related to this denoland/deno#15796

Work-around

Downgrade Deno to version 1.25.4 for now.

Requires upgrading Cliffy to v0.25.2 due to a breaking API change in Deno 1.26.0 (as Johan pointed to above). Something I'm unsure about is how to deal with various Deno versions depending on the user's installation. From what I understand, Earthstar CLI can't enforce the Deno version that's used to install it

Two things to be done:

  1. Add the latest compatible version of Deno to the README of this project, as Cliffy is used and Cliffy uses unstable Deno APIs.
  2. Update the Cliffy dependency so it's compatible with Deno 1.26

Fixed in 8.3.6.