elearning/Frontend-Learner/node_modules/@clack/prompts/CHANGELOG.md
2026-01-13 10:48:02 +07:00

16 KiB

@clack/prompts

1.0.0-alpha.8

Patch Changes

  • 43aed55: Change styling of disabled multi-select options to have strikethrough.
  • 2feaebb: Fix duplicated logs when scrolling through options with multiline messages by calculating rowPadding dynamically based on actual rendered lines instead of using a hardcoded value.
  • 42adff8: fix: add missing guide line in autocomplete-multiselect
  • 8e2e30a: fix: fix autocomplete bar color when validate
  • 9b92161: Show symbol when withGuide is true for log messages

1.0.0-alpha.7

Minor Changes

  • 38019c7: Updates the API for stopping spinners and progress bars to be clearer

    Previously, both the spinner and progress bar components used a single stop method that accepted a code to indicate success, cancellation, or error. This update separates these into distinct methods: stop(), cancel(), and error():

    const spinner = prompts.spinner();
    spinner.start();
    
    // Cancelling a spinner
    - spinner.stop(undefined, 1);
    + spinner.cancel();
    
    // Stopping with an error
    - spinner.stop(undefined, 2);
    + spinner.error();
    

    As before, you can pass a message to each method to customize the output displayed:

    spinner.cancel("Operation cancelled by user");
    progressBar.error("An error occurred during processing");
    

Patch Changes

  • 4d1d83b: Fixes rendering of multi-line messages and options in select prompt.
  • 6176ced: Add withGuide support to note prompt
  • 69681ea: Strip destructive ANSI codes from task log messages.
  • b0fa7d8: Add support for wrapped messages in multi line prompts
  • 7530af0: Fixes wrapping of cancelled and success messages of select prompt
  • acc4c3a: Add a new withGuide option to all prompts to disable the default clack border
  • Updated dependencies [0718b07]
  • Updated dependencies [4ba2d78]
  • Updated dependencies [acc4c3a]
    • @clack/core@1.0.0-alpha.7

1.0.0-alpha.6

Minor Changes

  • 8409f2c: feat: add styleFrame option for spinner

Patch Changes

  • aea4573: Clamp scrolling windows to 5 rows.
  • b103ad3: Allow disabled options in multi-select and select prompts.
  • Updated dependencies [b103ad3]
    • @clack/core@1.0.0-alpha.6

1.0.0-alpha.5

Minor Changes

  • 55645c2: Support wrapping autocomplete and select prompts.

Patch Changes

  • 9999adf: fix note component overflow bug
  • 2839c66: fix(note): hard wrap text to column limit
  • 71b5029: Add missing nullish checks around values.
  • d25f6d0: fix(note, box): handle CJK correctly
  • 0b852e1: Handle stop calls on spinners which have not yet been started.
  • 09e596c: refactor(progress): remove unnecessary return statement in start function
  • 2310b43: Allow custom writables as output stream.
  • Updated dependencies [71b5029]
  • Updated dependencies [55645c2]
  • Updated dependencies [2310b43]
    • @clack/core@1.0.0-alpha.5

1.0.0-alpha.4

Patch Changes

  • 7b009df: Fix spinner clearing too many lines upwards when non-wrapping.
  • ae84dd0: Update key binding text to show tab/space when navigating, and tab otherwise.
  • Updated dependencies [d98e033]
    • @clack/core@1.0.0-alpha.4

1.0.0-alpha.3

Minor Changes

  • 76fd17f: Added new box prompt for rendering boxed text, similar a note.
  • 1604f97: Add clearOnError option to password prompt to automatically clear input when validation fails

Patch Changes

  • 1a45f93: Switched from wrap-ansi to fast-wrap-ansi
  • 4c89dd7: chore: use more accurate type to replace any in group select
  • Updated dependencies [1a45f93]
  • Updated dependencies [1604f97]
    • @clack/core@1.0.0-alpha.3

1.0.0-alpha.2

Minor Changes

  • f10071e: Using the group method, task logs can now have groups which themselves can have scrolling windows of logs.

Patch Changes

  • 282b39e: Wrap spinner output to allow for multi-line/wrapped messages.
  • 7df841d: Removed all trailing space in prompt output and fixed various padding rendering bugs.
  • 17d3650: Use a default import for picocolors to avoid run time errors in some environments.
  • Updated dependencies [7df841d]
    • @clack/core@1.0.0-alpha.2

1.0.0-alpha.1

Minor Changes

  • 7bc3301: Prompts now have a userInput stored separately from their value.
  • 2837845: Adds suggestion and path prompts
  • 9e5bc6c: Add support for signals in prompts, allowing them to be aborted.
  • df4eea1: Remove suggestion prompt and change path prompt to be an autocomplete prompt.
  • 9bd8072: Add a required option to autocomplete multiselect.

Patch Changes

  • bfe0dd3: Prevents placeholder from being used as input value in text prompts
  • 94fee2a: Changes placeholder to be a visual hint rather than a tabbable value.
  • Updated dependencies [bfe0dd3]
  • Updated dependencies [7bc3301]
  • Updated dependencies [2837845]
  • Updated dependencies [34f52fe]
  • Updated dependencies [94fee2a]
  • Updated dependencies [4f6b3c2]
  • Updated dependencies [df4eea1]
  • Updated dependencies [8ead5d3]
    • @clack/core@1.0.0-alpha.1

1.0.0-alpha.0

Major Changes

  • c713fd5: The package is now distributed as ESM-only. In v0 releases, the package was dual-published as CJS and ESM.

    For existing CJS projects using Node v20+, please see Node's guide on Loading ECMAScript modules using require().

Minor Changes

  • 99c3530: Adds format option to the note prompt to allow formatting of individual lines

  • 0aaee4c: Added new taskLog prompt for log output which is cleared on success

  • 729bbb6: Add support for customizable spinner cancel and error messages. Users can now customize these messages either per spinner instance or globally via the updateSettings function to support multilingual CLIs.

    This update also improves the architecture by exposing the core settings to the prompts package, enabling more consistent default message handling across the codebase.

    // Per-instance customization
    const spinner = prompts.spinner({
      cancelMessage: "Operación cancelada", // "Operation cancelled" in Spanish
      errorMessage: "Se produjo un error", // "An error occurred" in Spanish
    });
    
    // Global customization via updateSettings
    prompts.updateSettings({
      messages: {
        cancel: "Operación cancelada", // "Operation cancelled" in Spanish
        error: "Se produjo un error", // "An error occurred" in Spanish
      },
    });
    
    // Settings can now be accessed directly
    console.log(prompts.settings.messages.cancel); // "Operación cancelada"
    
    // Direct options take priority over global settings
    const spinner = prompts.spinner({
      cancelMessage: "Cancelled", // This will be used instead of the global setting
    });
    
  • 44df9af: Adds a new groupSpacing option to grouped multi-select prompts. If set to an integer greater than 0, it will add that number of new lines between each group.

  • f2c2b89: Adds AutocompletePrompt to core with comprehensive tests and implement both autocomplete and autocomplete-multiselect components in prompts package.

  • c45b9fb: Adds support for detecting spinner cancellation via CTRL+C. This allows for graceful handling of user interruptions during long-running operations.

  • 9a09318: Adds new progress prompt to display a progess-bar

  • 19558b9: Added support for custom frames in spinner prompt

Patch Changes

  • 46dc0a4: Fixes multiselect only shows hints on the first item in the options list. Now correctly shows hints for all selected options with hint property.
  • 17342d2: Exposes a new SpinnerResult type to describe the return type of spinner
  • 6868c1c: Adds a new selectableGroups boolean to the group multi-select prompt. Using selectableGroups: false will disable the ability to select a top-level group, but still allow every child to be selected individually.
  • 7a556ad: Updates all prompts to accept a custom output and input stream
  • 7cc8a55: Messages passed to the stop method of a spinner no longer have dots stripped.
  • 2048eb1: Fix spinner's dots behavior with custom frames
  • Updated dependencies [729bbb6]
  • Updated dependencies [6868c1c]
  • Updated dependencies [a4f5034]
  • Updated dependencies [c713fd5]
  • Updated dependencies [a36292b]
  • Updated dependencies [f2c2b89]
    • @clack/core@1.0.0-alpha.0

0.10.0

Minor Changes

  • 613179d: Adds a new indicator option to spinner, which supports the original "dots" loading animation or a new "timer" loading animation.

    import * as p from "@clack/prompts";
    
    const spin = p.spinner({ indicator: "timer" });
    spin.start("Loading");
    await sleep(3000);
    spin.stop("Loaded");
    
  • a38b2bc: Adds stream API which provides the same methods as log, but for iterable (even async) message streams. This is particularly useful for AI responses which are dynamically generated by LLMs.

    import * as p from "@clack/prompts";
    
    await p.stream.step(
      (async function* () {
        yield* generateLLMResponse(question);
      })()
    );
    

0.9.1

Patch Changes

  • 8093f3c: Adds Error support to the validate function
  • 98925e3: Exports the Option type and improves JSDocannotations
  • 1904e57: Replace custom utility for stripping ANSI control sequences with Node's built-in stripVTControlCharacters utility.
  • Updated dependencies [8093f3c]
  • Updated dependencies [e5ba09a]
  • Updated dependencies [8cba8e3]
    • @clack/core@0.4.1

0.9.0

Minor Changes

  • a83d2f8: Adds a new updateSettings() function to support new global keybindings.

    updateSettings() accepts an aliases object that maps custom keys to an action (up | down | left | right | space | enter | cancel).

    import { updateSettings } from "@clack/prompts";
    
    // Support custom keybindings
    updateSettings({
      aliases: {
        w: "up",
        a: "left",
        s: "down",
        d: "right",
      },
    });
    

Warning

In order to enforce consistent, user-friendly defaults across the ecosystem, updateSettings does not support disabling Clack's default keybindings.

  • 801246b: Adds a new signal option to support programmatic prompt cancellation with an abort controller.

    One example use case is automatically cancelling a prompt after a timeout.

    const shouldContinue = await confirm({
      message: "This message will self destruct in 5 seconds",
      signal: AbortSignal.timeout(5000),
    });
    

    Another use case is racing a long running task with a manual prompt.

    const abortController = new AbortController();
    
    const projectType = await Promise.race([
      detectProjectType({
        signal: abortController.signal,
      }),
      select({
        message: "Pick a project type.",
        options: [
          { value: "ts", label: "TypeScript" },
          { value: "js", label: "JavaScript" },
          { value: "coffee", label: "CoffeeScript", hint: "oh no" },
        ],
        signal: abortController.signal,
      }),
    ]);
    
    abortController.abort();
    
  • a83d2f8: Updates default keybindings to support Vim motion shortcuts and map the escape key to cancel (ctrl+c).

    alias action
    k up
    l right
    j down
    h left
    esc cancel

Patch Changes

  • f9f139d: Adapts spinner output for static CI environments
  • Updated dependencies [a83d2f8]
  • Updated dependencies [801246b]
  • Updated dependencies [a83d2f8]
  • Updated dependencies [51e12bc]
    • @clack/core@0.4.0

0.8.2

Patch Changes

  • Updated dependencies [4845f4f]
  • Updated dependencies [d7b2fb9]
    • @clack/core@0.3.5

0.8.1

Patch Changes

  • 360afeb: feat: adaptative max items

0.8.0

Minor Changes

  • 9acccde: Add tasks function for executing tasks in spinners

Patch Changes

  • b5c6b9b: Feat multiselect maxItems option
  • 50ed94a: fix: clear spinner hooks on spinner.stop
  • Updated dependencies [a04e418]
  • Updated dependencies [4f6fcf5]
    • @clack/core@0.3.4

0.7.0

Minor Changes

  • b27a701: add maxItems option to select prompt
  • 89371be: added a new method called spinner.message(msg: string)

Patch Changes

  • 52183c4: Fix spinner conflict with terminal on error between spinner.start() and spinner.stop()
  • ab51d29: Fixes cases where the note title length was miscalculated due to ansi characters
  • Updated dependencies [cd79076]
    • @clack/core@0.3.3

0.6.3

Patch Changes

  • c96eda5: Enable hard line-wrapping behavior for long words without spaces
  • Updated dependencies [c96eda5]
    • @clack/core@0.3.2

0.6.2

Patch Changes

  • 58a1df1: Fix line duplication bug by automatically wrapping prompts to process.stdout.columns
  • Updated dependencies [58a1df1]
    • @clack/core@0.3.1

0.6.1

Patch Changes

  • ca08fb6: Support complex value types for select, multiselect and groupMultiselect.

0.6.0

Minor Changes

  • 8a4a12f: add groupMultiselect prompt
  • 165a1b3: Add log APIs. Supports log.info, log.success, log.warn, and log.error. For low-level control, log.message is also exposed.

Patch Changes

  • Updated dependencies [8a4a12f]
  • Updated dependencies [8a4a12f]
    • @clack/core@0.3.0

0.5.1

Patch Changes

  • cc11917: Update default password mask
  • Updated dependencies [ec812b6]
    • @clack/core@0.2.1

0.5.0

Minor Changes

  • d74dd05: Adds a selectKey prompt type
  • 54c1bc3: Breaking Change multiselect has renamed initialValue to initialValues

Patch Changes

  • Updated dependencies [d74dd05]
  • Updated dependencies [54c1bc3]
    • @clack/core@0.2.0

0.4.5

Patch Changes

  • 1251132: Multiselect: return Value[] instead of Option[].
  • 8994382: Add a password prompt to @clack/prompts
  • Updated dependencies [1251132]
  • Updated dependencies [8994382]
    • @clack/core@0.1.9

0.4.4

Patch Changes

  • d96071c: Don't mutate initialValue in multiselect, fix parameter type for validate().

    Credits to @banjo for the bug report and initial PR!

  • Updated dependencies [d96071c]

    • @clack/core@0.1.8

0.4.3

Patch Changes

  • 83d890e: Fix text cancel display bug

0.4.2

Patch Changes

  • Update README

0.4.1

Patch Changes

  • 7fb5375: Adds a new defaultValue option to the text prompt, removes automatic usage of the placeholder value.
  • Updated dependencies [7fb5375]
    • @clack/core@0.1.6

0.4.0

Minor Changes

  • 61b88b6: Add group construct to group many prompts together

Patch Changes

  • de1314e: Support required option for multi-select
  • Updated dependencies [de1314e]
    • @clack/core@0.1.5

0.3.0

Minor Changes

  • 493c592: Improve types for select/multiselect prompts. Numbers and booleans are now supported as the value option.
  • 15558e3: Improved Windows/non-unicode support

Patch Changes

  • ca77da1: Fix multiselect initial value logic
  • Updated dependencies [ca77da1]
  • Updated dependencies [8aed606]
    • @clack/core@0.1.4

0.2.2

Patch Changes

  • 94b24d9: Fix CJS ansi-regex interop

0.2.1

Patch Changes

  • a99c458: Support initialValue option for text prompt
  • Updated dependencies [a99c458]
    • @clack/core@0.1.3

0.2.0

Minor Changes

  • Improved type safety
  • b1341d6: Updated styles, new note component

Patch Changes

  • Updated dependencies [7dcad8f]
  • Updated dependencies [2242f13]
  • Updated dependencies [b1341d6]
    • @clack/core@0.1.2

0.1.1

Patch Changes

  • fa09bf5: Use circle for radio, square for checkbox
  • Updated dependencies [4be7dbf]
  • Updated dependencies [b480679]
    • @clack/core@0.1.1

0.1.0

Minor Changes

  • 7015ec9: Create new prompt: multi-select

Patch Changes

  • Updated dependencies [7015ec9]
    • @clack/core@0.1.0

0.0.10

Patch Changes

  • e0b49e5: Update spinner so it actually spins

0.0.9

Patch Changes

  • Update README

0.0.8

Patch Changes

  • Updated dependencies [9d371c3]
    • @clack/core@0.0.12

0.0.7

Patch Changes

  • Update README

0.0.6

Patch Changes

  • d20ef2a: Update keywords, URLs
  • Updated dependencies [441d5b7]
  • Updated dependencies [d20ef2a]
  • Updated dependencies [fe13c2f]
    • @clack/core@0.0.11

0.0.5

Patch Changes

  • Update README

0.0.4

Patch Changes

  • 80404ab: Update README

0.0.3

Patch Changes

  • a0cb382: Add main entrypoint
  • Updated dependencies [a0cb382]
    • @clack/core@0.0.10

0.0.2

Patch Changes

  • Updated dependencies
    • @clack/core@0.0.9

0.0.1

Patch Changes

  • a4b5e13: Initial release
  • Updated dependencies [a4b5e13]
    • @clack/core@0.0.8