From b0c05d1013eedcb6fce5e61c446bc585bcc650c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Pierzcha=C5=82a?= Date: Sat, 22 Feb 2020 13:44:15 +0100 Subject: [PATCH] fix: building TS definitions broken by include package.json --- package.json | 8 ++--- packages/cli/src/commands/doctor/doctor.ts | 10 +++++- .../doctor/healthchecks/androidSDK.ts | 33 ++++++++++--------- packages/cli/src/commands/doctor/types.ts | 4 +-- .../cli/src/commands/server/eventsSocket.ts | 2 +- .../middleware/getDevToolsMiddleware.ts | 8 +++-- packages/cli/src/index.ts | 6 ++-- .../src/tools/config/readConfigFromDisk.ts | 1 + .../cli/src/tools/generator/promptSync.ts | 16 ++++----- packages/cli/tsconfig.json | 3 +- 10 files changed, 51 insertions(+), 40 deletions(-) diff --git a/package.json b/package.json index c0076902a..7da717f61 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,9 @@ }, "dependencies": { "@babel/core": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.5.5", "@babel/plugin-transform-modules-commonjs": "^7.2.0", + "@babel/plugin-transform-runtime": "^7.6.2", "@babel/plugin-transform-strict-mode": "^7.0.0", "@babel/preset-env": "^7.0.0", "@babel/preset-typescript": "^7.3.3", @@ -34,6 +36,7 @@ "babel-jest": "^24.6.0", "babel-plugin-module-resolver": "^3.2.0", "chalk": "^2.4.2", + "chokidar": "^3.3.1", "eslint": "^5.10.0", "eslint-import-resolver-alias": "^1.1.2", "eslint-import-resolver-typescript": "^1.1.1", @@ -47,10 +50,5 @@ "mkdirp": "^0.5.1", "string-length": "^2.0.0", "typescript": "^3.8.0" - }, - "devDependencies": { - "@babel/plugin-proposal-class-properties": "^7.5.5", - "@babel/plugin-transform-runtime": "^7.6.2", - "chokidar": "^3.3.1" } } diff --git a/packages/cli/src/commands/doctor/doctor.ts b/packages/cli/src/commands/doctor/doctor.ts index 7c07cda47..4db3ea5e4 100644 --- a/packages/cli/src/commands/doctor/doctor.ts +++ b/packages/cli/src/commands/doctor/doctor.ts @@ -21,7 +21,15 @@ const printCategory = ({label, key}: {label: string; key: number}) => { logger.log(chalk.dim(label)); }; -const printVersions = ({version, versions, versionRange}) => { +const printVersions = ({ + version, + versions, + versionRange, +}: { + version?: 'Not Found' | string; + versions?: [string] | string; + versionRange: string; +}) => { if (versions) { const versionsToShow = Array.isArray(versions) ? versions.join(', ') diff --git a/packages/cli/src/commands/doctor/healthchecks/androidSDK.ts b/packages/cli/src/commands/doctor/healthchecks/androidSDK.ts index 4d7421e84..5bee07e43 100644 --- a/packages/cli/src/commands/doctor/healthchecks/androidSDK.ts +++ b/packages/cli/src/commands/doctor/healthchecks/androidSDK.ts @@ -19,15 +19,16 @@ const getBuildToolsVersion = (): string => { buildToolsVersionEntry, ); - const buildToolsVersion = gradleBuildFile - // Get only the portion of the declaration of `buildToolsVersion` - .substring(buildToolsVersionIndex) - .split('\n')[0] - // Get only the the value of `buildToolsVersion` - .match(/\d|\../g) - .join(''); + const buildToolsVersion = ( + gradleBuildFile + // Get only the portion of the declaration of `buildToolsVersion` + .substring(buildToolsVersionIndex) + .split('\n')[0] + // Get only the the value of `buildToolsVersion` + .match(/\d|\../g) || [] + ).join(''); - return buildToolsVersion; + return buildToolsVersion || 'Not Found'; }; const installMessage = `Read more about how to update Android SDK at ${chalk.dim( @@ -39,27 +40,27 @@ export default { description: 'Required for building and installing your app on Android', getDiagnostics: async ({SDKs}) => { const requiredVersion = getBuildToolsVersion(); + const buildTools = + typeof SDKs['Android SDK'] === 'string' + ? SDKs['Android SDK'] + : SDKs['Android SDK']['Build Tools']; if (!requiredVersion) { return { - versions: SDKs['Android SDK']['Build Tools'], + versions: buildTools, versionRange: undefined, needsToBeFixed: true, }; } - const isAndroidSDKInstalled = Array.isArray( - SDKs['Android SDK']['Build Tools'], - ); + const isAndroidSDKInstalled = Array.isArray(buildTools); const isRequiredVersionInstalled = isAndroidSDKInstalled - ? SDKs['Android SDK']['Build Tools'].includes(requiredVersion) + ? buildTools.includes(requiredVersion) : false; return { - versions: isAndroidSDKInstalled - ? SDKs['Android SDK']['Build Tools'] - : SDKs['Android SDK'], + versions: isAndroidSDKInstalled ? buildTools : SDKs['Android SDK'], versionRange: requiredVersion, needsToBeFixed: !isRequiredVersionInstalled, }; diff --git a/packages/cli/src/commands/doctor/types.ts b/packages/cli/src/commands/doctor/types.ts index bb33595c2..c229db52d 100644 --- a/packages/cli/src/commands/doctor/types.ts +++ b/packages/cli/src/commands/doctor/types.ts @@ -79,7 +79,7 @@ export type Healthchecks = { export type RunAutomaticFix = (args: { loader: Ora; - environmentInfo?: EnvironmentInfo; + environmentInfo: EnvironmentInfo; }) => Promise | void; export type HealthCheckInterface = { @@ -88,7 +88,7 @@ export type HealthCheckInterface = { isRequired?: boolean; description?: string; getDiagnostics: ( - environmentInfo?: EnvironmentInfo, + environmentInfo: EnvironmentInfo, ) => Promise<{ version?: string; versions?: [string]; diff --git a/packages/cli/src/commands/server/eventsSocket.ts b/packages/cli/src/commands/server/eventsSocket.ts index def50588c..e3dbe3e51 100644 --- a/packages/cli/src/commands/server/eventsSocket.ts +++ b/packages/cli/src/commands/server/eventsSocket.ts @@ -169,7 +169,7 @@ function attachToServer( }; clientWs.onmessage = event => { - const message: Command = parseMessage(event.data.toString()); + const message: Command | undefined = parseMessage(event.data.toString()); if (message == null) { return; } diff --git a/packages/cli/src/commands/server/middleware/getDevToolsMiddleware.ts b/packages/cli/src/commands/server/middleware/getDevToolsMiddleware.ts index 9e2df8b67..09574ad20 100644 --- a/packages/cli/src/commands/server/middleware/getDevToolsMiddleware.ts +++ b/packages/cli/src/commands/server/middleware/getDevToolsMiddleware.ts @@ -9,7 +9,11 @@ import {logger} from '@react-native-community/cli-tools'; import {exec} from 'child_process'; import launchDebugger from '../launchDebugger'; -function launchDefaultDebugger(host: string, port: number, args = '') { +function launchDefaultDebugger( + host: string | undefined, + port: number, + args = '', +) { const hostname = host || 'localhost'; const debuggerURL = `http://${hostname}:${port}/debugger-ui${args}`; logger.info('Launching Dev Tools...'); @@ -22,7 +26,7 @@ function escapePath(pathname: string) { } type LaunchDevToolsOptions = { - host: string; + host?: string; port: number; watchFolders: Array; }; diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index 8b50e6125..1e1700d23 100644 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -12,7 +12,7 @@ import init from './commands/init/initCompat'; import assertRequiredOptions from './tools/assertRequiredOptions'; import loadConfig from './tools/config'; -import pkgJson from '../package.json'; +const pkgJson = require('../package.json'); commander .option('--version', 'Print CLI version') @@ -85,8 +85,8 @@ function printHelpInformation( } function printUnknownCommand(cmdName: string) { - const availableCommands = commander.commands.map(cmd => cmd._name); - const suggestion = availableCommands.find(cmd => { + const availableCommands = commander.commands.map((cmd: any) => cmd._name); + const suggestion = availableCommands.find((cmd: string) => { return leven(cmd, cmdName) < cmd.length * 0.4; }); let errorMsg = `Unrecognized command "${chalk.bold(cmdName)}".`; diff --git a/packages/cli/src/tools/config/readConfigFromDisk.ts b/packages/cli/src/tools/config/readConfigFromDisk.ts index 800c20864..4fe850785 100644 --- a/packages/cli/src/tools/config/readConfigFromDisk.ts +++ b/packages/cli/src/tools/config/readConfigFromDisk.ts @@ -177,6 +177,7 @@ function readLegacyDependencyConfigFromDisk( params: [], }, commands: [], + // @ts-ignore platforms: {}, }; } diff --git a/packages/cli/src/tools/generator/promptSync.ts b/packages/cli/src/tools/generator/promptSync.ts index bef753e5a..dad63206d 100644 --- a/packages/cli/src/tools/generator/promptSync.ts +++ b/packages/cli/src/tools/generator/promptSync.ts @@ -43,13 +43,13 @@ function create() { const echo = opts.echo; const masked = 'echo' in opts; - /*eslint-disable prettier/prettier*/ - const fd = - process.platform === 'win32' - // @ts-ignore - ? process.stdin.fd - : fs.openSync('/dev/tty', 'rs'); - /*eslint-enable prettier/prettier*/ + let fd; + if (process.platform === 'win32') { + // @ts-ignore + fd = process.stdin.fd; + } else { + fd = fs.openSync('/dev/tty', 'rs'); + } const wasRaw = process.stdin.isRaw; if (!wasRaw && process.stdin.setRawMode) { @@ -91,7 +91,7 @@ function create() { fs.closeSync(fd); process.exit(130); if (process.stdin.setRawMode) { - process.stdin.setRawMode(!!wasRaw); + process.stdin.setRawMode!(!!wasRaw); } return null; } diff --git a/packages/cli/tsconfig.json b/packages/cli/tsconfig.json index c3dc62809..5c3901517 100644 --- a/packages/cli/tsconfig.json +++ b/packages/cli/tsconfig.json @@ -8,6 +8,5 @@ {"path": "../tools"}, {"path": "../cli-types"}, {"path": "../debugger-ui"} - ], - "include": ["../package.json"] + ] }