npm install inquirer-file-tree-selection-promptIf you are still using CJS, please install
inquirer-file-tree-selection-prompt@^1
inquirer.registerPrompt('file-tree-selection', inquirerFileTreeSelection) inquirer.prompt({ type: 'file-tree-selection', ... })Takes type, name, message, [filter, validate, transformer, default, pageSize, onlyShowDir, onlyShowValid, hideChildrenOfValid, root, hideRoot, multiple, enableGoUpperDirector] properties.
The extra options that this plugin provides are:
onlyShowDir: (Boolean) if true, will only show directory. Default: false.root: (String) it is the root of file tree. Default: process.cwd().onlyShowValid: (Boolean) if true, will only show valid files (ifvalidateis provided). Default: false.hideChildrenOfValid: (Boolean) if true, will hide children of valid directories (ifvalidateis provided). Default: false.transformer: (Function) a hook function to transform the display of directory or file name.multiple: (Boolean) if true, will enable to select multiple files. Default: false.enableGoUpperDirectory: (Boolean) Show..in inside root dir, and the user can press space on it to go upper directory. Default: false.
When multiple is enabled, default should be string[] type, otherwise it's string type.
version >= 1.0.16
-
Install
@types/inquirer -
Ensure you have registered with
file-tree-selection
inquirer.registerPrompt('file-tree-selection', inquirerFileTreeSelection)- And you will get type support when you code in IDE
ESM (version ^2)
import inquirer from 'inquirer' import inquirerFileTreeSelection from 'inquirer-file-tree-selection-prompt' inquirer.registerPrompt('file-tree-selection', inquirerFileTreeSelection) inquirer .prompt([ { type: 'file-tree-selection', name: 'file' } ]) .then(answers => { console.log(JSON.stringify(answers)) });CJS (version ^1 and <2)
const inquirer = require('inquirer') const inquirerFileTreeSelection = require('inquirer-file-tree-selection-prompt') inquirer.registerPrompt('file-tree-selection', inquirerFileTreeSelection) inquirer .prompt([ { type: 'file-tree-selection', name: 'file' } ]) .then(answers => { console.log(JSON.stringify(answers)) });
