Commit Graph

428 Commits

Author SHA1 Message Date
Miguel Jimenez Esun 737abe3b76 Revert D5388655: BREAKING: Add regenerator-runtime on demand, based on the files
Differential Revision: D5388655

fbshipit-source-id: 2f92d6ae69f4772195aeca7493f53209388b3ad0
2017-07-19 12:08:38 -07:00
Miguel Jimenez Esun 3103258ca0 BREAKING: Add regenerator-runtime on demand, based on the files
Summary:
Adding a Babel plugin that will analyze the file looking for any potential candidate to use `regenerator-runtime`, and if so, will inject dynamically the module. The module is injected per file, so we avoid polluting the global environment. The plugin is also able to inject the `require` call beforehand, so that the inliner can pick them and inline them.

The Babel plugin is part of `react-native-babel-preset`, so as long as you are using this preset you are safe. If not, you should include the specific transformer into your list of plugins, as `react-native-babel-preset/transforms/transform-regenerator-runtime-insertion.js`.

Reviewed By: davidaurelio

Differential Revision: D5388655

fbshipit-source-id: dc403f3d5e2d807529eb8569a85c45fec36a6a3e
2017-07-19 11:04:33 -07:00
Trevor Brindle 95ee3f5cab added info CLI command
Summary:
Many issues filed on Github are missing platform/toolchain version information. Others have different ways of writing it, and require the issue writer to look in multiple places for these versions.
Other CLI tools like Ionic have this function, and it's incredibly useful. Related to https://github.com/facebook/react-native/issues/14420

Run in terminal/command prompt `react-native info`

```
trevors-imac:AwesomeProject tabrindle$ react-native info
Versions:
  React Native:  1000.0.0
  OS:  macOS Sierra
  Node:  v6.10.3
  Yarn:  0.24.5
  npm:  5.0.0
  Xcode:  Xcode 8.3.3 Build version 8E3004b
```

- CLA signed 
- Verify functionality + implementation
Closes https://github.com/facebook/react-native/pull/14428

Differential Revision: D5392446

Pulled By: hramos

fbshipit-source-id: 460079f3860c0af1e0b77bf26552c26032e974be
2017-07-18 11:45:47 -07:00
Miguel Jimenez Esun 4583cc9f02 Enable Jest tests
Reviewed By: cpojer

Differential Revision: D5433324

fbshipit-source-id: d577d5245c884b4036a2ff2d1521eec6f6acf5ab
2017-07-18 07:35:28 -07:00
Miguel Jimenez Esun 1fe8f89bc8 Update Jest to 20.1.0, chi.1
Reviewed By: davidaurelio

Differential Revision: D5423945

fbshipit-source-id: deb58ba9288883b5d671148aeaa59da6629d0de4
2017-07-14 10:19:32 -07:00
Miguel Jimenez Esun 6dd9d16833 Move Array<string> to $ReadOnlyArray<string>. Separate polyfill list into a file.
Summary: Move the returned type of `getPolyfills` from a standard `Array` to a read-only one, so that we make sure the array is not modified once created. Also, refactor the list of polyfills included by default to a generic, central file, then require it both from the CLI utils as well as the development server.

Reviewed By: jeanlauliac

Differential Revision: D5406553

fbshipit-source-id: ab980288bb1c625338de469da77dd6fc70bcedbc
2017-07-13 03:38:23 -07:00
Eli White fc86f25f9a Run eslint on all js files
Reviewed By: zertosh

Differential Revision: D5405047

fbshipit-source-id: 5ade9d8beb3688d8bb08a208709c0dbf1ec671b2
2017-07-12 14:09:53 -07:00
Brian Vaughn 1d353b4ef7 Try to match React DevTools theme with current Nuclide theme
Reviewed By: spicyj

Differential Revision: D5362305

fbshipit-source-id: 7d8464f768d124cbb31ba211d81a01a89d6bf692
2017-07-12 12:24:43 -07:00
Eli White 10230707cb Enforce Prettier for @format
Reviewed By: zertosh

Differential Revision: D5392376

fbshipit-source-id: 6f09a4d8f4542c3a74aadb8d62fd216529a4f2bc
2017-07-10 15:37:36 -07:00
Christoph Nakazawa e0eee0bb49 Revert D5321193: BREAKING: Add regenerator-runtime on demand, based on the files
Differential Revision: D5321193

fbshipit-source-id: 9113ed78e59ae9e9f3f86ca2fda2db3bd8c0dd7c
2017-07-07 10:48:37 -07:00
David Aurelio 9b06a3193e Update `throat` dependency to 3.2.0
Summary: it has flow definitions now. OMG!

Reviewed By: cpojer

Differential Revision: D5381183

fbshipit-source-id: bdb3863b24da9802eeeb8a7d08f05d629f735178
2017-07-07 09:21:24 -07:00
Miguel Jimenez Esun 361f03badb BREAKING: Add regenerator-runtime on demand, based on the files
Summary:
Adding a Babel plugin that will analyze the file looking for any potential candidate to use `regenerator-runtime`, and if so, will inject dynamically the module. The module is injected per file, so we avoid polluting the global environment. The plugin is also able to inject the `require` call beforehand, so that the inliner can pick them and inline them.

The Babel plugin is part of `react-native-babel-preset`, so as long as you are using this preset you are safe. If not, you should include the specific transformer into your list of plugins, as `react-native-babel-preset/transforms/transform-regenerator-runtime-insertion.js`.

Reviewed By: davidaurelio

Differential Revision: D5321193

fbshipit-source-id: fd4805b28c8a2b986842e23570a64003370d2067
2017-07-07 07:47:13 -07:00
James Ide 6e13adbf56 Remove remnants of the packager
Summary:
There were still some references to "packager/" that are no longer used since the `packager` directory has been deleted after moving to Metro. Cleaned up the ones that were doing nothing and updated the references that are still meaningful.
Closes https://github.com/facebook/react-native/pull/14881

Reviewed By: cpojer

Differential Revision: D5380731

Pulled By: javache

fbshipit-source-id: 1355268f48db47343d0d38fae2598b64c8c01475
2017-07-07 03:06:21 -07:00
Miguel Jimenez Esun e7c1cf5b7d Add a new babel transformer for inlining regenerator-runtime per file
Reviewed By: davidaurelio

Differential Revision: D5364134

fbshipit-source-id: 45aae705f961819d5a8e3a8a23c2e8b9300d3cb5
2017-07-03 10:04:22 -07:00
Miguel Jimenez Esun 304dc6bd77 Update Jest to 20.1 alpha 3
Reviewed By: cpojer

Differential Revision: D5356174

fbshipit-source-id: b718f9e40d731999329b7ff0e6d498a523772c84
2017-07-03 10:04:22 -07:00
Jean Lauliac d494282fd1 metro-bundler: upgrade jest-haste-map
Reviewed By: cpojer

Differential Revision: D5346860

fbshipit-source-id: 16e9eeeb28804af81428745fda4ffc05a461845c
2017-06-29 08:31:19 -07:00
Marshall Roch 16747dd807 @allow-large-files Flow v0.49
Reviewed By: nmote

Differential Revision: D5339224

fbshipit-source-id: a18f0afb2ce75df736662d84951e392db1e2dbbf
2017-06-28 21:32:48 -07:00
David Aurelio 1faf40b02a Upgrade metro-bundler to v0.9.0
Summary: Upgrade metro-bundler to v0.9.0. This version has no functional change. The only change is that the structure of the npm package reflects the structure of the source code.

Reviewed By: bestander

Differential Revision: D5315651

fbshipit-source-id: 3a69337106d4ccf708823c80d304941973360e8e
2017-06-24 17:15:55 -07:00
David Aurelio 1230549c77 Upgrade babel-preset-fbjs
Summary: Upgrades `babel-preset-fbjs` to v2.1.4, which has better support for moving es2015 imports around.

Reviewed By: BYK

Differential Revision: D5287818

fbshipit-source-id: a2fa7b0267b913f126b37946cf24dd4c5146c245
2017-06-21 02:00:44 -07:00
David Aurelio 86328e9266 Upgrade `babel-transform-react-native` to `v2.0.0`
Summary: Upgrades `babel-transform-react-native` to v2.0.0, which exposes a factory function. That way, the preset will include/exclude dev tools according to `process.env.NODE_ENV` even when that value changes over time.

Reviewed By: cpojer

Differential Revision: D5246801

fbshipit-source-id: 74a1e7e0fb1476750e1fe21ce4befd475907b415
2017-06-19 08:22:23 -07:00
Tim Yung ce5ae53669 RN: Replace Workaround w/ Upgraded `mock-fs`
Reviewed By: cpojer

Differential Revision: D5271612

fbshipit-source-id: 1579f34d4c4e64706f2f128e848b5f6d3d838097
2017-06-18 01:01:59 -07:00
Avik Chaudhuri 71401c1185 update xplat/js to flow 0.48.0
Reviewed By: zertosh

Differential Revision: D5243415

fbshipit-source-id: 78ea4f7f29bcd6a70650f24ceb05f06b18b39018
2017-06-14 15:47:21 -07:00
Miguel Jiménez Esún c9a39b3bd3 Move jest to version 20
Reviewed By: cpojer

Differential Revision: D5235642

fbshipit-source-id: eaeee1c5f67cf295fdc9798fb13bd5a83706af10
2017-06-14 12:48:22 -07:00
James Burnett 383915caeb use default jest automock config setting
Reviewed By: cpojer

Differential Revision: D5246071

fbshipit-source-id: aec9078a5187621745507c4411c40aa993d9d94f
2017-06-14 10:07:58 -07:00
Lxxyx 96d3be18bf upgrade image-size version fix caculate webp image size bugs
Summary:
When I try to use webp for app. But some webp images get an error message `unsupported file type` by image-size@0.3.5.

And I in image-size repo I found a issue https://github.com/image-size/image-size/issues/65.
This is the same problem.

And try image-size^0.5.1 the error fixed.

![image](https://cloud.githubusercontent.com/assets/13161470/23597366/403a3070-026d-11e7-8666-f4357f1eee73.png)
Closes https://github.com/facebook/react-native/pull/14238

Reviewed By: davidaurelio

Differential Revision: D5145534

Pulled By: javache

fbshipit-source-id: a2aeeae19e928ffefbd0b32501d34069ed37386d
2017-06-13 09:31:55 -07:00
Christoph Pojer 29d9c35e12 Add --maxWorkers flag and allow transformers to run in-band.
Summary:
This diff cleans up some cruft and adds some features:

* It removes the usage of an env variable to control workers.
* It removes the lazy and handwavy calculation on how many workers to use for jest-haste-map. Jest itself uses the maximum amount of workers available and it has never been reported as an issue – especially since it is a one-time startup cost of about 3 seconds on a cold cache only.
* It adds a `--max-workers` flag to replace the env variable. This one is able to control both the number of workers for `jest-haste-map` as well as the transformers.
* It makes the transformers run in the parent process if 1 or fewer workers are are specified. This should help with debugging.

Once you approve this diff, I will publish a new version of metro to npm and update the version used in RN and remove the use of the env variable altogether: https://our.intern.facebook.com/intern/biggrep/?corpus=xplat&filename=&case=false&view=default&extre=&s=REACT_NATIVE_MAX_WORKERS&engine=apr_strmatch&context=false&filter[uninteresting]=false&filter[intern]=false&filter[test]=false&grep_regex=

Note: the process of adding a CLI option is really broken. Commander also has a weird API. We should consider building a better public API for Metro and then consider how to build a new CLI on top of it and simplify our internal integration. I really don't like how Metro is integrated across pieces of the RN cli in ways that is hard to manage. But that is a larger task for another time :)

Reviewed By: jeanlauliac

Differential Revision: D5217726

fbshipit-source-id: 74efddbb87755a9e744c816fbc62efa21f6a79bf
2017-06-13 09:16:03 -07:00
James Burnett 01afc16bfc disable automock in fbsource/xplat
Reviewed By: cpojer

Differential Revision: D5221281

fbshipit-source-id: 65ef24a0ed59cffadc96b54ae9c4f6d1f677522d
2017-06-10 07:02:10 -07:00
Tim Yung 6407071424 RN: Node v8 Workaround for `local-cli/core/__tests__`
Reviewed By: raluca-elena

Differential Revision: D5224358

fbshipit-source-id: 66c923bd3a38af47fcacbd1ee758bd28253ecf31
2017-06-10 00:08:23 -07:00
David Aurelio 4990c5c5b3 Move type definitions used for metro bundler from React Native
Summary: Moves type definitions for uglify and babel from React Native to Metro Bundler. We need it there.

Reviewed By: cpojer

Differential Revision: D5217795

fbshipit-source-id: 9ec349cd8caf077eaa3c6fa3d090ffd47893e967
2017-06-09 14:02:05 -07:00
Tim Yung 3b6d2cd782 RN: Upgrade to babel-preset-fbjs@2.1.3
Reviewed By: raluca-elena

Differential Revision: D5216819

fbshipit-source-id: 054eea9c3f27da9616c49acfe1b2674bbceb49ec
2017-06-09 02:04:03 -07:00
Jean Lauliac 4a7ebdf757 packager: fix arc lint
Reviewed By: cpojer

Differential Revision: D5209393

fbshipit-source-id: 2efcb4cb7a556690778248a640398c9739ce9a50
2017-06-08 10:22:50 -07:00
Dan Abramov d78fb45f43 Update React DevTools to 2.3.1
Reviewed By: zertosh

Differential Revision: D5191009

fbshipit-source-id: a349244a13b5b642979547ab05d960cee57bde76
2017-06-06 09:16:26 -07:00
Jean Lauliac a939109183 metro-bundler: upgrade
Reviewed By: cpojer

Differential Revision: D5190525

fbshipit-source-id: f92da16733f95475650db2395c76495cce862d32
2017-06-06 05:30:19 -07:00
Dan Abramov 844a18fb25 Upgrade React developer tools to 2.3.0
Reviewed By: spicyj

Differential Revision: D5175272

fbshipit-source-id: f5184b7c66d71bd6dcc5dcf3a9734b445af1c0a9
2017-06-05 09:20:39 -07:00
Jean Lauliac 07ee04d7bd metro-bundler: upgrade react-native-github to OSS bundler
Reviewed By: cpojer

Differential Revision: D5172542

fbshipit-source-id: 4ca6c9aad8f798ac6b8f1070f98b5d1d2098e726
2017-06-02 11:31:40 -07:00
Jean Lauliac a33dd76e4f metro-bundler: fix integration test for OSS
Summary: This should fix the e2e test for OSS.

Reviewed By: cpojer

Differential Revision: D5164267

fbshipit-source-id: d858b4811f0eb80ca7363177f4f384b66af13994
2017-06-01 10:03:27 -07:00
Yu Wang bada25d158 Update inquirer package to better support interactive command line prompts
Summary:
Update package `inquirer` to better support interactive command line prompts
inquirer: https://github.com/SBoudrias/Inquirer.js/blob/master/examples/input.js

Reviewed By: bestander

Differential Revision: D5151228

fbshipit-source-id: 96de7a4f0b914de0a9ad87e7e5d87ad42c4f38e1
2017-05-31 14:34:21 -07:00
Brian Vaughn da50811609 Update React DevTools to 2.2.0
Reviewed By: gaearon

Differential Revision: D5138832

fbshipit-source-id: 65499a170fe0899fc89b63ba5c05dc3e3155248f
2017-05-30 08:45:28 -07:00
Christoph Pojer 414da08a80 Stop requiring setupBabel from within packager/ folder.
Reviewed By: davidaurelio

Differential Revision: D5137246

fbshipit-source-id: 3072aaa6fd74a135980f1f0a7b078a82dd85f09d
2017-05-30 04:46:08 -07:00
Brian Vaughn 94c565a2c4 Flat ReactNative renderer bundle [WIP]
Reviewed By: trueadm

Differential Revision: D5013497

fbshipit-source-id: 1e23b08751b8b6e2dd570ff584c815c8a9b8f35f
2017-05-26 11:03:06 -07:00
glevi@fb.com ffdae135fd Deploy v0.47.0 to xplat/js
Reviewed By: zertosh

Differential Revision: D5135644

fbshipit-source-id: f979970f8d0c4e082ec1302084d4def6652557c8
2017-05-25 23:00:37 -07:00
Jean Lauliac 7c06a0da65 packager: upgrade jest-haste-map version
Summary: This allows us to get the new fix for recovery on duplicate modules.

Reviewed By: cpojer

Differential Revision: D5128975

fbshipit-source-id: 5a2b60430bbca1806a97798c482af8522366e071
2017-05-25 05:15:46 -07:00
Tim Yung e6b91a0879 ESLint: Upgrade to 3.19.0
Reviewed By: zertosh

Differential Revision: D5115004

fbshipit-source-id: 26c2e46dd22997014130a447bc8b6cbe1bf1698d
2017-05-23 17:05:16 -07:00
David Aurelio a710f9a81e Move packager launcher scripts outside of `packager/`
Summary: in order to prepare open sourcing React Native Packager, we have to move scripts specific to React Native to a directory that will continue to exist.

Reviewed By: javache

Differential Revision: D5112193

fbshipit-source-id: eac77d0d981aecef7ee52365a6856340420a5638
2017-05-23 16:17:09 -07:00
David Aurelio 1507cdcf1f Upgrade `sinon` dev dependency
Summary: Upgrade `sinon` to v2.2.0

Reviewed By: zertosh

Differential Revision: D5087183

fbshipit-source-id: 5648fb388ab2a14edbc2313a16ac9c3d80fbda05
2017-05-18 11:31:52 -07:00
Tim Yung 23e81f2ae3 React: Upgrade to react-devtools@^2.1.9
Reviewed By: zertosh

Differential Revision: D5074448

fbshipit-source-id: c8f870e159d4b30f001de91696f72c0f437ac28a
2017-05-16 18:02:12 -07:00
Dan Abramov 7210a060e6 Enable JSX source plugin in DEV and integrate it with React DevTools
Summary:
The `env` option has been broken in Babel for a while (https://github.com/babel/babel/issues/4539), and will be deprecated (https://github.com/babel/babel/issues/5276).

I am changing this code to the way Babel < 6.10 interpreted the `env` option. This should fix the `__source` JSX transform which was applied in DEV in the past, but stopped getting applied because of the Babel bug.

I also changed the `filename` passed by Babel to be relative (currently, to `fbsource` but open to other options). This way DEV builds are still reproducible.

This still needs some help from davidaurelio to make the root location more foolproof. I'd also appreciate zertosh taking a look in case there's a better way to "anchor" the relative path. All I need is to for `react-third-party/react-devtools/react-devtools` and `babelTransformer.js` to agree on what the relative path base is.

Closes https://github.com/facebook/react-native/pull/13893

Reviewed By: gaearon

Differential Revision: D5035892

Pulled By: davidaurelio

fbshipit-source-id: 19ffeb867d7ed5928e9de05dcec9ba85bf961dd5
2017-05-12 08:50:11 -07:00
Jean Lauliac 3bf3c83a5b packager: add transform-class-properties transform
Summary: I found myself a few times wanting that transform, that makes it slightly simpler to have bound method. So I propose we add it. Not a big deal though. Note it also allows static properties with the same syntax, that is handy.

Reviewed By: davidaurelio

Differential Revision: D5051579

fbshipit-source-id: 7ebf7c709bf52a30a525550c1eda1a6a2f7b8e1e
2017-05-12 07:39:10 -07:00
Jean Regisser 562f6c55fa Ship third-party-podspecs in the npm package
Summary:
Hi,

Today I upgraded from RN 0.44 to 0.45.0-rc.0 and noticed I add to include either `CxxBridge` or `BatchedBridge` in the React subspecs in my Podfile to get my project to compile again (https://github.com/facebook/react-native/issues/13010).

Adding `BatchedBridge` works fine. However I wanted to try `CxxBridge` as described in 5aca739cc2 but couldn't do it since the required `third-party-podspecs` folder with `Folly.podspec`, `GLog.podspec` and `DoubleConversion.podspec` hadn't been included in the npm release.

So here is the fix for that.
It should be included in the next 0.45.0-rc release.

Let me know what you think.
Closes https://github.com/facebook/react-native/pull/13922

Differential Revision: D5051477

Pulled By: javache

fbshipit-source-id: e5c527f1ee9c84734d3e3a3d85ec3f1e5d648bef
2017-05-12 03:02:13 -07:00
Gabe Levi 9e6c44095b Deploy v0.46.0
Reviewed By: zertosh

Differential Revision: D5039894

fbshipit-source-id: 2e4a0c26550ae3a0dc01b33d1d939ec0218127be
2017-05-11 09:17:53 -07:00