44 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
const path = require('path');
 | 
						|
require('dotenv').config({ path: path.resolve(__dirname, '../.env') });
 | 
						|
 | 
						|
const nodemon = require('nodemon');
 | 
						|
const SmeeClient = require('smee-client');
 | 
						|
const createDebugger = require('debug');
 | 
						|
 | 
						|
const log = createDebugger('fcc:start:development');
 | 
						|
 | 
						|
if (process.env.WEBHOOK_PROXY_URL) {
 | 
						|
  const paypalPayloadHandler = new SmeeClient({
 | 
						|
    source: process.env.WEBHOOK_PROXY_URL,
 | 
						|
    target: process.env.API_LOCATION + '/hooks/update-paypal',
 | 
						|
    logger: { info: log, error: log }
 | 
						|
  });
 | 
						|
 | 
						|
  const paypalevents = paypalPayloadHandler.start();
 | 
						|
 | 
						|
  process.on('exit', () => {
 | 
						|
    log('Stopping webhook proxy client.');
 | 
						|
    paypalevents.close(() => {
 | 
						|
      log('Webhook proxy client is stopped.');
 | 
						|
    });
 | 
						|
  });
 | 
						|
} else {
 | 
						|
  log('Webhook client is not configured.');
 | 
						|
  log('This can be ignored when not working with webhooks locally.');
 | 
						|
}
 | 
						|
 | 
						|
nodemon({
 | 
						|
  ext: 'js json',
 | 
						|
  // --silent squashes an ELIFECYCLE error when the server exits
 | 
						|
  exec: 'npm run --silent babel-dev-server',
 | 
						|
  watch: path.resolve(__dirname, './server'),
 | 
						|
  spawn: true,
 | 
						|
  env: {
 | 
						|
    DEBUG: 'fcc*'
 | 
						|
  }
 | 
						|
});
 | 
						|
 | 
						|
nodemon.on('restart', function nodemonRestart(files) {
 | 
						|
  log('App restarted due to: ', files);
 | 
						|
});
 |