consola icon indicating copy to clipboard operation
consola copied to clipboard

`initial` prop doesn't seem to work

Open warflash opened this issue 1 year ago • 4 comments
trafficstars

Environment

node: v18.18.0 consola: 3.2.3

Reproduction

https://stackblitz.com/edit/stackblitz-starters-wxmucj?file=index.js,package.json

Describe the bug

Setting the initial prop of promps doesn't seem to work. The repro above is taken from the example code in the repo https://github.com/unjs/consola/blob/main/examples/prompt.ts

Additional context

No response

Logs

No response

warflash avatar Jan 20 '24 00:01 warflash

I looked hard to find out why.

I find the consola/dist/chunks/prompt.mjs file produced by the repository building and the one distributed via npm are different.

In https://www.npmjs.com/package/consola?activeTab=code file:consola/dist/chunks/prompt.mjs line: 409-425

The expected product should be:

  if (opts.type === "select") {
    return await select({
      message,
      options: opts.options.map(
        (o) => typeof o === "string" ? { value: o, label: o } : o
      )
+     initialValue: opts.initial
    });
  }
  if (opts.type === "multiselect") {
    return await multiselect({
      message,
      options: opts.options.map(
        (o) => typeof o === "string" ? { value: o, label: o } : o
      ),
      required: opts.required,
+      initialValue: opts.initial
    });
  }

Maybe we should release a new version soon. :) cc @pi0

peterroe avatar Jan 20 '24 04:01 peterroe

You can install from GitHub so long, (e.g. with pnpm https://pnpm.io/cli/add#install-from-git-repository). Or use https://www.npmjs.com/package/patch-package

I created a fork and added a prepare script so that the package gets built: https://github.com/LekoArts/consola/tree/prepare-script

Then with pnpm you can use:

pnpm add github:LekoArts/consola#prepare-script

@pi0 Can you release a new version please? Thanks a lot!

LekoArts avatar Feb 09 '24 09:02 LekoArts

Can this be fixed please ?

Winns avatar Jun 18 '24 21:06 Winns