Mailspring/build
Evan Morikawa 918090a4e1 feat(error): improve error reporting. Now NylasEnv.reportError
Summary:
The goal is to let us see what plugins are throwing errors on Sentry.

We are using a Sentry `tag` to identify and group plugins and their
errors.

Along the way, I cleaned up the error catching and reporting system. There
was a lot of duplicate error logic (that wasn't always right) and some
legacy Atom error handling.

Now, if you catch an error that we should report (like when handling
extensions), call `NylasEnv.reportError`. This used to be called
`emitError` but I changed it to `reportError` to be consistent with the
ErrorReporter and be a bit more indicative of what it does.

In the production version, the `ErrorLogger` will forward the request to
the `nylas-private-error-reporter` which will report to Sentry.

The `reportError` function also now inspects the stack to determine which
plugin(s) it came from. These are passed along to Sentry.

I also cleaned up the `console.log` and `console.error` code. We were
logging errors multiple times making the console confusing to read. Worse
is that we were logging the `error` object, which would print not the
stack of the actual error, but rather the stack of where the console.error
was logged from. Printing `error.stack` instead shows much more accurate
stack traces.

See changes in the Edgehill repo here: 8c4a86eb7e

Test Plan: Manual

Reviewers: juan, bengotow

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2509
2016-02-03 18:06:52 -05:00
..
config feat(tasks): add Create, Update, Destroy tasks plus spec & lint fixes 2016-01-15 15:16:21 -05:00
resources feat(error): improve error reporting. Now NylasEnv.reportError 2016-02-03 18:06:52 -05:00
tasks set the ContentType when uploading packages to S3. 2016-01-13 11:12:39 -08:00
Gruntfile.coffee feat(startup): new option to launch on system start 2016-01-28 12:02:08 -08:00
package.json fix(eslint): Avoid eslint/eslint/issues/5125 by specifying escope version 2016-02-01 11:08:15 -08:00
README.md Adding node version information to build/README.md 2015-10-05 23:43:33 -07:00
run-build-and-send-screenshot.scpt fix(build-flow): Slow down the script - jenkins is slow. 2015-08-18 18:19:17 -07:00

N1 Build Environment

Node version 0.10.x (Due to the version of electron currently used.)

N1 Building and Tasks

This folder contains tasks to create production builds of N1

Tasks should not be executed from this folder, but rather from /scripts. The /scripts folder has convenient methods that fix paths and do environment checks.

Note that most of the task definitions are stored in /build/tasks

Some useful tasks

NOTE: Run all of these from the N1 root folder.

Linting:

`script/grunt lint`

Building:

`script/grunt build`

The build folder has its own package.json and is isolated so we can use npm to compile against v8's headers instead of apm