Commit Graph

45 Commits

Author SHA1 Message Date
Ash Wilson
ce1c15cbc5 Recognize .tsx source as Typescript 2018-03-13 08:24:02 -04:00
Josh Soref
54156a8f77 spelling: javascript 2017-09-10 15:46:40 +00:00
Antonio Scandurra
2c3500503f Use custom snapshot row translation to prevent Electron 1.6 reload crash
Adding a source map for the entire snapshot was expensive in terms of
memory and seemed to be triggering some sort of bug in Chromium when
reloading with the DevTools open.

The custom row translation relies on a much more compact representation
of the data and avoids the crash.

Signed-off-by: Nathan Sobo <nathan@github.com>
2017-05-19 10:23:13 +02:00
Antonio Scandurra
9346ff9e63 Speed up parsing the snapshot source map
When calling remote functions or emitting deprecation warnings
respectively Electron and Grim create a fake `Error` object to retrieve
the stack trace of the current call site.

When doing this for the first time, if the call site was located inside
a snapshotted file, previously we would parse the source map for the
snapshot and translate the position of each call in the stack trace.
However, since the snapshot source map is quite big, we were observing
major slowdowns when parsing it for the first time.

With this commit we will parse the snapshot source map while generating
the snapshot, which will allow to not pay for it during runtime.

Signed-off-by: Michelle Tilley <binarymuse@github.com>
2017-05-11 14:21:45 +02:00
Antonio Scandurra
7534fbbeb7 Fix lint errors 2017-03-17 14:58:36 +01:00
Antonio Scandurra
ccbb276bf5 Bake source maps into the snapshot 2017-03-17 13:25:00 +01:00
Antonio Scandurra
cbe60bd53d Use the generated snapshot source map in source-map-support
This will report the correct file and line numbers on stack traces
instead of always showing `<embedded>:absoluteLineNumber`. As a result,
it will also fix the `notifications` package, which will be able again
to identify which package threw an exception and to create an issue on
its repository.
2017-03-17 12:28:22 +01:00
Antonio Scandurra
dcd9c48f63 Use CompileCache supportedExtensions instead of require.extensions 2017-02-28 19:01:21 +01:00
Antonio Scandurra
adb0e39166 WIP 2017-02-28 15:44:02 +01:00
Michelle Tilley
0846a2cdcc Default source map compiler to .js just like Node 2016-11-01 12:21:02 -07:00
Michelle Tilley
94f603e50a Pass package info to transpilers 2016-11-01 10:54:26 -07:00
Michelle Tilley
2d3afb431c Include package name as part of cache key 2016-10-31 23:21:13 -07:00
Michelle Tilley
00a020d175 Move call to fs.realpathSync to CompileCache 2016-10-30 10:41:33 -07:00
Michelle Tilley
ad448184b4 First pass at per-package transpilation 2016-10-29 14:30:24 -07:00
Indrek Ardel
fd1e060592 Use inline source maps for coffeescript 2016-09-30 15:03:04 +03:00
Antonio Scandurra
5fc2405801 Compile CSON, Babel and Coffeescript files using CompileCache 2016-08-13 12:49:46 +02:00
Max Brunsfeld
f670dd8ff2 Merge branch 'stable' into beta
Conflicts:
	package.json
2015-12-16 10:21:29 -08:00
Max Brunsfeld
e5c9a67056 Add a comment explaining why there's no es6 in compile-cache.js 2015-12-10 10:00:43 -08:00
Max Brunsfeld
5a6fd06386 There is no ES6 in compile-cache.js 2015-12-10 09:51:53 -08:00
Nathan Sobo
3567d47790 Merge pull request #9878 from atom/ns-mb-fix-prepare-stack-trace-recursion
Avoid infinite recursion in Error.prepareStackTrace
2015-12-08 14:22:07 -07:00
Nathan Sobo
7718d5cb56 Merge pull request #9773 from atom/mb-ns-prepare-stack-trace-fixes
Allow Error.prepareStackTrace to be temporarily reassigned
2015-12-08 14:21:47 -07:00
Nathan Sobo
9bd22d35b4 Merge branch 'beta' 2015-12-08 14:13:37 -07:00
Nathan Sobo
4f9e1a8ca3 Increase stack trace size limit to 30 2015-12-07 14:25:11 -07:00
Nathan Sobo
f139992585 Avoid infinite recursion in Error.prepareStackTrace
Previously, prepareStackTraceWithStackAssignment could end up calling
itself when third-party code assigned Error.prepareStackTrace back
to its original value. Now, we short-circuit this process if the
rawStack property has already been assigned.

Signed-off-by: Max Brunsfeld <maxbrunsfeld@github.com>
2015-11-30 10:51:21 -08:00
Max Brunsfeld
4bc46db355 Still assign error's raw stack when prepareStackTrace is overridden
Signed-off-by: Nathan Sobo <nathan@github.com>
2015-11-23 15:30:11 -08:00
Max Brunsfeld
4616b426b0 Allow Error.prepareStackTrace to be temporarily reassigned
Fixes https://github.com/atom/atom/issues/9660

Signed-off-by: Nathan Sobo <nathan@github.com>
2015-11-23 15:22:15 -08:00
Chen Shen
d17ab332ec fix bug in getRawStack 2015-11-23 14:29:17 -08:00
Max Brunsfeld
f31328baec Disable linter warning for Error prototype method 2015-10-16 16:25:45 -07:00
Max Brunsfeld
c36b4bd169 Make Error.prepareStackTrace read-only (again)
This time, we've provided a way for Grim to access an Error's
raw stack trace array
2015-10-16 16:25:45 -07:00
Max Brunsfeld
d9410716d2 Don't attempt to use source maps w/ no cache directory
This error will only happen when the compile-cache file is compiled
twice, which seems to be happening on windows when running specs.
This doesn't fix that problem, but prevents further errors from
cascading in a confusing way.
2015-09-01 16:49:15 -07:00
Kevin Sawicki
56f40d7714 Append to existing cache dir value 2015-08-31 10:29:36 -07:00
Kevin Sawicki
8fa99a33be Append root to atom home value 2015-08-31 10:23:14 -07:00
Max Brunsfeld
a4b9b9c6cd 👕 Use standard style for js code 2015-08-21 16:56:32 -07:00
Max Brunsfeld
f3778148a0 Catch errors when retrieving source maps 2015-08-21 15:37:36 -07:00
Max Brunsfeld
a18b7e2fa9 Don't make prepareStackTrace unwritable
This breaks other code (such as Grim) that may want to temporarily
use a different prepareStackTrace function.
2015-08-21 14:57:39 -07:00
Max Brunsfeld
a6fa098a8c Add CompileCache spec 2015-08-21 14:47:32 -07:00
Max Brunsfeld
f8397661d1 Defer coffee-script require, prevent it from reassigning prepareStackTrace 2015-08-21 13:48:56 -07:00
Max Brunsfeld
b533aff8f4 🐎 Minimize dependencies loaded before the module-cache 2015-08-21 13:48:56 -07:00
Max Brunsfeld
bb69f1352d 🎨 2015-08-21 11:50:54 -07:00
Max Brunsfeld
408202729e Add sourceURL comment to all compiled js files 2015-08-21 11:19:11 -07:00
Max Brunsfeld
8c5eed28d2 Don't use es6 features in compile-cache
APM requires it directly, and it uses an older version of node
2015-08-21 10:31:29 -07:00
Nathan Sobo
c0f3ca6dcd Fix inline source map regex
Need to enable multi-line mode after all

Signed-off-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
2015-08-20 16:08:03 -06:00
Nathan Sobo
61ef1da815 🎨
Signed-off-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
2015-08-20 16:07:37 -06:00
Max Brunsfeld
973c2a6a18 Don't match newlines when finding source-map data 2015-08-20 11:58:46 -07:00
Max Brunsfeld
49e37f5410 Use source-map-support to handle stack trace conversion
Previously, our Error.convertStackTrace function was provided by coffeestack,
which only works for coffee-script. This adds a dependency on 'source-map-support',
which works for any source file with inline source maps.

This also refactors the code for registering our compilers (coffee-script,
typescript, and babel) so that caching logic is shared.
2015-08-19 17:55:29 -07:00