Commit Graph

194 Commits

Author SHA1 Message Date
Amjad Masad 61efe8a34b [react-packager] Use actual error types
Summary:
@public
Previously, we had to use errors as a property on the result object because there was no way to pass custom props between
the child worker and the parent. This has been fixed in node-worker-farm (D2092153) and now we can use regular errors.
This also adapts the transformer to babel-specific errors. Generic errors, however, should still work and render readable
info.

Additionally, I deprecated, but maintained backwards compatiblity for people in OSS that are using custom transformers.

Test Plan:
1. `./runJestTests.sh`
2. `./runJestTests.sh PackagerIntegration`
3. open the playground app
4. Add a syntax error. Say `1=x` somewhere in the file
5. Reload and see error message 'SyntaxError <filename> description (line:col)'
6. Make sure that the stack trace is clickable and it attempts to open the editor to the location
2015-05-22 10:21:26 -08:00
Hedger Wang 39af67ece3 Unbreak RN JS server for Android. 2015-05-20 18:38:34 -08:00
Amjad Masad 2271166a83 [react-packager] Add first class support to popular image formats
Summary:
@public
1. Default to first class support of popular image formats
2. Add tests to make sure we support other than png

Test Plan:
1. ./runJestTests.sh
2. Add test.png and test.jpg images in the Playground app dir
3. require both images and render then in the playground app
4. they render
2015-05-20 15:28:29 -08:00
Amjad Masad c9c61222cf [react-packager] Implement getJSModulePaths API 2015-05-20 13:38:46 -08:00
Alex Kotliarskyi 74e7e70e76 [ReactNative] Cleanup _build_bundle script 2015-05-20 10:31:28 -08:00
Amjad Masad 05b6cdf97a [react-native] Update jest to get perf bugfix 2015-05-17 02:51:35 -08:00
Dmitry Soshnikov a723377284 [jest] Update to v0.4.4 2015-05-17 00:20:42 -08:00
Amjad Masad 46e1404a76 [react-native] Fix source map issue with virtual modules 2015-05-15 15:49:11 -08:00
Amjad Masad cc9ab9ee79 [react-native] Use trailing commas transform
Summary:
@public
Apparently trailing commas transform isn't exported by react-tools. We need to pull it out manually. This is not so clean but we're swtching to babel very shortly.

Test Plan:
* npm start
* write `foo(a,b,c,)` in some file
* request that file in the browser and make sure that trailing comma is gone
2015-05-15 14:11:55 -08:00
Christopher Chedeau 6266a4d0d5 [react native] Bump jest-cli version to 0.4.3 in RN packages 2015-05-14 10:32:44 -08:00
Amjad Masad 936f786765 [react-native] Make document.js into a polyfill. Fixes #1149
Summary:
@public
document shimming must run before anything else. However, we don't currently guarantee that. This moves the document shimming into `document.js` which is used as a polyfill.

Test Plan:
* start server
* go to playground app
* require `NativeModules` as the first thing
* open chrome debugger
* no error
2015-05-13 17:50:21 -08:00
Amjad Masad e5b939d623 [react-packager] Use transformer name in cache name
Summary:
@public
Shouldn't confuse the cache from files transformed by different transformers. This takes into account the transformer in the cache hash name.

Test Plan:
* start server with --babel
* generate bundle
* start server with --jstransform
* generate bundle
* compare them and they're different
2015-05-13 14:49:28 -08:00
Spencer Ahrens ac49f8ca99 [ReactNative] differentiate fatal and soft exceptions 2015-05-13 13:24:37 -07:00
Nick Lockwood a91b293682 decode pathName when extracting from url 2015-05-13 13:24:36 -07:00
Dmitry Soshnikov 5663456373 [jest] Update to v0.4.2 2015-05-13 13:24:35 -07:00
Alex Kotliarskyi d93f66ca23 Updates from Fri 8 May 2015-05-08 10:29:59 -07:00
Alex Kotliarskyi 2f4dcae505 [ReactNative] Register assets with AssetRegistry 2015-05-07 17:27:42 -08:00
Alex Kotliarskyi b2bfef2d9e Updates from Wed 6 May 2015-05-06 16:08:10 -07:00
Amjad Masad b05ca45244 [react-packager] Use gracful-fs to avoid EMFILE errors
Summary:
@public
Currently, every time we call into the packager we have to change the ulimit to make sure
we don't hit the EMFILE error (the packager uses as much concurrency as possible).

Using graceful-fs, the fs module -- with monkey patching -- becomes intelligent enough to recover
from EMFILE errors.

Test Plan:
* set `ulimit -n 256*
* start server
* request from your browser: http://localhost:8081/RKJSModules/MainBundle/CatalystBundle.includeRequire.bundle
* it works
2015-05-05 14:30:43 -08:00
Evgen Filatov acd777a906 Fixed name of Chome window, Connects to #297
Summary:
Hi!

I have the same problem as described here https://github.com/facebook/react-native/issues/297
It could occurs after restarting `packager.sh` or `debuger-ui` page.

I found simple solution that works for me, but I am not 100% sure it will works for any user with this problem.

How could this be tested automatically?
Closes https://github.com/facebook/react-native/pull/1101
Github Author: Evgen Filatov <evgen.filatov@gmail.com>

Test Plan: Imported from GitHub, without a `Test Plan:` line.
2015-05-05 14:10:13 -08:00
Alex Kotliarskyi 3e5308274e Updates from Tue 5 May 2015-05-05 14:15:51 -07:00
Spencer Ahrens 95a120b663 [ReactNative] improve console logging a little bit 2015-05-04 18:57:03 -08:00
Amjad Masad 830646529a [react-packager] Combine source maps coming from transformer
Summary:
@public
Fixes [#393](https://github.com/facebook/react-native/issues/393). Currently the transformer assumes line-preserving compilers and defaults to a super-fast source map generation process. However, we need to support compilers that aren't preserving lines.
I had feared this wuold slow down the server but I came about a little known peace of the spec that defines an "indexed source map" just for the purpose of concating files: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit

Test Plan:
1. runJestTests.sh
2. run server and click around example apps
3. add a custom transporter like babel
4. add a custom file and a debugger statement
5. debug in chrome and make sure it works

redbox still works
2015-05-01 16:59:14 -08:00
Ben Alpert ff53859b52 Updates from Wed 29 Apr 2015-04-29 18:55:07 -07:00
Tim Yung 0fde2c2583 JS: Use Object.defineProperty for Array Polyfills 2015-04-28 15:56:40 -08:00
Alex Kotliarskyi fca69ad9d5 [ReactNative] Bump watchman timeout to 25s 2015-04-27 19:30:02 -08:00
Spencer Ahrens 876f1084af [ReactNative] temp disable flow check in packager for OSS 2015-04-27 19:13:33 -08:00
Spencer Ahrens 09f6ad84fe temporarily disable flow check in packager while we figure out versioning issues.
cc @gabelevi, @bhosmer
2015-04-27 16:13:47 -07:00
Alex Kotliarskyi 3a012f5d46 [ReactNative] Fix reloading in debug mode sometimes crashes packager 2015-04-24 15:07:57 -08:00
Spencer Ahrens 02aba9adee Updates from Fri 24 Apr 2015-04-24 11:46:18 -07:00
Alex Kotliarskyi 04da81d4d5 [ReactNative] Fix launchEditor script 2015-04-24 10:31:56 -08:00
Kevin Gozali 2115b67bd9 [ReactNative][madman] Reverted D2014357 2015-04-23 16:04:16 -08:00
Philipp von Weitershausen 0b3ca1c53e [ReactNative] Back out D2014163 entirely 2015-04-23 12:02:47 -08:00
Amjad Masad f635db3b6d [react-packager] Change uri to name 2015-04-23 11:52:00 -08:00
Amjad Masad 91b320cf35 [react-packager] Fix jest tests 2015-04-23 11:39:41 -08:00
Philipp von Weitershausen 240424714e [ReactNative] Disable console.error => redboxes to unwedge Android 2015-04-23 09:56:15 -08:00
Alex Kotliarskyi 98c10d72d2 [ReactNative] Backport packager logs redirect 2015-04-22 16:28:54 -08:00
Spencer Ahrens 4e96edb8b1 [ReactNative] console.error shows RedBox with pretty stack trace 2015-04-22 15:51:41 -08:00
Amjad Masad d4b5f2e514 [react-packager] Additional data to asset modules 2015-04-22 10:59:37 -08:00
Amjad Masad 749c81842c [react-packager] Add jpe?g to asset extensions 2015-04-21 11:06:01 -08:00
Amjad Masad 2645ffb69a [react-packager] bump watchman watch timeout to 10 seconds 2015-04-21 10:59:29 -08:00
Amjad Masad f91f7084ec [react-packager] Allow json files as modules 2015-04-21 10:51:15 -08:00
Amjad Masad 201d65dead [react-packager] Implement Packager::getAssets 2015-04-20 16:01:15 -08:00
Alex Kotliarskyi 10cd77b533 [ReactNative] Fix Chrome debugger 2015-04-20 14:37:24 -08:00
Tadeu Zagallo d108061db3 [ReactNative] Update method name on chrome debugger 2015-04-20 12:04:52 -08:00
Alex Kotliarskyi 259894046c [ReactNative] Skip flow checks for URLs that are not bundles 2015-04-20 11:52:07 -08:00
Alex Kotliarskyi 2d258f4fa0 Print server logs from e2e tests 2015-04-18 20:56:12 -07:00
Alex Kotliarskyi f7e2e4114b [ReactNative] Dim packager output 2015-04-17 16:12:25 -08:00
Amjad Masad ed3aaadc39 [react-packager] Add more information to deprecated asset requires 2015-04-17 15:14:13 -08:00
James Ide a68cc06f0b [Errors] Fix Red Box by fixing providesModule parsing
Summary:
cc @amasad

An error occurred while trying to display the Red Box since loadSourceMap was not included in the JS
bundle. This is because node-haste was treating its docblock as a multiline directive which doesn't make sense for `@providesModule`.

In loadSourceMap.js's case, the directive's value was parsed as "loadSourceMap -- disabled flow due to mysterious validation errors --".

There are two fixes: add a newline under the `@providesModule` directive, and change the module ID code to look at only the first token of the directive. I opted for the latter so we avoid this class of bugs entirely and AFAIK it's nonsensical to have multiple `@providesModule` values anyway.

Closes https://github.com/facebook/react-native/pull/866
Github Author: James Ide <ide@jameside.com>

Test Plan:  Run the packager, trigger an error in an app, see the red box now show up again.
2015-04-17 09:45:35 -08:00