Commit Graph

2039 Commits

Author SHA1 Message Date
Rafael Oleza a62eaa0d3b Make the inline platform transform support string keys
Summary:
This diff makes the platform inline transformer support string keys, for example:

```
Platform.select({
  'ios': 'ios',
  'default': 'default',
});
```

This fixes https://github.com/facebook/metro/issues/134

Reviewed By: mjesun

Differential Revision: D7079013

fbshipit-source-id: 3e47bb4a28f2ac776475842982e089d5954d6521
2018-02-25 11:05:46 -08:00
Vladimir Timofeev 886c9b986c Fix npm deps
Summary:
**Summary**

This should fix install of the metro with npm (issue #142).
We can't have both babylon@6 and babylon@7 as deps for metro package, so as jeanlauliac suggested in https://github.com/facebook/metro/issues/142#issuecomment-368217279 lets create wrapper-package `metro-babylon7` and reexport babylon@7 from it.

**Test plan**

I do manually `yarn && yarn test` - all checks passed.
Closes https://github.com/facebook/metro/pull/143

Differential Revision: D7079144

Pulled By: rafeca

fbshipit-source-id: eeb4f6a01ad92d84dc14702dee07975e253bcf88
2018-02-24 09:21:43 -08:00
Rafael Oleza 41e7aa6f4a Improve readability of the traverse dependencies tests
Reviewed By: davidaurelio

Differential Revision: D7055471

fbshipit-source-id: dfac739159de0591d453511d4f4d7882beacb9bf
2018-02-24 04:29:24 -08:00
Rafael Oleza ff6f6ef1cf Make the delta protocol more robust by detecting when a client misses a delta
Reviewed By: davidaurelio

Differential Revision: D7031664

fbshipit-source-id: 22985ba45aa330780c8ddc44c07f5557e9e0d9c4
2018-02-24 04:29:24 -08:00
Burak Yigit Kaya a7fdc0f3c1 Add missing metro-cache dependency to metro
Reviewed By: rafeca, mjesun

Differential Revision: D7067918

fbshipit-source-id: 1d096dc3dc98c9ef7d6b47eee3b00e31a2427ec8
2018-02-23 10:45:41 -08:00
Jean Lauliac 0154fb32eb ModuleGraph/node-haste: remove dep over ResolutionRequest
Reviewed By: mjesun

Differential Revision: D7040976

fbshipit-source-id: 93d43342ee23b7f3496afbb532bbc12fefd6e61e
2018-02-23 10:36:52 -08:00
Burak Yigit Kaya 4670c08206 Bring metro-cache to 0.27.0 again
Reviewed By: rafeca

Differential Revision: D7067873

fbshipit-source-id: fa8d377c042f289c807160b8bb78392d00c8e1f4
2018-02-23 09:00:51 -08:00
Burak Yigit Kaya 4e33e7aa85 Release Metro 0.27.0
Reviewed By: davidaurelio

Differential Revision: D7067140

fbshipit-source-id: a2ae64a8049e5ef883c08f4abbe108401427b0aa
2018-02-23 07:51:31 -08:00
Miguel Jimenez Esun bd91fcf131 Add an "experimentalCaches" flag all the way down to Module
Reviewed By: jeanlauliac

Differential Revision: D6976974

fbshipit-source-id: fea0a3655fec924798567d690e2ee4f24465d5c5
2018-02-23 03:52:45 -08:00
Miguel Jimenez Esun 7486444a0a Pass cacheStores
Reviewed By: davidaurelio

Differential Revision: D7023425

fbshipit-source-id: 84d0d6585af4075bd7ac11ac3c97520caeae7b01
2018-02-23 03:52:44 -08:00
Miguel Jimenez Esun eab7030b2e Initial version of caches
Reviewed By: davidaurelio

Differential Revision: D7023408

fbshipit-source-id: 3411a34d7551f8c2e13087af6dae389c3468b1ee
2018-02-23 03:52:44 -08:00
Burak Yigit Kaya 3d061b34f7 Upgrade Jest to 22.4.2
Reviewed By: mjesun

Differential Revision: D7060484

fbshipit-source-id: 91cc7b6d66a2bb99242c144e011eef4393f87e9e
2018-02-23 03:52:44 -08:00
Miguel Jimenez Esun e4b1e773b1 Pass cache keys instead of cache props when talking to the GlobalTransformCache
Reviewed By: jeanlauliac

Differential Revision: D7031064

fbshipit-source-id: a99fb2775b84ce6b866c80be68f966dcd4ea57ca
2018-02-22 09:39:51 -08:00
Rafael Oleza 6da4bc4d30 Make sure that files that have been modified and deleted afterwards are marked as deleted
Reviewed By: davidaurelio

Differential Revision: D7030986

fbshipit-source-id: e00fc80ff6f5cb7bb49714d35c91361cb795ad0b
2018-02-22 09:39:51 -08:00
Michal Glaus 40c2449eec Pass numWorkers instead of maxWorkers to jest-worker
Summary:
<!-- Thanks for submitting a pull request! Please provide enough information so that others can review your pull request. The two fields below are mandatory. -->

**Summary**

Jest Worker accepts parameter `numWorkers`, not `maxWorkers`, see:
https://github.com/facebook/jest/tree/master/packages/jest-worker#numworkers-number-optional

<!-- Explain the **motivation** for making this change. What existing problem does the pull request solve? -->

**Test plan**

<!-- Demonstrate the code is solid. Example: The exact commands you ran and their output, screenshots / videos if the pull request changes UI. -->
Closes https://github.com/facebook/metro/pull/136

Reviewed By: mjesun

Differential Revision: D7036411

Pulled By: rafeca

fbshipit-source-id: 5528ca4a9abe5a8e3668e83b214e10d97ba7a827
2018-02-22 08:31:07 -08:00
Burak Yigit Kaya a984719eef Upgrade Jest to 22.4.0 to pull fixes for jest-haste-map
Reviewed By: mjesun

Differential Revision: D7041111

fbshipit-source-id: 6dbd0cbf7b62a54d0b5f16bbf2fa81332542f14e
2018-02-22 06:15:23 -08:00
Maël Nison b354a81427 Uses Yargs instead of Command
Summary: This diff allows Metro to throw an error when a configuration file cannot be found, by using a new strict: true option.

Reviewed By: rafeca

Differential Revision: D6998613

fbshipit-source-id: b704633be18d5c007f1a022fa811d0a74c636fc9
2018-02-22 06:08:20 -08:00
Maël Nison eb72ad3794 Makes the Metro CLI commands injectable
Summary: This diff makes the Metro CLI commands injectable into any Yargs object, so that we can override various aspects of it, add extra commands, etc.

Reviewed By: davidaurelio

Differential Revision: D6988250

fbshipit-source-id: 217c661e4c1b05282b6cdbf4d745d1b29f5cbbe0
2018-02-22 06:08:20 -08:00
Peter van der Zee 60f16aafc2 Version bump babel-plugin-external-helpers
Reviewed By: cpojer

Differential Revision: D7054249

fbshipit-source-id: 5cb5619ab700e61a9f4feeceac0a5b803ddfdc15
2018-02-22 04:14:23 -08:00
Miguel Jimenez Esun 0f3f7daa4f Move mocking inside beforeEach for Transformer test
Reviewed By: rafeca

Differential Revision: D7040798

fbshipit-source-id: eece8c42e1368ead476c6d1495dad7e0abb4b0e3
2018-02-21 04:53:06 -08:00
Jean Lauliac d110c7b9ea metro: extract metro-resolver package
Reviewed By: rafeca

Differential Revision: D7011526

fbshipit-source-id: 523c54792cef1c31eef281e6e39bc25b20e2ceec
2018-02-21 04:53:06 -08:00
Peter van der Zee 5aa19c7626 Add minifier-path option to Metro
Summary:
This exposes the `minifierPath` externally and allows it to be adjusted through the `--minifier-path` argument.

This works for both the server (when starting the server) and running a single build through the CLI.

In server mode, this can not be used per file request yet, though that should also be doable if need be.

Reviewed By: rafeca

Differential Revision: D6998562

fbshipit-source-id: 669b876c24fe117ec88b2200d48aa82658f568b4
2018-02-20 04:22:00 -08:00
Peter van der Zee c080d70699 Start making the minifier an option for Metro
Reviewed By: jeanlauliac

Differential Revision: D6998187

fbshipit-source-id: 32e6fbb756ff119ed8a3070585e9f6c39fab1baa
2018-02-20 04:22:00 -08:00
Peter van der Zee e9e3a986c7 Add a minifier path option to the ModuleGraph path
Reviewed By: mjesun

Differential Revision: D6998189

fbshipit-source-id: 4876de98b9970088161d78e1b462688307ef477f
2018-02-20 04:22:00 -08:00
Rafael Oleza 25b201148b Refactor the traversal of dependencies logic
Reviewed By: jeanlauliac

Differential Revision: D7009928

fbshipit-source-id: a56e4d3b5a3b2c91f14affbc56cbca56c8526d06
2018-02-19 06:52:36 -08:00
Rafael Oleza cfe175254a Do not do unnecessary work when re-adding a file after deleting it
Reviewed By: mjesun

Differential Revision: D7009760

fbshipit-source-id: 18a93443226bdec4decb69f75539e27f528c128c
2018-02-19 06:52:36 -08:00
Rafael Oleza a5307e986e Make metro rely much less in the ModuleCache system
Reviewed By: jeanlauliac

Differential Revision: D6949157

fbshipit-source-id: cb5ef25aa582935f7c624375392be7fceefd87b6
2018-02-19 06:52:36 -08:00
Miguel Jimenez Esun 03c3b3d219 Fix JSTransformer/index test
Reviewed By: jeanlauliac

Differential Revision: D7019771

fbshipit-source-id: cbf232dc22f55d75dced3206b3c4ef1a472a7102
2018-02-19 04:59:47 -08:00
Peter van der Zee dd48bb1fa3 Improve Flow coverage
Reviewed By: mjesun

Differential Revision: D6999089

fbshipit-source-id: 5dfaef91909060b5a2bec0030048e97c2c2c3698
2018-02-19 04:24:08 -08:00
Sophie Alpert 2a327fb19d Update to MIT license
Summary: Manual changes.

Reviewed By: TheSavior, yungsters

Differential Revision: D7012152

fbshipit-source-id: de7459be3db13c687868b45059856f125c4f2eb1
2018-02-16 18:30:48 -08:00
Sophie Alpert 8242229b59 Update license headers for MIT license
Summary:
Includes React Native and its dependencies Fresco, Metro, and Yoga. Excludes samples/examples/docs.

find: ^(?:( *)|( *(?:[\*~#]|::))( )? *)?Copyright (?:\(c\) )?(\d{4})\b.+Facebook[\s\S]+?BSD[\s\S]+?(?:this source tree|the same directory)\.$
replace: $1$2$3Copyright (c) $4-present, Facebook, Inc.\n$2\n$1$2$3This source code is licensed under the MIT license found in the\n$1$2$3LICENSE file in the root directory of this source tree.

Reviewed By: TheSavior, yungsters

Differential Revision: D7007050

fbshipit-source-id: 37dd6bf0ffec0923bfc99c260bb330683f35553e
2018-02-16 18:30:48 -08:00
Miguel Jimenez Esun e651b81881 Move "transformFile" to "transform" to match worker interface
Reviewed By: cpojer

Differential Revision: D6968803

fbshipit-source-id: 7dee92d5a58e18bb1ee0d5cd5748acd44cde5b18
2018-02-16 11:49:30 -08:00
Miguel Jimenez Esun b129827fa2 Move Buck-specific config into its own types.flow
Reviewed By: rafeca

Differential Revision: D6949488

fbshipit-source-id: aa26b3cb51809569ea2123d9a24cb99506b2b52b
2018-02-16 11:49:30 -08:00
Jean Lauliac 0386ef17e9 metro: ModuleResolution: extract resolveDependency
Reviewed By: rafeca

Differential Revision: D6999063

fbshipit-source-id: 2568d996f7403fcd6f8b9a9311f5bdfa36b25b52
2018-02-16 09:24:43 -08:00
Rafael Oleza 29115f729c Make the getTransformCacheKeyFn-test not dependant on the metro version
Reviewed By: davidaurelio

Differential Revision: D6976235

fbshipit-source-id: 8ba5a0413c3c96224a91d6972beda5a413557646
2018-02-16 05:53:06 -08:00
Peter van der Zee 5b383fce16 Cleanup lint errors
Summary:
Argument was no longer used and is causing lint errors.
Dropping it simplifies the debounce function as well.

Reviewed By: davidaurelio

Differential Revision: D6999567

fbshipit-source-id: 8856ed40feb0fa23155c9d18e20c43550aac876b
2018-02-15 10:07:45 -08:00
Andres Suarez 581623ed11 Fold .eslintrc's into the root eslintrc
Reviewed By: davidaurelio

Differential Revision: D6996960

fbshipit-source-id: f05c76b7356b21ecb8db4489920fd3a1fc34f1d9
2018-02-15 08:24:07 -08:00
Miguel Jimenez Esun b958c400f0 Upgrade Jest to 22.3.0
Reviewed By: BYK

Differential Revision: D6978514

fbshipit-source-id: 3c6be52d38fedbe849dee6319bb2e4d7a97297c9
2018-02-15 03:38:41 -08:00
Peter van der Zee 084dbcef30 Move the minifier to its own package
Reviewed By: davidaurelio

Differential Revision: D6988462

fbshipit-source-id: 437b8a2fda3f25d7ace73d548602356de319a99d
2018-02-15 03:38:41 -08:00
Rafael Oleza d9b6fd7102 Pass cacheVersion param via the new API
Reviewed By: BYK

Differential Revision: D6980337

fbshipit-source-id: 72c01136b6720390ffec8593f0375c8756dc1d4a
2018-02-14 08:46:56 -08:00
Rafael Oleza afa3307659 Fix enableBabelRCLookup option in new CLI + global cache script
Reviewed By: BYK

Differential Revision: D6977885

fbshipit-source-id: 50245e046c7639f9fb4022a9cc5974d50831524c
2018-02-14 08:46:56 -08:00
Rafael Oleza 33e93dcde3 Bump metro@0.26.0
Reviewed By: cpojer

Differential Revision: D6976161

fbshipit-source-id: 0cf20f4b2372997a8aac41cc07a9bdd641a93ad4
2018-02-13 07:15:04 -08:00
Rafael Oleza c955b65b22 Remove flaky babel 7 test + some small lint fixes
Differential Revision: D6976119

fbshipit-source-id: 0315511e8835e7dcfc796ac7133b24346d805853
2018-02-13 06:31:03 -08:00
Christoph Nakazawa 892b4ac9de Expose getDependencies when using RAM bundles
Reviewed By: rafeca

Differential Revision: D6965192

fbshipit-source-id: 8f4178aa4c38c03beab6da8bcaf4dc193c02b044
2018-02-12 10:16:19 -08:00
Andres Suarez 918e1a384c Upgrade to ESLint v4.17.0 (plus update related deps)
Reviewed By: adamjernst

Differential Revision: D6956725

fbshipit-source-id: d223aa238dbb67190a1c244c7d482fc95005ccb0
2018-02-09 21:46:02 -08:00
Andres Suarez 7d5a120fe9 Namespace custom ESLint rules through eslint-plugin-lint
Reviewed By: mzlee

Differential Revision: D6934651

fbshipit-source-id: 3cb0c3550ad628e3b5c0bdaec8cde9d5579ea0af
2018-02-09 11:14:55 -08:00
Peter van der Zee eacd27ecaa Remove log
Reviewed By: jeanlauliac

Differential Revision: D6948396

fbshipit-source-id: 5c9286b47257820bd4ec0da3068c5b21dbaff663
2018-02-09 04:32:23 -08:00
Maël Nison f12b07101e Refactors option forwarding from RN-cli to Metro
Reviewed By: jeanlauliac

Differential Revision: D6936821

fbshipit-source-id: aeaad43ca056cf0cb26255e426695f3bfb396368
2018-02-09 04:32:23 -08:00
Jean Lauliac 07a79853ef metro: ModuleResolution: extract resolveModulePath
Summary: Continue cleaning up the resolution algo. By removing the class completely as well as the `TModule` type, and providing options via the `context`, we'll be able to identify clearly the inputs of the resolution algorithm, and reuse it eventually for Jest. This changeset extract one more function in this fashion. Next steps: extract the rest of the stateful code into functions, or into `ResolutionRequest`.

Reviewed By: davidaurelio

Differential Revision: D6937569

fbshipit-source-id: bab0bcd280be32a11f23174b0591dd0cc7dee7ab
2018-02-08 10:14:25 -08:00
Jean Lauliac 1498c4ba6b metro-buck: getLibrary: precompute asset hashes
Reviewed By: davidaurelio

Differential Revision: D6937279

fbshipit-source-id: 328f06b2b66eeed6fd2f767dab1a03854c4dd28c
2018-02-08 10:06:29 -08:00