index.js 1.17 KiB
Newer Older
Amaury Martiny's avatar
Amaury Martiny committed
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
//
Amaury Martiny's avatar
Amaury Martiny committed
// SPDX-License-Identifier: BSD-3-Clause
import cli from 'commander';
Amaury Martiny's avatar
Amaury Martiny committed
const { productName } = require('../../../electron-builder.json');
const { version } = require('../../../package.json');
Amaury Martiny's avatar
Amaury Martiny committed
/**
 * Process.argv arguments length is different in electron mode and in packaged
 * mode. This small line is to harmonize the behavior for consistent parsing.
 *
 * @see https://github.com/tj/commander.js/issues/512
 * @see https://github.com/electron/electron/issues/4690#issuecomment-217435222
 */
if (process.defaultApp !== true) {
Amaury Martiny's avatar
Amaury Martiny committed
  process.argv.unshift('');
cli
  .version(version)
  .allowUnknownOption()
Amaury Martiny's avatar
Amaury Martiny committed
  .option(
    '--no-run-parity',
Amaury Martiny's avatar
Amaury Martiny committed
    `${productName} will not attempt to run the locally installed parity.`
Amaury Martiny's avatar
Amaury Martiny committed
  )
  .option(
Amaury Martiny's avatar
Amaury Martiny committed
    '--ws-interface <ip>',
Amaury Martiny's avatar
Amaury Martiny committed
    `Specify the hostname portion of the WebSockets server ${productName} will connect to. IP should be an interface's IP address. (default: 127.0.0.1)`
Amaury Martiny's avatar
Amaury Martiny committed
  )
  .option(
Amaury Martiny's avatar
Amaury Martiny committed
    '--ws-port <port>',
Amaury Martiny's avatar
Amaury Martiny committed
    `Specify the port portion of the WebSockets server ${productName} will connect to. (default: 8546)`
  .parse(process.argv);
export default cli;