UNPKG

javascript-typescript-langserver

Version:

Implementation of the Language Server Protocol for JavaScript and TypeScript

33 lines 1.63 kB
#!/usr/bin/env node "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const opentracing_1 = require("opentracing"); const logging_1 = require("./logging"); const server_1 = require("./server"); const typescript_service_1 = require("./typescript-service"); const program = require('commander'); const packageJson = require('../package.json'); const { initTracer } = require('jaeger-client'); const defaultLspPort = 2089; const numCPUs = require('os').cpus().length; program .version(packageJson.version) .option('-s, --strict', 'enabled strict mode') .option('-p, --port [port]', 'specifies LSP port to use (' + defaultLspPort + ')', parseInt) .option('-c, --cluster [num]', 'number of concurrent cluster workers (defaults to number of CPUs, ' + numCPUs + ')', parseInt) .option('-t, --trace', 'print all requests and responses') .option('-l, --logfile [file]', 'log to this file') .option('-j, --enable-jaeger', 'enable OpenTracing through Jaeger') .parse(process.argv); const options = { clusterSize: program.cluster || numCPUs, lspPort: program.port || defaultLspPort, strict: program.strict, logMessages: program.trace, logger: program.logfile ? new logging_1.FileLogger(program.logfile) : new logging_1.StdioLogger(), tracer: program.enableJaeger ? initTracer({ serviceName: 'javascript-typescript-langserver', sampler: { type: 'const', param: 1 } }) : new opentracing_1.Tracer(), }; server_1.serve(options, client => new typescript_service_1.TypeScriptService(client, options)); //# sourceMappingURL=language-server.js.map