import * as yargs from '@theia/core/shared/yargs'; import { JsonRpcProxyFactory } from '@theia/core/lib/common/messaging/proxy-factory'; import { NoDelayDisposalTimeoutParcelFileSystemWatcherService } from './parcel-filesystem-service'; import type { IPCEntryPoint } from '@theia/core/lib/node/messaging/ipc-protocol'; import type { FileSystemWatcherServiceClient } from '@theia/filesystem/lib/common/filesystem-watcher-protocol'; const options: { verbose: boolean; } = yargs .option('verbose', { default: false, alias: 'v', type: 'boolean', }) .option('nsfwOptions', { alias: 'o', type: 'string', coerce: JSON.parse, // eslint-disable-next-line @typescript-eslint/no-explicit-any }).argv as any; export default ((connection) => { const server = new NoDelayDisposalTimeoutParcelFileSystemWatcherService( options ); const factory = new JsonRpcProxyFactory( server ); server.setClient(factory.createProxy()); factory.listen(connection); });