/** * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @flow * @format */ 'use strict'; const fs = require('fs-extra'); exports.watchFile = async function( filename: string, callback: () => *, ): Promise<void> { fs.watchFile(filename, () => { callback(); }); await callback(); }; exports.makeAsyncCommand = ( command: (argv: any) => Promise<*>, ): ((argv: any) => void) => ( // eslint-disable-next-line lint/no-unclear-flowtypes argv: any, ) => { Promise.resolve(command(argv)).catch(error => { console.error(error.stack); process.exitCode = 1; }); };