Back to Explore

SBoudrias/Inquirer.js

GitHub
47 updates · last 90 daysOpen source

Last release:

Inquirer.js is a JavaScript library for building interactive command-line user interfaces, providing common prompt types like input, select, checkbox, confirm, search, password, and editor. It is useful for creating terminal experiences that collect user responses with a consistent API and supports localization via the @inquirer/i18n package.

Project status

  • Actively maintained, with repository activity and package updates as recently as October 27, 2026.
  • Recent updates are frequent but clustered, with several related packages updated on October 19 and 27.

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • inquirer@14.2.5

    inquirer@14.2.5 updates two prompt dependencies with fixes for password prompt rendering and piped-stdin answer handling. No breaking changes or migration steps are noted.

  • @inquirer/prompts@8.7.5

    This maintenance release updates `@inquirer/password` and `@inquirer/core` with fixes for password prompt cursor positioning and answers being dropped from piped stdin. No breaking changes or migration steps are noted.

  • @inquirer/testing@3.3.16

    @inquirer/testing 3.3.16 improves compatibility with bundlers, alternative module loaders, and Jest transforms. It also adds end-to-end test coverage for the Vitest and Jest adapters through their public APIs.

  • @inquirer/core@12.0.6

    @inquirer/core@12.0.6 fixes prompts dropping answers piped into non-TTY stdin before the prompt starts, preventing hangs in harnesses that write answers immediately. The diff also includes an undocumented fallback behavior change for external editor selection and substantial repository test and CI tooling updates.

  • @inquirer/password@5.2.5

    @inquirer/password@5.2.5 fixes cursor positioning in the password prompt when the answer is empty. The space between the prompt message and the masked answer is now preserved, preventing the cursor from overlapping the message.

  • @inquirer/number@4.2.5

    This release updates @inquirer/number to treat whitespace-only user input as empty, which resolves to the default value (or undefined) instead of running numeric validation. This prevents validation failures when users submit only spaces.

  • inquirer@14.2.4

    inquirer@14.2.4 is a maintenance release that rolls up several prompt behavior fixes. The main changes address how input is handled during pending validation, how cancel/abort cleanup works, and how number prompts treat whitespace-only input.

  • @inquirer/checkbox@5.2.7

    This release focuses on @inquirer/checkbox prompt behavior when the async validator is pending. While validation is running, the prompt now ignores further keypresses, and the validated selection is what gets displayed and returned.

    Features
  • @inquirer/core@12.0.5

    This release fixes an issue where aborting or cancelling a prompt before its deferred first render could still cause the prompt view to run after the prompt had settled. The pending `setImmediate` is now cancelled during cleanup, preventing keypress listener re-installs and writes to an ended output stream.

  • @inquirer/prompts@8.7.4

    Inquirer.js @inquirer/prompts@8.7.4 ships targeted behavior fixes around async validation, cancellation/aborts, and whitespace handling in number prompts. It also adjusts release tooling so packages with only test-file changes are not version-bumped at release time.

  • @inquirer/core@12.0.4

    Inquirer core 12.0.4 updates its internal deferred-promise polyfill to use the new `withResolver` export from `@inquirer/type`. The primary externally visible change is a dependency bump to `@inquirer/type@^4.2.0`.

  • @inquirer/type@4.2.0

    This release adds a new `withResolver<T>()` export to `@inquirer/type` that helps create a promise along with its `resolve` and `reject` handlers. It is intended as a convenience replacement for manual `let resolve` boilerplate and will be available until `Promise.withResolvers` is the minimum supported Node version (Node 22+).

    Features
  • @inquirer/rawlist@5.3.6

    This release updates @inquirer/rawlist to be more forgiving when matching user input against choice values. It now ignores surrounding whitespace in answers, preventing common mismatch issues when values are accidentally padded.

  • @inquirer/expand@5.1.6

    This release improves answer matching behavior by ignoring surrounding whitespace, preventing accidental inputs like " yes " from failing to match expected answers. It also bumps the @inquirer/type dependency to ^4.2.0, which includes a new withResolver export.

  • @inquirer/confirm@6.3.3

    This release updates @inquirer/confirm behavior for how boolean inputs are parsed and validated. It now always accepts single-key y/n inputs even when localized yes/no keywords are configured, and it no longer silently falls back to the default answer on unrecognized input, instead showing an error and keeping the prompt active.

    BreakingFeatures
  • @inquirer/search@4.3.4

    This release fixes async search input handling when pressing Enter during an in-progress query. Enter no longer causes a stale choice from a previous query to be submitted, and repeated Enter presses during validation avoid re-running the async validator multiple times. It also bumps the @inquirer/type dependency to ^4.2.0 to include a new withResolver export.

  • @inquirer/prompts@8.7.3

    This release improves interactive behavior in several prompts: async `search()` no longer submits stale choices during loading, and `expand()`/`rawlist()` trim surrounding whitespace from user answers. `confirm()` input handling is adjusted so `y`/`n` are always accepted, and unrecognized input no longer silently falls back to the default answer.

    Breaking
  • inquirer@14.2.3

    inquirer 14.2.3 primarily rolls up several prompt bug fixes, including fixes to search stale-choice submissions, confirm behavior for y/n input, and whitespace handling in expand and rawlist prompts. It also updates core dependencies and refreshes README documentation with the Deno install command.

  • @inquirer/testing@3.3.13

    This release of @inquirer/testing@3.3.13 contains no source changes and was published only to keep version alignment with the related @inquirer/core@12.0.3 release wave. As a result, there are no documented API, behavior, bug fix, security, or migration impacts in these notes.

  • inquirer@14.2.2

    inquirer 14.2.2 updates the bundled @inquirer/core and @inquirer/prompts versions and includes targeted bug fixes. It addresses a race condition in keypress handling that could deliver keystrokes to handlers after a prompt is completed, cancelled, or aborted, and improves confirm() by trimming whitespace before yes/no keyword matching.