From 1939062828ea9c252dffad567e45b5f94101a877 Mon Sep 17 00:00:00 2001 From: konojunya Date: Tue, 10 Sep 2019 16:46:44 +0900 Subject: [PATCH 1/3] feat: convert assertRequiredOptions from flow to ts --- packages/cli/src/cliEntry.js | 1 + .../{assertRequiredOptions.js => assertRequiredOptions.ts} | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) rename packages/cli/src/tools/{assertRequiredOptions.js => assertRequiredOptions.ts} (89%) diff --git a/packages/cli/src/cliEntry.js b/packages/cli/src/cliEntry.js index 93547041d..cfbbf9b9e 100644 --- a/packages/cli/src/cliEntry.js +++ b/packages/cli/src/cliEntry.js @@ -16,6 +16,7 @@ import type {CommandT, ConfigT} from 'types'; // $FlowFixMe - converted to TS import commands from './commands'; import init from './commands/init/initCompat'; +// $FlowFixMe - converted to TS import assertRequiredOptions from './tools/assertRequiredOptions'; import {logger} from '@react-native-community/cli-tools'; import {setProjectDir} from './tools/packageManager'; diff --git a/packages/cli/src/tools/assertRequiredOptions.js b/packages/cli/src/tools/assertRequiredOptions.ts similarity index 89% rename from packages/cli/src/tools/assertRequiredOptions.js rename to packages/cli/src/tools/assertRequiredOptions.ts index fb5a941ad..de1668ca2 100644 --- a/packages/cli/src/tools/assertRequiredOptions.js +++ b/packages/cli/src/tools/assertRequiredOptions.ts @@ -6,14 +6,16 @@ * * @format */ - import {Option} from 'commander'; import {camelCase} from 'lodash'; // Commander.js has a 2 years old open issue to support <...> syntax // for options. Until that gets merged, we run the checks manually // https://github.com/tj/commander.js/issues/230 -export default function assertRequiredOptions(options, passedOptions) { +export default function assertRequiredOptions( + options: any[], + passedOptions: any, +) { options.forEach(opt => { const option = new Option(opt.name); From cfcee718cd49be3d2ece30aec244618b01b45d36 Mon Sep 17 00:00:00 2001 From: konojunya Date: Tue, 10 Sep 2019 18:43:43 +0900 Subject: [PATCH 2/3] fixup! feat: convert assertRequiredOptions from flow to ts --- packages/cli/src/tools/assertRequiredOptions.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/tools/assertRequiredOptions.ts b/packages/cli/src/tools/assertRequiredOptions.ts index de1668ca2..a5b533fc1 100644 --- a/packages/cli/src/tools/assertRequiredOptions.ts +++ b/packages/cli/src/tools/assertRequiredOptions.ts @@ -8,13 +8,19 @@ */ import {Option} from 'commander'; import {camelCase} from 'lodash'; +import {Command} from '@react-native-community/cli-types'; + +type Options = NonNullable; +type PassedOptions = { + [x: string]: unknown; +}; // Commander.js has a 2 years old open issue to support <...> syntax // for options. Until that gets merged, we run the checks manually // https://github.com/tj/commander.js/issues/230 export default function assertRequiredOptions( - options: any[], - passedOptions: any, + options: Options, + passedOptions: PassedOptions, ) { options.forEach(opt => { const option = new Option(opt.name); From 561f90585473827ca7c85bd04d3576dbad6917e7 Mon Sep 17 00:00:00 2001 From: Junya Kono Date: Tue, 10 Sep 2019 18:54:58 +0900 Subject: [PATCH 3/3] fix: PassedOptions key name MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Michał Pierzchała --- packages/cli/src/tools/assertRequiredOptions.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cli/src/tools/assertRequiredOptions.ts b/packages/cli/src/tools/assertRequiredOptions.ts index a5b533fc1..966763c50 100644 --- a/packages/cli/src/tools/assertRequiredOptions.ts +++ b/packages/cli/src/tools/assertRequiredOptions.ts @@ -12,7 +12,7 @@ import {Command} from '@react-native-community/cli-types'; type Options = NonNullable; type PassedOptions = { - [x: string]: unknown; + [key: string]: unknown; }; // Commander.js has a 2 years old open issue to support <...> syntax