Skip to content

refactor(cli): migrate from inquirer to @inquirer/prompts#65

Open
michaelfarrell76 wants to merge 2 commits intomainfrom
michaelfarrell76/inquirer
Open

refactor(cli): migrate from inquirer to @inquirer/prompts#65
michaelfarrell76 wants to merge 2 commits intomainfrom
michaelfarrell76/inquirer

Conversation

@michaelfarrell76
Copy link
Copy Markdown
Member

Summary

  • Replace legacy inquirer@^8 + inquirer-autocomplete-prompt with the modern @inquirer/prompts package
  • Convert all 11 prompt call sites from inquirer.prompt([...]) to standalone functions (select, confirm, input, search, checkbox)
  • Remove the now-unnecessary helpers/inquirer.ts wrapper, inquirer-autocomplete-prompt.d.ts, and all @types/inquirer* packages

Test plan

  • pnpm run typecheck passes
  • All 873 tests pass (pnpm run test)
  • Pre-commit and pre-push hooks pass

Made with Cursor

Replace legacy `inquirer@^8` + `inquirer-autocomplete-prompt` with
the modern `@inquirer/prompts` package. Each prompt call site now uses
standalone functions (select, confirm, input, search, checkbox) instead
of the deprecated `inquirer.prompt([...])` pattern.

- Remove inquirer, inquirer-autocomplete-prompt, and their @types
- Delete inquirer-autocomplete-prompt.d.ts and helpers/inquirer.ts wrapper
- Convert list → select, confirm → confirm, text → input,
  autocomplete → search, checkbox → checkbox across 11 files
- Convert batch inquirer.prompt(array) calls to sequential for-loops
@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new bot commented Apr 3, 2026

Open in StackBlitz

@transcend-io/cli

pnpm add https://pkg.pr.new/transcend-io/tools/@transcend-io/cli@65
yarn add https://pkg.pr.new/transcend-io/tools/@transcend-io/cli@65.tgz

@transcend-io/privacy-types

pnpm add https://pkg.pr.new/transcend-io/tools/@transcend-io/privacy-types@65
yarn add https://pkg.pr.new/transcend-io/tools/@transcend-io/privacy-types@65.tgz

@transcend-io/sdk

pnpm add https://pkg.pr.new/transcend-io/tools/@transcend-io/sdk@65
yarn add https://pkg.pr.new/transcend-io/tools/@transcend-io/sdk@65.tgz

@transcend-io/utils

pnpm add https://pkg.pr.new/transcend-io/tools/@transcend-io/utils@65
yarn add https://pkg.pr.new/transcend-io/tools/@transcend-io/utils@65.tgz

commit: 51ee858

Copy link
Copy Markdown
Member

@TCJackwood TCJackwood left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Org nit for the message strings, otherwise LGTM

purposeMapping.valueMapping[value] = preferenceValue;
purposeMapping.valueMapping[value] = await select({
// eslint-disable-next-line max-len
message: `Choose the preference value for "${preferenceTopic.slug}" value "${value}" associated with purpose "${purposeMapping.purpose}"`,
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we use this same sort of message with different variable inputs lower in this file, plus the max-len eslint issue, may want to consider moving this out into a separate const file and reference this message string to keep things more DRY

!!CAN_APPLY_IN_BULK[name],
);
columnNameMap[name] = await select<string>({
message: `Choose the column that will be used to map in the field: ${field}`,
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah the more I'm looking, moving all of these string values used as messages in this PR to a separate messages file would be nice, but not required 🤷

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants