mirror of
https://github.com/Foundry376/Mailspring.git
synced 2024-11-12 12:40:08 +08:00
8133cc88d6
Summary: - We now make verbose log files continuously as you use the app - We ship the logs to LogStash via S3 when an exception occurs - We log the DatabaseStore, ActionBridge and Analytics packages - We are now on the latest version of Electron 0.26.0 - We are now on Chrome 42 and io.js 1.4.3 - We should be setup to use ASAR soon. Update atom.sh to reflect that we're now electron oniguruma was unnecessary correctly find log files that haven't been shipped yet Fix a small issue with nodeIsVisible after upgrade to Chrome 42 Delete old logs, better logging from database store, don't ship empty logs Test Plan: Run existing tests Reviewers: evan Reviewed By: evan Differential Revision: https://phab.nylas.com/D1531
55 lines
2.4 KiB
CoffeeScript
55 lines
2.4 KiB
CoffeeScript
BufferedProcess = require './buffered-process'
|
|
path = require 'path'
|
|
|
|
# Extended: Like {BufferedProcess}, but accepts a Node script as the command
|
|
# to run.
|
|
#
|
|
# This is necessary on Windows since it doesn't support shebang `#!` lines.
|
|
#
|
|
# ## Examples
|
|
#
|
|
# ```coffee
|
|
# {BufferedNodeProcess} = require 'atom'
|
|
# ```
|
|
module.exports =
|
|
class BufferedNodeProcess extends BufferedProcess
|
|
|
|
# Public: Runs the given Node script by spawning a new child process.
|
|
#
|
|
# * `options` An {Object} with the following keys:
|
|
# * `command` The {String} path to the JavaScript script to execute.
|
|
# * `args` The {Array} of arguments to pass to the script (optional).
|
|
# * `options` The options {Object} to pass to Node's `ChildProcess.spawn`
|
|
# method (optional).
|
|
# * `stdout` The callback {Function} that receives a single argument which
|
|
# contains the standard output from the command. The callback is
|
|
# called as data is received but it's buffered to ensure only
|
|
# complete lines are passed until the source stream closes. After
|
|
# the source stream has closed all remaining data is sent in a
|
|
# final call (optional).
|
|
# * `stderr` The callback {Function} that receives a single argument which
|
|
# contains the standard error output from the command. The
|
|
# callback is called as data is received but it's buffered to
|
|
# ensure only complete lines are passed until the source stream
|
|
# closes. After the source stream has closed all remaining data
|
|
# is sent in a final call (optional).
|
|
# * `exit` The callback {Function} which receives a single argument
|
|
# containing the exit status (optional).
|
|
constructor: ({command, args, options, stdout, stderr, exit}) ->
|
|
node =
|
|
if process.platform is 'darwin'
|
|
# Use a helper to prevent an icon from appearing on the Dock
|
|
path.resolve(process.resourcesPath, '..', 'Frameworks',
|
|
'Atom Helper.app', 'Contents', 'MacOS', 'Atom Helper')
|
|
else
|
|
process.execPath
|
|
|
|
options ?= {}
|
|
options.env ?= Object.create(process.env)
|
|
options.env['ATOM_SHELL_INTERNAL_RUN_AS_NODE'] = 1
|
|
|
|
args = args?.slice() ? []
|
|
args.unshift(command)
|
|
args.unshift('--no-deprecation')
|
|
|
|
super({command: node, args, options, stdout, stderr, exit})
|