code-server
Version:
Run VS Code on a remote server.
74 lines • 3.62 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
const logger_1 = require("@coder/logger");
const cli_1 = require("./cli");
const constants_1 = require("./constants");
const main_1 = require("./main");
const wrapper_1 = require("./wrapper");
function entry() {
return __awaiter(this, void 0, void 0, function* () {
// There's no need to check flags like --help or to spawn in an existing
// instance for the child process because these would have already happened in
// the parent and the child wouldn't have been spawned. We also get the
// arguments from the parent so we don't have to parse twice and to account
// for environment manipulation (like how PASSWORD gets removed to avoid
// leaking to child processes).
if ((0, wrapper_1.isChild)(wrapper_1.wrapper)) {
const args = yield wrapper_1.wrapper.handshake();
wrapper_1.wrapper.preventExit();
const server = yield (0, main_1.runCodeServer)(args);
wrapper_1.wrapper.onDispose(() => server.dispose());
return;
}
const cliArgs = (0, cli_1.parse)(process.argv.slice(2));
const configArgs = yield (0, cli_1.readConfigFile)(cliArgs.config);
const args = yield (0, cli_1.setDefaults)(cliArgs, configArgs);
if (args.help) {
console.log("code-server", (0, constants_1.getVersionString)());
console.log("");
console.log(`Usage: code-server [options] [path]`);
console.log(` - Opening a directory: code-server ./path/to/your/project`);
console.log(` - Opening a saved workspace: code-server ./path/to/your/project.code-workspace`);
console.log("");
console.log("Options");
(0, cli_1.optionDescriptions)().forEach((description) => {
console.log("", description);
});
return;
}
if (args.version) {
if (args.json) {
console.log((0, constants_1.getVersionJsonString)());
}
else {
console.log((0, constants_1.getVersionString)());
}
return;
}
if ((0, main_1.shouldSpawnCliProcess)(args)) {
logger_1.logger.debug("Found VS Code arguments; spawning VS Code CLI");
return (0, main_1.runCodeCli)(args);
}
const socketPath = yield (0, cli_1.shouldOpenInExistingInstance)(cliArgs, args["session-socket"]);
if (socketPath) {
logger_1.logger.debug("Trying to open in existing instance");
return (0, main_1.openInExistingInstance)(args, socketPath);
}
return wrapper_1.wrapper.start(args);
});
}
entry().catch((error) => {
logger_1.logger.error(error.message);
wrapper_1.wrapper.exit(error);
});
//# sourceMappingURL=entry.js.map
;