Browse Source

Merge pull request #437 from Empact/enhance/no-console

Convert remaining console statements to log or throw, enable no-console linter
renovate/lint-staged-8.x
Ben Woosley 7 years ago
committed by GitHub
parent
commit
751a022e3c
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      .eslintrc
  2. 8
      app/lnd/index.js
  3. 58
      app/lnd/methods/index.js
  4. 11
      app/lnd/methods/paymentsController.js
  5. 6
      app/lnd/subscribe/index.js
  6. 8
      app/lnd/subscribe/invoices.js
  7. 10
      app/lnd/subscribe/transactions.js
  8. 6
      app/lnd/walletUnlockerMethods/index.js
  9. 3
      internals/scripts/CheckNodeEnv.js
  10. 6
      test/e2e/e2e.spec.js
  11. 7
      webpack.config.renderer.dev.js

1
.eslintrc

@ -6,6 +6,7 @@
}, },
"extends": [ "extends": [
"airbnb", "airbnb",
"eslint:recommended",
"plugin:react/recommended", "plugin:react/recommended",
"plugin:flowtype/recommended", "plugin:flowtype/recommended",
"plugin:import/errors", "plugin:import/errors",

8
app/lnd/index.js

@ -4,13 +4,15 @@ import walletUnlocker from './lib/walletUnlocker'
import subscribe from './subscribe' import subscribe from './subscribe'
import methods from './methods' import methods from './methods'
import walletUnlockerMethods from './walletUnlockerMethods' import walletUnlockerMethods from './walletUnlockerMethods'
// use mainLog because lndLog is reserved for the lnd binary itself
import { mainLog } from '../utils/log'
const initLnd = (callback) => { const initLnd = (callback) => {
const lndConfig = config.lnd() const lndConfig = config.lnd()
const lnd = lightning(lndConfig.lightningRpc, lndConfig.lightningHost) const lnd = lightning(lndConfig.lightningRpc, lndConfig.lightningHost)
const lndSubscribe = mainWindow => subscribe(mainWindow, lnd) const lndSubscribe = mainWindow => subscribe(mainWindow, lnd, mainLog)
const lndMethods = (event, msg, data) => methods(lnd, event, msg, data) const lndMethods = (event, msg, data) => methods(lnd, mainLog, event, msg, data)
callback(lndSubscribe, lndMethods) callback(lndSubscribe, lndMethods)
} }
@ -19,7 +21,7 @@ const initWalletUnlocker = (callback) => {
const lndConfig = config.lnd() const lndConfig = config.lnd()
const walletUnlockerObj = walletUnlocker(lndConfig.lightningRpc, lndConfig.lightningHost) const walletUnlockerObj = walletUnlocker(lndConfig.lightningRpc, lndConfig.lightningHost)
const walletUnlockerMethodsCallback = (event, msg, data) => walletUnlockerMethods(walletUnlockerObj, event, msg, data) const walletUnlockerMethodsCallback = (event, msg, data) => walletUnlockerMethods(walletUnlockerObj, mainLog, event, msg, data)
callback(walletUnlockerMethodsCallback) callback(walletUnlockerMethodsCallback)
} }

58
app/lnd/methods/index.js

@ -1,4 +1,3 @@
/* eslint no-console: 0 */ // --> OFF
// import grpc from 'grpc' // import grpc from 'grpc'
import * as invoicesController from './invoicesController' import * as invoicesController from './invoicesController'
@ -18,7 +17,7 @@ import * as networkController from './networkController'
// TODO - SendPayment // TODO - SendPayment
// TODO - DeleteAllPayments // TODO - DeleteAllPayments
export default function (lnd, event, msg, data) { export default function (lnd, log, event, msg, data) {
switch (msg) { switch (msg) {
case 'info': case 'info':
networkController networkController
@ -34,14 +33,14 @@ export default function (lnd, event, msg, data) {
networkController networkController
.describeGraph(lnd) .describeGraph(lnd)
.then(networkData => event.sender.send('receiveDescribeNetwork', networkData)) .then(networkData => event.sender.send('receiveDescribeNetwork', networkData))
.catch(error => console.log('describeGraph error: ', error)) .catch(error => log.error('describeGraph:', error))
break break
case 'queryRoutes': case 'queryRoutes':
// Data looks like { pubkey: String, amount: Number } // Data looks like { pubkey: String, amount: Number }
networkController networkController
.queryRoutes(lnd, data) .queryRoutes(lnd, data)
.then(routes => event.sender.send('receiveQueryRoutes', routes)) .then(routes => event.sender.send('receiveQueryRoutes', routes))
.catch(error => console.log('queryRoutes error: ', error)) .catch(error => log.error('queryRoutes:', error))
break break
case 'getInvoiceAndQueryRoutes': case 'getInvoiceAndQueryRoutes':
// Data looks like { pubkey: String, amount: Number } // Data looks like { pubkey: String, amount: Number }
@ -53,63 +52,63 @@ export default function (lnd, event, msg, data) {
amount: invoiceData.num_satoshis amount: invoiceData.num_satoshis
})) }))
.then(routes => event.sender.send('receiveInvoiceAndQueryRoutes', routes)) .then(routes => event.sender.send('receiveInvoiceAndQueryRoutes', routes))
.catch(error => console.log('getInvoiceAndQueryRoutes invoice error: ', error)) .catch(error => log.error('getInvoiceAndQueryRoutes invoice:', error))
break break
case 'newaddress': case 'newaddress':
// Data looks like { address: '' } // Data looks like { address: '' }
walletController walletController
.newAddress(lnd, data.type) .newAddress(lnd, data.type)
.then(({ address }) => event.sender.send('receiveAddress', address)) .then(({ address }) => event.sender.send('receiveAddress', address))
.catch(error => console.log('newaddress error: ', error)) .catch(error => log.error('newaddress:', error))
break break
case 'setAlias': case 'setAlias':
// Data looks like { new_alias: '' } // Data looks like { new_alias: '' }
walletController walletController
.setAlias(lnd, data) .setAlias(lnd, data)
.then(() => event.sender.send('aliasSet')) .then(() => event.sender.send('aliasSet'))
.catch(error => console.log('setAlias error: ', error)) .catch(error => log.error('setAlias:', error))
break break
case 'peers': case 'peers':
// Data looks like { peers: [] } // Data looks like { peers: [] }
peersController peersController
.listPeers(lnd) .listPeers(lnd)
.then(peersData => event.sender.send('receivePeers', peersData)) .then(peersData => event.sender.send('receivePeers', peersData))
.catch(error => console.log('peers error: ', error)) .catch(error => log.error('peers:', error))
break break
case 'channels': case 'channels':
// Data looks like // Data looks like
// [ { channels: [] }, { total_limbo_balance: 0, pending_open_channels: [], pending_closing_channels: [], pending_force_closing_channels: [] } ] // [ { channels: [] }, { total_limbo_balance: 0, pending_open_channels: [], pending_closing_channels: [], pending_force_closing_channels: [] } ]
Promise.all([channelController.listChannels, channelController.pendingChannels].map(func => func(lnd))) Promise.all([channelController.listChannels, channelController.pendingChannels].map(func => func(lnd)))
.then(channelsData => event.sender.send('receiveChannels', { channels: channelsData[0].channels, pendingChannels: channelsData[1] })) .then(channelsData => event.sender.send('receiveChannels', { channels: channelsData[0].channels, pendingChannels: channelsData[1] }))
.catch(error => console.log('channels error: ', error)) .catch(error => log.error('channels:', error))
break break
case 'transactions': case 'transactions':
// Data looks like { transactions: [] } // Data looks like { transactions: [] }
walletController walletController
.getTransactions(lnd) .getTransactions(lnd)
.then(transactionsData => event.sender.send('receiveTransactions', transactionsData)) .then(transactionsData => event.sender.send('receiveTransactions', transactionsData))
.catch(error => console.log('transactions error: ', error)) .catch(error => log.error('transactions:', error))
break break
case 'payments': case 'payments':
// Data looks like { payments: [] } // Data looks like { payments: [] }
paymentsController paymentsController
.listPayments(lnd) .listPayments(lnd)
.then(paymentsData => event.sender.send('receivePayments', paymentsData)) .then(paymentsData => event.sender.send('receivePayments', paymentsData))
.catch(error => console.log('payments error: ', error)) .catch(error => log.error('payments:', error))
break break
case 'invoices': case 'invoices':
// Data looks like { invoices: [] } // Data looks like { invoices: [] }
invoicesController invoicesController
.listInvoices(lnd) .listInvoices(lnd)
.then(invoicesData => event.sender.send('receiveInvoices', invoicesData)) .then(invoicesData => event.sender.send('receiveInvoices', invoicesData))
.catch(error => console.log('invoices error: ', error)) .catch(error => log.error('invoices:', error))
break break
case 'invoice': case 'invoice':
// Data looks like { invoices: [] } // Data looks like { invoices: [] }
invoicesController invoicesController
.getInvoice(lnd, { pay_req: data.payreq }) .getInvoice(lnd, { pay_req: data.payreq })
.then(invoiceData => event.sender.send('receiveInvoice', invoiceData)) .then(invoiceData => event.sender.send('receiveInvoice', invoiceData))
.catch(error => console.log('invoice error: ', error)) .catch(error => log.error('invoice:', error))
break break
case 'balance': case 'balance':
// Balance looks like [ { balance: '129477456' }, { balance: '243914' } ] // Balance looks like [ { balance: '129477456' }, { balance: '243914' } ]
@ -118,7 +117,7 @@ export default function (lnd, event, msg, data) {
event.sender.send('receiveBalance', { walletBalance: balance[0].total_balance, channelBalance: balance[1].balance }) event.sender.send('receiveBalance', { walletBalance: balance[0].total_balance, channelBalance: balance[1].balance })
return balance return balance
}) })
.catch(error => console.log('balance error: ', error)) .catch(error => log.error('balance:', error))
break break
case 'createInvoice': case 'createInvoice':
// Invoice looks like { r_hash: Buffer, payment_request: '' } // Invoice looks like { r_hash: Buffer, payment_request: '' }
@ -140,11 +139,11 @@ export default function (lnd, event, msg, data) {
}) })
)) ))
.catch((error) => { .catch((error) => {
console.log('decodedInvoice error: ', error) log.error('decodedInvoice:', error)
event.sender.send('invoiceFailed', { error: error.toString() }) event.sender.send('invoiceFailed', { error: error.toString() })
})) }))
.catch((error) => { .catch((error) => {
console.log('addInvoice error: ', error) log.error('addInvoice:', error)
event.sender.send('invoiceFailed', { error: error.toString() }) event.sender.send('invoiceFailed', { error: error.toString() })
}) })
break break
@ -154,13 +153,14 @@ export default function (lnd, event, msg, data) {
paymentsController paymentsController
.sendPaymentSync(lnd, data) .sendPaymentSync(lnd, data)
.then((payment) => { .then((payment) => {
log.info('payment:', payment)
const { payment_route } = payment const { payment_route } = payment
console.log('payinvoice success: ', payment_route) log.error('payinvoice success:', payment_route)
event.sender.send('paymentSuccessful', Object.assign(data, { payment_route })) event.sender.send('paymentSuccessful', Object.assign(data, { payment_route }))
return payment return payment
}) })
.catch(({ error }) => { .catch(({ error }) => {
console.log('error: ', error) log.error('error: ', error)
event.sender.send('paymentFailed', { error: error.toString() }) event.sender.send('paymentFailed', { error: error.toString() })
}) })
break break
@ -171,7 +171,7 @@ export default function (lnd, event, msg, data) {
.sendCoins(lnd, data) .sendCoins(lnd, data)
.then(({ txid }) => event.sender.send('transactionSuccessful', { amount: data.amount, addr: data.addr, txid })) .then(({ txid }) => event.sender.send('transactionSuccessful', { amount: data.amount, addr: data.addr, txid }))
.catch((error) => { .catch((error) => {
console.log('error: ', error) log.error('error: ', error)
event.sender.send('transactionError', { error: error.toString() }) event.sender.send('transactionError', { error: error.toString() })
}) })
break break
@ -181,11 +181,11 @@ export default function (lnd, event, msg, data) {
channelController channelController
.openChannel(lnd, event, data) .openChannel(lnd, event, data)
.then((channel) => { .then((channel) => {
console.log('CHANNEL: ', channel) log.error('CHANNEL: ', channel)
event.sender.send('channelSuccessful', { channel }) event.sender.send('channelSuccessful', { channel })
return channel return channel
}) })
.catch(error => console.log('openChannel error: ', error)) .catch(error => log.error('openChannel:', error))
break break
case 'closeChannel': case 'closeChannel':
// Response is empty. Streaming updates on channel status and updates // Response is empty. Streaming updates on channel status and updates
@ -193,11 +193,11 @@ export default function (lnd, event, msg, data) {
channelController channelController
.closeChannel(lnd, event, data) .closeChannel(lnd, event, data)
.then((result) => { .then((result) => {
console.log('CLOSE CHANNEL: ', result) log.error('CLOSE CHANNEL: ', result)
event.sender.send('closeChannelSuccessful') event.sender.send('closeChannelSuccessful')
return result return result
}) })
.catch(error => console.log('closeChannel error: ', error)) .catch(error => log.error('closeChannel:', error))
break break
case 'connectPeer': case 'connectPeer':
// Returns a peer_id. Pass the pubkey, host and peer_id so we can add a new peer to the list // Returns a peer_id. Pass the pubkey, host and peer_id so we can add a new peer to the list
@ -206,13 +206,13 @@ export default function (lnd, event, msg, data) {
.connectPeer(lnd, data) .connectPeer(lnd, data)
.then((peer) => { .then((peer) => {
const { peer_id } = peer const { peer_id } = peer
console.log('peer_id: ', peer_id) log.error('peer_id: ', peer_id)
event.sender.send('connectSuccess', { pub_key: data.pubkey, address: data.host, peer_id }) event.sender.send('connectSuccess', { pub_key: data.pubkey, address: data.host, peer_id })
return peer return peer
}) })
.catch((error) => { .catch((error) => {
event.sender.send('connectFailure', { error: error.toString() }) event.sender.send('connectFailure', { error: error.toString() })
console.log('connectPeer error: ', error) log.error('connectPeer:', error)
}) })
break break
case 'disconnectPeer': case 'disconnectPeer':
@ -221,11 +221,11 @@ export default function (lnd, event, msg, data) {
peersController peersController
.disconnectPeer(lnd, data) .disconnectPeer(lnd, data)
.then(() => { .then(() => {
console.log('pubkey: ', data.pubkey) log.error('pubkey: ', data.pubkey)
event.sender.send('disconnectSuccess', { pubkey: data.pubkey }) event.sender.send('disconnectSuccess', { pubkey: data.pubkey })
return null return null
}) })
.catch(error => console.log('disconnectPeer error: ', error)) .catch(error => log.error('disconnectPeer:', error))
break break
case 'connectAndOpen': case 'connectAndOpen':
// Connects to a peer if we aren't connected already and then attempt to open a channel // Connects to a peer if we aren't connected already and then attempt to open a channel
@ -233,13 +233,13 @@ export default function (lnd, event, msg, data) {
channelController channelController
.connectAndOpen(lnd, event, data) .connectAndOpen(lnd, event, data)
.then((channelData) => { .then((channelData) => {
console.log('connectAndOpen data: ', channelData) log.error('connectAndOpen data: ', channelData)
// event.sender.send('connectSuccess', { pub_key: data.pubkey, address: data.host, peer_id }) // event.sender.send('connectSuccess', { pub_key: data.pubkey, address: data.host, peer_id })
return channelData return channelData
}) })
.catch((error) => { .catch((error) => {
// event.sender.send('connectFailure', { error: error.toString() }) // event.sender.send('connectFailure', { error: error.toString() })
console.log('connectAndOpen error: ', error) log.error('connectAndOpen:', error)
}) })
break break
default: default:

11
app/lnd/methods/paymentsController.js

@ -9,18 +9,15 @@ export function sendPaymentSync(lnd, { paymentRequest }) {
lnd.sendPaymentSync({ payment_request: paymentRequest }, (error, data) => { lnd.sendPaymentSync({ payment_request: paymentRequest }, (error, data) => {
if (error) { if (error) {
reject({ error }) reject({ error })
return } else if (!data || !data.payment_route) {
reject({ error: data.payment_error })
} else {
resolve(data)
} }
if (!data || !data.payment_route) { reject({ error: data.payment_error }) }
console.log('data: ', data)
resolve(data)
}) })
}) })
} }
/** /**
* Synchronous non-streaming version of SendPayment * Synchronous non-streaming version of SendPayment
* @param {[type]} lnd [description] * @param {[type]} lnd [description]

6
app/lnd/subscribe/index.js

@ -2,8 +2,8 @@ import subscribeToTransactions from './transactions'
import subscribeToInvoices from './invoices' import subscribeToInvoices from './invoices'
import subscribeToChannelGraph from './channelgraph' import subscribeToChannelGraph from './channelgraph'
export default (mainWindow, lnd) => { export default (mainWindow, lnd, log) => {
subscribeToTransactions(mainWindow, lnd) subscribeToTransactions(mainWindow, lnd, log)
subscribeToInvoices(mainWindow, lnd) subscribeToInvoices(mainWindow, lnd, log)
subscribeToChannelGraph(mainWindow, lnd) subscribeToChannelGraph(mainWindow, lnd)
} }

8
app/lnd/subscribe/invoices.js

@ -1,8 +1,8 @@
export default function subscribeToInvoices(mainWindow, lnd) { export default function subscribeToInvoices(mainWindow, lnd, log) {
const call = lnd.subscribeInvoices({}) const call = lnd.subscribeInvoices({})
call.on('data', invoice => mainWindow.send('invoiceUpdate', { invoice })) call.on('data', invoice => mainWindow.send('invoiceUpdate', { invoice }))
call.on('end', () => console.log('end')) call.on('end', () => log.info('end'))
call.on('error', error => console.log('error: ', error)) call.on('error', error => log.error(error))
call.on('status', status => console.log('status: ', status)) call.on('status', status => log.info('status:', status))
} }

10
app/lnd/subscribe/transactions.js

@ -1,10 +1,10 @@
export default function subscribeToTransactions(mainWindow, lnd) { export default function subscribeToTransactions(mainWindow, lnd, log) {
const call = lnd.subscribeTransactions({}) const call = lnd.subscribeTransactions({})
call.on('data', (transaction) => { call.on('data', (transaction) => {
console.log('TRANSACTION: ', transaction) lnd.log.info('TRANSACTION:', transaction)
mainWindow.send('newTransaction', { transaction }) mainWindow.send('newTransaction', { transaction })
}) })
call.on('end', () => console.log('end')) call.on('end', () => log.info('end'))
call.on('error', error => console.log('error: ', error)) call.on('error', error => log.error('error: ', error))
call.on('status', status => console.log('TRANSACTION STATUS: ', status)) call.on('status', status => log.info('TRANSACTION STATUS: ', status))
} }

6
app/lnd/walletUnlockerMethods/index.js

@ -1,8 +1,6 @@
/* eslint no-console: 0 */ // --> OFF
import * as walletController from '../methods/walletController' import * as walletController from '../methods/walletController'
export default function (walletUnlocker, event, msg, data) { export default function (walletUnlocker, log, event, msg, data) {
switch (msg) { switch (msg) {
case 'genSeed': case 'genSeed':
walletController.genSeed(walletUnlocker) walletController.genSeed(walletUnlocker)
@ -17,7 +15,7 @@ export default function (walletUnlocker, event, msg, data) {
case 'initWallet': case 'initWallet':
walletController.initWallet(walletUnlocker, data) walletController.initWallet(walletUnlocker, data)
.then(() => event.sender.send('successfullyCreatedWallet')) .then(() => event.sender.send('successfullyCreatedWallet'))
.catch(error => console.log('initWallet error: ', error)) .catch(error => log.error('initWallet:', error))
break break
default: default:
} }

3
internals/scripts/CheckNodeEnv.js

@ -7,7 +7,6 @@ export default function CheckNodeEnv(expectedEnv: string) {
} }
if (process.env.NODE_ENV !== expectedEnv) { if (process.env.NODE_ENV !== expectedEnv) {
console.log(chalk.whiteBright.bgRed.bold(`"process.env.NODE_ENV" must be "${expectedEnv}" to use this webpack config`)) throw new Error(chalk.whiteBright.bgRed.bold(`"process.env.NODE_ENV" must be "${expectedEnv}" to use this webpack config`))
process.exit(2)
} }
} }

6
test/e2e/e2e.spec.js

@ -30,12 +30,6 @@ describe('main window', function spec() {
it('should haven\'t any logs in console of main window', async () => { it('should haven\'t any logs in console of main window', async () => {
const { client } = this.app const { client } = this.app
const logs = await client.getRenderProcessLogs() const logs = await client.getRenderProcessLogs()
// Print renderer process logs
logs.forEach((log) => {
console.log(log.message)
console.log(log.source)
console.log(log.level)
})
expect(logs).toHaveLength(0) expect(logs).toHaveLength(0)
}) })
}) })

7
webpack.config.renderer.dev.js

@ -10,12 +10,12 @@
import path from 'path' import path from 'path'
import fs from 'fs' import fs from 'fs'
import webpack from 'webpack' import webpack from 'webpack'
import chalk from 'chalk'
import merge from 'webpack-merge' import merge from 'webpack-merge'
import { spawn, execSync } from 'child_process' import { spawn, execSync } from 'child_process'
import ExtractTextPlugin from 'extract-text-webpack-plugin' import ExtractTextPlugin from 'extract-text-webpack-plugin'
import baseConfig from './webpack.config.base' import baseConfig from './webpack.config.base'
import CheckNodeEnv from './internals/scripts/CheckNodeEnv' import CheckNodeEnv from './internals/scripts/CheckNodeEnv'
import { mainLog } from './app/utils/log'
CheckNodeEnv('development') CheckNodeEnv('development')
@ -28,7 +28,7 @@ const manifest = path.resolve(dll, 'renderer.json')
* Warn if the DLL is not built * Warn if the DLL is not built
*/ */
if (!(fs.existsSync(dll) && fs.existsSync(manifest))) { if (!(fs.existsSync(dll) && fs.existsSync(manifest))) {
console.log(chalk.black.bgYellow.bold('The DLL files are missing. Sit back while we build them for you with "npm run build-dll"')) mainLog.info('The DLL files are missing. Sit back while we build them for you with "npm run build-dll"')
execSync('npm run build-dll') execSync('npm run build-dll')
} }
@ -264,14 +264,13 @@ export default merge.smart(baseConfig, {
}, },
before() { before() {
if (process.env.START_HOT) { if (process.env.START_HOT) {
console.log('Starting Main Process...')
spawn( spawn(
'npm', 'npm',
['run', 'start-main-dev'], ['run', 'start-main-dev'],
{ shell: true, env: process.env, stdio: 'inherit' } { shell: true, env: process.env, stdio: 'inherit' }
) )
.on('close', code => process.exit(code)) .on('close', code => process.exit(code))
.on('error', spawnError => console.error(spawnError)) .on('error', spawnError => mainLog.error(spawnError))
} }
} }
}, },

Loading…
Cancel
Save