From 00913c21e74cbb5f197fe0357b82c9003b13c526 Mon Sep 17 00:00:00 2001 From: Ojas Inamdar Date: Sat, 9 Jul 2022 01:03:36 +0530 Subject: [PATCH] feat: @inquirer/expand migrated to TS --- packages/expand/{demo.js => demo.ts} | 2 +- packages/expand/package.json | 9 ++++++++- packages/expand/{index.js => src/index.ts} | 17 ++++++++++++----- packages/expand/tsconfig.json | 7 +++++++ 4 files changed, 28 insertions(+), 7 deletions(-) rename packages/expand/{demo.js => demo.ts} (97%) rename packages/expand/{index.js => src/index.ts} (82%) create mode 100644 packages/expand/tsconfig.json diff --git a/packages/expand/demo.js b/packages/expand/demo.ts similarity index 97% rename from packages/expand/demo.js rename to packages/expand/demo.ts index fc117d2b3..bd3a539b7 100644 --- a/packages/expand/demo.js +++ b/packages/expand/demo.ts @@ -1,4 +1,4 @@ -import expand from './index.js'; +import expand from './src/index.js'; (async () => { let answer; diff --git a/packages/expand/package.json b/packages/expand/package.json index 05d4cb6c3..69d71b56e 100644 --- a/packages/expand/package.json +++ b/packages/expand/package.json @@ -3,7 +3,11 @@ "type": "module", "version": "0.0.21-alpha.0", "description": "Inquirer checkbox prompt", - "main": "index.js", + "main": "dist/index.js", + "typings": "dist/index.d.ts", + "files": [ + "dist/" + ], "repository": "SBoudrias/Inquirer.js", "keywords": [ "cli", @@ -20,6 +24,9 @@ "chalk": "^5.0.1", "figures": "^4.0.1" }, + "scripts": { + "tsc": "tsc" + }, "publishConfig": { "access": "public" } diff --git a/packages/expand/index.js b/packages/expand/src/index.ts similarity index 82% rename from packages/expand/index.js rename to packages/expand/src/index.ts index 5ae6f8c6d..04d804a85 100644 --- a/packages/expand/index.js +++ b/packages/expand/src/index.ts @@ -4,25 +4,32 @@ import { useKeypress, usePrefix, isEnterKey, + AsyncPromptConfig, } from '@inquirer/core'; import chalk from 'chalk'; +type ExpandConfig = AsyncPromptConfig & { + choices: { key: string; name: string; value?: string }[]; + default?: string; + expanded?: boolean; +}; + const helpChoice = { key: 'h', name: 'Help, list all options', value: undefined, }; -export default createPrompt((config, done) => { +export default createPrompt((config, done) => { const { choices, default: defaultKey = 'h', expanded: defaultExpandState = false, } = config; - const [status, setStatus] = useState('pending'); - const [value, setValue] = useState(''); - const [expanded, setExpanded] = useState(defaultExpandState); - const [errorMsg, setError] = useState(); + const [status, setStatus] = useState('pending'); + const [value, setValue] = useState(''); + const [expanded, setExpanded] = useState(defaultExpandState); + const [errorMsg, setError] = useState(undefined); const prefix = usePrefix(); useKeypress((key, rl) => { diff --git a/packages/expand/tsconfig.json b/packages/expand/tsconfig.json new file mode 100644 index 000000000..6a62dbc48 --- /dev/null +++ b/packages/expand/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "./dist" + }, + "include": ["./src"] +}