diff --git a/packager/react-packager/src/DependencyResolver/Module.js b/packager/react-packager/src/DependencyResolver/Module.js index b34a2568db..7d4b624610 100644 --- a/packager/react-packager/src/DependencyResolver/Module.js +++ b/packager/react-packager/src/DependencyResolver/Module.js @@ -159,10 +159,14 @@ function extractRequires(code /*: string*/) /*: Array*/ { deps.sync.push(dep); return match; }) + .replace(replacePatterns.EXPORT_RE, (match, pre, quot, dep, post) => { + deps.sync.push(dep); + return match; + }) // Parse the sync dependencies this module has. When the module is // required, all it's sync dependencies will be loaded into memory. // Sync dependencies can be defined either using `require` or the ES6 - // `import` syntax: + // `import` or `export` syntaxes: // var dep1 = require('dep1'); .replace(replacePatterns.REQUIRE_RE, (match, pre, quot, dep, post) => { deps.sync.push(dep); diff --git a/packager/react-packager/src/DependencyResolver/__tests__/HasteDependencyResolver-test.js b/packager/react-packager/src/DependencyResolver/__tests__/HasteDependencyResolver-test.js index bb04dd4385..74fdbe8d7e 100644 --- a/packager/react-packager/src/DependencyResolver/__tests__/HasteDependencyResolver-test.js +++ b/packager/react-packager/src/DependencyResolver/__tests__/HasteDependencyResolver-test.js @@ -407,6 +407,195 @@ describe('HasteDependencyResolver', function() { "import Default,\n { Foo as Bar,\n Baz as Qux,\n Norf as NoMore\n }\n from 'x';", "import Default,\n { Foo as Bar,\n Baz as Qux,\n Norf as NoMore,\n }\n from 'x';", "import Default\n , { } from 'x';", + // single line export + "export'x';", + "export 'x';", + "export 'x' ;", + "export Default from 'x';", + "export * as All from 'x';", + "export {} from 'x';", + "export { } from 'x';", + "export {Foo} from 'x';", + "export { Foo } from 'x';", + "export { Foo, } from 'x';", + "export {Foo as Bar} from 'x';", + "export { Foo as Bar } from 'x';", + "export { Foo as Bar, } from 'x';", + "export { Foo, Bar } from 'x';", + "export { Foo, Bar, } from 'x';", + "export { Foo as Bar, Baz } from 'x';", + "export { Foo as Bar, Baz, } from 'x';", + "export { Foo, Bar as Baz } from 'x';", + "export { Foo, Bar as Baz, } from 'x';", + "export { Foo as Bar, Baz as Qux } from 'x';", + "export { Foo as Bar, Baz as Qux, } from 'x';", + "export { Foo, Bar, Baz } from 'x';", + "export { Foo, Bar, Baz, } from 'x';", + "export { Foo as Bar, Baz, Qux } from 'x';", + "export { Foo as Bar, Baz, Qux, } from 'x';", + "export { Foo, Bar as Baz, Qux } from 'x';", + "export { Foo, Bar as Baz, Qux, } from 'x';", + "export { Foo, Bar, Baz as Qux } from 'x';", + "export { Foo, Bar, Baz as Qux, } from 'x';", + "export { Foo as Bar, Baz as Qux, Norf } from 'x';", + "export { Foo as Bar, Baz as Qux, Norf, } from 'x';", + "export { Foo as Bar, Baz, Qux as Norf } from 'x';", + "export { Foo as Bar, Baz, Qux as Norf, } from 'x';", + "export { Foo, Bar as Baz, Qux as Norf } from 'x';", + "export { Foo, Bar as Baz, Qux as Norf, } from 'x';", + "export { Foo as Bar, Baz as Qux, Norf as Enuf } from 'x';", + "export { Foo as Bar, Baz as Qux, Norf as Enuf, } from 'x';", + "export Default, * as All from 'x';", + "export Default, { } from 'x';", + "export Default, { Foo } from 'x';", + "export Default, { Foo, } from 'x';", + "export Default, { Foo as Bar } from 'x';", + "export Default, { Foo as Bar, } from 'x';", + "export Default, { Foo, Bar } from 'x';", + "export Default, { Foo, Bar, } from 'x';", + "export Default, { Foo as Bar, Baz } from 'x';", + "export Default, { Foo as Bar, Baz, } from 'x';", + "export Default, { Foo, Bar as Baz } from 'x';", + "export Default, { Foo, Bar as Baz, } from 'x';", + "export Default, { Foo as Bar, Baz as Qux } from 'x';", + "export Default, { Foo as Bar, Baz as Qux, } from 'x';", + "export Default, { Foo, Bar, Baz } from 'x';", + "export Default, { Foo, Bar, Baz, } from 'x';", + "export Default, { Foo as Bar, Baz, Qux } from 'x';", + "export Default, { Foo as Bar, Baz, Qux, } from 'x';", + "export Default, { Foo, Bar as Baz, Qux } from 'x';", + "export Default, { Foo, Bar as Baz, Qux, } from 'x';", + "export Default, { Foo, Bar, Baz as Qux } from 'x';", + "export Default, { Foo, Bar, Baz as Qux, } from 'x';", + "export Default, { Foo as Bar, Baz as Qux, Norf } from 'x';", + "export Default, { Foo as Bar, Baz as Qux, Norf, } from 'x';", + "export Default, { Foo as Bar, Baz, Qux as Norf } from 'x';", + "export Default, { Foo as Bar, Baz, Qux as Norf, } from 'x';", + "export Default, { Foo, Bar as Baz, Qux as Norf } from 'x';", + "export Default, { Foo, Bar as Baz, Qux as Norf, } from 'x';", + "export Default, { Foo as Bar, Baz as Qux, Norf as NoMore } from 'x';", + "export Default, { Foo as Bar, Baz as Qux, Norf as NoMore, } from 'x';", + "export Default , { } from 'x';", + 'export "x";', + 'export Default from "x";', + 'export * as All from "x";', + 'export { } from "x";', + 'export { Foo } from "x";', + 'export { Foo, } from "x";', + 'export { Foo as Bar } from "x";', + 'export { Foo as Bar, } from "x";', + 'export { Foo, Bar } from "x";', + 'export { Foo, Bar, } from "x";', + 'export { Foo as Bar, Baz } from "x";', + 'export { Foo as Bar, Baz, } from "x";', + 'export { Foo, Bar as Baz } from "x";', + 'export { Foo, Bar as Baz, } from "x";', + 'export { Foo as Bar, Baz as Qux } from "x";', + 'export { Foo as Bar, Baz as Qux, } from "x";', + 'export { Foo, Bar, Baz } from "x";', + 'export { Foo, Bar, Baz, } from "x";', + 'export { Foo as Bar, Baz, Qux } from "x";', + 'export { Foo as Bar, Baz, Qux, } from "x";', + 'export { Foo, Bar as Baz, Qux } from "x";', + 'export { Foo, Bar as Baz, Qux, } from "x";', + 'export { Foo, Bar, Baz as Qux } from "x";', + 'export { Foo, Bar, Baz as Qux, } from "x";', + 'export { Foo as Bar, Baz as Qux, Norf } from "x";', + 'export { Foo as Bar, Baz as Qux, Norf, } from "x";', + 'export { Foo as Bar, Baz, Qux as Norf } from "x";', + 'export { Foo as Bar, Baz, Qux as Norf, } from "x";', + 'export { Foo, Bar as Baz, Qux as Norf } from "x";', + 'export { Foo, Bar as Baz, Qux as Norf, } from "x";', + 'export { Foo as Bar, Baz as Qux, Norf as NoMore } from "x";', + 'export { Foo as Bar, Baz as Qux, Norf as NoMore, } from "x";', + 'export Default, * as All from "x";', + 'export Default, { } from "x";', + 'export Default, { Foo } from "x";', + 'export Default, { Foo, } from "x";', + 'export Default, { Foo as Bar } from "x";', + 'export Default, { Foo as Bar, } from "x";', + 'export Default, { Foo, Bar } from "x";', + 'export Default, { Foo, Bar, } from "x";', + 'export Default, { Foo as Bar, Baz } from "x";', + 'export Default, { Foo as Bar, Baz, } from "x";', + 'export Default, { Foo, Bar as Baz } from "x";', + 'export Default, { Foo, Bar as Baz, } from "x";', + 'export Default, { Foo as Bar, Baz as Qux } from "x";', + 'export Default, { Foo as Bar, Baz as Qux, } from "x";', + 'export Default, { Foo, Bar, Baz } from "x";', + 'export Default, { Foo, Bar, Baz, } from "x";', + 'export Default, { Foo as Bar, Baz, Qux } from "x";', + 'export Default, { Foo as Bar, Baz, Qux, } from "x";', + 'export Default, { Foo, Bar as Baz, Qux } from "x";', + 'export Default, { Foo, Bar as Baz, Qux, } from "x";', + 'export Default, { Foo, Bar, Baz as Qux } from "x";', + 'export Default, { Foo, Bar, Baz as Qux, } from "x";', + 'export Default, { Foo as Bar, Baz as Qux, Norf } from "x";', + 'export Default, { Foo as Bar, Baz as Qux, Norf, } from "x";', + 'export Default, { Foo as Bar, Baz, Qux as Norf } from "x";', + 'export Default, { Foo as Bar, Baz, Qux as Norf, } from "x";', + 'export Default, { Foo, Bar as Baz, Qux as Norf } from "x";', + 'export Default, { Foo, Bar as Baz, Qux as Norf, } from "x";', + 'export Default, { Foo as Bar, Baz as Qux, Norf as Enuf } from "x";', + 'export Default, { Foo as Bar, Baz as Qux, Norf as Enuf, } from "x";', + 'export Default from "y";', + 'export * as All from \'z\';', + // export with support for new lines + "export { Foo,\n Bar }\n from 'x';", + "export { \nFoo,\nBar,\n }\n from 'x';", + "export { Foo as Bar,\n Baz\n }\n from 'x';", + "export { \nFoo as Bar,\n Baz\n, }\n from 'x';", + "export { Foo,\n Bar as Baz\n }\n from 'x';", + "export { Foo,\n Bar as Baz,\n }\n from 'x';", + "export { Foo as Bar,\n Baz as Qux\n }\n from 'x';", + "export { Foo as Bar,\n Baz as Qux,\n }\n from 'x';", + "export { Foo,\n Bar,\n Baz }\n from 'x';", + "export { Foo,\n Bar,\n Baz,\n }\n from 'x';", + "export { Foo as Bar,\n Baz,\n Qux\n }\n from 'x';", + "export { Foo as Bar,\n Baz,\n Qux,\n }\n from 'x';", + "export { Foo,\n Bar as Baz,\n Qux\n }\n from 'x';", + "export { Foo,\n Bar as Baz,\n Qux,\n }\n from 'x';", + "export { Foo,\n Bar,\n Baz as Qux\n }\n from 'x';", + "export { Foo,\n Bar,\n Baz as Qux,\n }\n from 'x';", + "export { Foo as Bar,\n Baz as Qux,\n Norf\n }\n from 'x';", + "export { Foo as Bar,\n Baz as Qux,\n Norf,\n }\n from 'x';", + "export { Foo as Bar,\n Baz,\n Qux as Norf\n }\n from 'x';", + "export { Foo as Bar,\n Baz,\n Qux as Norf,\n }\n from 'x';", + "export { Foo,\n Bar as Baz,\n Qux as Norf\n }\n from 'x';", + "export { Foo,\n Bar as Baz,\n Qux as Norf,\n }\n from 'x';", + "export { Foo as Bar,\n Baz as Qux,\n Norf as Enuf\n }\n from 'x';", + "export { Foo as Bar,\n Baz as Qux,\n Norf as Enuf,\n }\n from 'x';", + "export Default,\n * as All from 'x';", + "export Default,\n { } from 'x';", + "export Default,\n { Foo\n }\n from 'x';", + "export Default,\n { Foo,\n }\n from 'x';", + "export Default,\n { Foo as Bar\n }\n from 'x';", + "export Default,\n { Foo as Bar,\n }\n from 'x';", + "export Default,\n { Foo,\n Bar\n } from\n 'x';", + "export Default,\n { Foo,\n Bar,\n } from\n 'x';", + "export Default,\n { Foo as Bar,\n Baz\n }\n from 'x';", + "export Default,\n { Foo as Bar,\n Baz,\n }\n from 'x';", + "export Default,\n { Foo,\n Bar as Baz\n }\n from 'x';", + "export Default,\n { Foo,\n Bar as Baz,\n }\n from 'x';", + "export Default,\n { Foo as Bar,\n Baz as Qux\n }\n from 'x';", + "export Default,\n { Foo as Bar,\n Baz as Qux,\n }\n from 'x';", + "export Default,\n { Foo,\n Bar,\n Baz\n }\n from 'x';", + "export Default,\n { Foo,\n Bar,\n Baz,\n }\n from 'x';", + "export Default,\n { Foo as Bar,\n Baz,\n Qux\n }\n from 'x';", + "export Default,\n { Foo as Bar,\n Baz,\n Qux,\n }\n from 'x';", + "export Default,\n { Foo,\n Bar as Baz,\n Qux\n }\n from 'x';", + "export Default,\n { Foo,\n Bar as Baz,\n Qux,\n }\n from 'x';", + "export Default,\n { Foo,\n Bar,\n Baz as Qux\n }\n from 'x';", + "export Default,\n { Foo,\n Bar,\n Baz as Qux,\n }\n from 'x';", + "export Default,\n { Foo as Bar,\n Baz as Qux,\n Norf\n }\n from 'x';", + "export Default,\n { Foo as Bar,\n Baz as Qux,\n Norf,\n }\n from 'x';", + "export Default,\n { Foo as Bar,\n Baz,\n Qux as Norf }\n from 'x';", + "export Default,\n { Foo as Bar,\n Baz,\n Qux as Norf, }\n from 'x';", + "export Default,\n { Foo, Bar as Baz,\n Qux as Norf }\n from 'x';", + "export Default,\n { Foo, Bar as Baz,\n Qux as Norf, }\n from 'x';", + "export Default,\n { Foo as Bar,\n Baz as Qux,\n Norf as NoMore\n }\n from 'x';", + "export Default,\n { Foo as Bar,\n Baz as Qux,\n Norf as NoMore,\n }\n from 'x';", + "export Default\n , { } from 'x';", // require 'require("x")', 'require("y")', @@ -628,6 +817,195 @@ describe('HasteDependencyResolver', function() { "import Default,\n { Foo as Bar,\n Baz as Qux,\n Norf as NoMore\n }\n from 'changed';", "import Default,\n { Foo as Bar,\n Baz as Qux,\n Norf as NoMore,\n }\n from 'changed';", "import Default\n , { } from 'changed';", + // single line export + "export'x';", + "export 'changed';", + "export 'changed' ;", + "export Default from 'changed';", + "export * as All from 'changed';", + "export {} from 'changed';", + "export { } from 'changed';", + "export {Foo} from 'changed';", + "export { Foo } from 'changed';", + "export { Foo, } from 'changed';", + "export {Foo as Bar} from 'changed';", + "export { Foo as Bar } from 'changed';", + "export { Foo as Bar, } from 'changed';", + "export { Foo, Bar } from 'changed';", + "export { Foo, Bar, } from 'changed';", + "export { Foo as Bar, Baz } from 'changed';", + "export { Foo as Bar, Baz, } from 'changed';", + "export { Foo, Bar as Baz } from 'changed';", + "export { Foo, Bar as Baz, } from 'changed';", + "export { Foo as Bar, Baz as Qux } from 'changed';", + "export { Foo as Bar, Baz as Qux, } from 'changed';", + "export { Foo, Bar, Baz } from 'changed';", + "export { Foo, Bar, Baz, } from 'changed';", + "export { Foo as Bar, Baz, Qux } from 'changed';", + "export { Foo as Bar, Baz, Qux, } from 'changed';", + "export { Foo, Bar as Baz, Qux } from 'changed';", + "export { Foo, Bar as Baz, Qux, } from 'changed';", + "export { Foo, Bar, Baz as Qux } from 'changed';", + "export { Foo, Bar, Baz as Qux, } from 'changed';", + "export { Foo as Bar, Baz as Qux, Norf } from 'changed';", + "export { Foo as Bar, Baz as Qux, Norf, } from 'changed';", + "export { Foo as Bar, Baz, Qux as Norf } from 'changed';", + "export { Foo as Bar, Baz, Qux as Norf, } from 'changed';", + "export { Foo, Bar as Baz, Qux as Norf } from 'changed';", + "export { Foo, Bar as Baz, Qux as Norf, } from 'changed';", + "export { Foo as Bar, Baz as Qux, Norf as Enuf } from 'changed';", + "export { Foo as Bar, Baz as Qux, Norf as Enuf, } from 'changed';", + "export Default, * as All from 'changed';", + "export Default, { } from 'changed';", + "export Default, { Foo } from 'changed';", + "export Default, { Foo, } from 'changed';", + "export Default, { Foo as Bar } from 'changed';", + "export Default, { Foo as Bar, } from 'changed';", + "export Default, { Foo, Bar } from 'changed';", + "export Default, { Foo, Bar, } from 'changed';", + "export Default, { Foo as Bar, Baz } from 'changed';", + "export Default, { Foo as Bar, Baz, } from 'changed';", + "export Default, { Foo, Bar as Baz } from 'changed';", + "export Default, { Foo, Bar as Baz, } from 'changed';", + "export Default, { Foo as Bar, Baz as Qux } from 'changed';", + "export Default, { Foo as Bar, Baz as Qux, } from 'changed';", + "export Default, { Foo, Bar, Baz } from 'changed';", + "export Default, { Foo, Bar, Baz, } from 'changed';", + "export Default, { Foo as Bar, Baz, Qux } from 'changed';", + "export Default, { Foo as Bar, Baz, Qux, } from 'changed';", + "export Default, { Foo, Bar as Baz, Qux } from 'changed';", + "export Default, { Foo, Bar as Baz, Qux, } from 'changed';", + "export Default, { Foo, Bar, Baz as Qux } from 'changed';", + "export Default, { Foo, Bar, Baz as Qux, } from 'changed';", + "export Default, { Foo as Bar, Baz as Qux, Norf } from 'changed';", + "export Default, { Foo as Bar, Baz as Qux, Norf, } from 'changed';", + "export Default, { Foo as Bar, Baz, Qux as Norf } from 'changed';", + "export Default, { Foo as Bar, Baz, Qux as Norf, } from 'changed';", + "export Default, { Foo, Bar as Baz, Qux as Norf } from 'changed';", + "export Default, { Foo, Bar as Baz, Qux as Norf, } from 'changed';", + "export Default, { Foo as Bar, Baz as Qux, Norf as NoMore } from 'changed';", + "export Default, { Foo as Bar, Baz as Qux, Norf as NoMore, } from 'changed';", + "export Default , { } from 'changed';", + 'export "changed";', + 'export Default from "changed";', + 'export * as All from "changed";', + 'export { } from "changed";', + 'export { Foo } from "changed";', + 'export { Foo, } from "changed";', + 'export { Foo as Bar } from "changed";', + 'export { Foo as Bar, } from "changed";', + 'export { Foo, Bar } from "changed";', + 'export { Foo, Bar, } from "changed";', + 'export { Foo as Bar, Baz } from "changed";', + 'export { Foo as Bar, Baz, } from "changed";', + 'export { Foo, Bar as Baz } from "changed";', + 'export { Foo, Bar as Baz, } from "changed";', + 'export { Foo as Bar, Baz as Qux } from "changed";', + 'export { Foo as Bar, Baz as Qux, } from "changed";', + 'export { Foo, Bar, Baz } from "changed";', + 'export { Foo, Bar, Baz, } from "changed";', + 'export { Foo as Bar, Baz, Qux } from "changed";', + 'export { Foo as Bar, Baz, Qux, } from "changed";', + 'export { Foo, Bar as Baz, Qux } from "changed";', + 'export { Foo, Bar as Baz, Qux, } from "changed";', + 'export { Foo, Bar, Baz as Qux } from "changed";', + 'export { Foo, Bar, Baz as Qux, } from "changed";', + 'export { Foo as Bar, Baz as Qux, Norf } from "changed";', + 'export { Foo as Bar, Baz as Qux, Norf, } from "changed";', + 'export { Foo as Bar, Baz, Qux as Norf } from "changed";', + 'export { Foo as Bar, Baz, Qux as Norf, } from "changed";', + 'export { Foo, Bar as Baz, Qux as Norf } from "changed";', + 'export { Foo, Bar as Baz, Qux as Norf, } from "changed";', + 'export { Foo as Bar, Baz as Qux, Norf as NoMore } from "changed";', + 'export { Foo as Bar, Baz as Qux, Norf as NoMore, } from "changed";', + 'export Default, * as All from "changed";', + 'export Default, { } from "changed";', + 'export Default, { Foo } from "changed";', + 'export Default, { Foo, } from "changed";', + 'export Default, { Foo as Bar } from "changed";', + 'export Default, { Foo as Bar, } from "changed";', + 'export Default, { Foo, Bar } from "changed";', + 'export Default, { Foo, Bar, } from "changed";', + 'export Default, { Foo as Bar, Baz } from "changed";', + 'export Default, { Foo as Bar, Baz, } from "changed";', + 'export Default, { Foo, Bar as Baz } from "changed";', + 'export Default, { Foo, Bar as Baz, } from "changed";', + 'export Default, { Foo as Bar, Baz as Qux } from "changed";', + 'export Default, { Foo as Bar, Baz as Qux, } from "changed";', + 'export Default, { Foo, Bar, Baz } from "changed";', + 'export Default, { Foo, Bar, Baz, } from "changed";', + 'export Default, { Foo as Bar, Baz, Qux } from "changed";', + 'export Default, { Foo as Bar, Baz, Qux, } from "changed";', + 'export Default, { Foo, Bar as Baz, Qux } from "changed";', + 'export Default, { Foo, Bar as Baz, Qux, } from "changed";', + 'export Default, { Foo, Bar, Baz as Qux } from "changed";', + 'export Default, { Foo, Bar, Baz as Qux, } from "changed";', + 'export Default, { Foo as Bar, Baz as Qux, Norf } from "changed";', + 'export Default, { Foo as Bar, Baz as Qux, Norf, } from "changed";', + 'export Default, { Foo as Bar, Baz, Qux as Norf } from "changed";', + 'export Default, { Foo as Bar, Baz, Qux as Norf, } from "changed";', + 'export Default, { Foo, Bar as Baz, Qux as Norf } from "changed";', + 'export Default, { Foo, Bar as Baz, Qux as Norf, } from "changed";', + 'export Default, { Foo as Bar, Baz as Qux, Norf as Enuf } from "changed";', + 'export Default, { Foo as Bar, Baz as Qux, Norf as Enuf, } from "changed";', + 'export Default from "Y";', + 'export * as All from \'z\';', + // export with support for new lines + "export { Foo,\n Bar }\n from 'changed';", + "export { \nFoo,\nBar,\n }\n from 'changed';", + "export { Foo as Bar,\n Baz\n }\n from 'changed';", + "export { \nFoo as Bar,\n Baz\n, }\n from 'changed';", + "export { Foo,\n Bar as Baz\n }\n from 'changed';", + "export { Foo,\n Bar as Baz,\n }\n from 'changed';", + "export { Foo as Bar,\n Baz as Qux\n }\n from 'changed';", + "export { Foo as Bar,\n Baz as Qux,\n }\n from 'changed';", + "export { Foo,\n Bar,\n Baz }\n from 'changed';", + "export { Foo,\n Bar,\n Baz,\n }\n from 'changed';", + "export { Foo as Bar,\n Baz,\n Qux\n }\n from 'changed';", + "export { Foo as Bar,\n Baz,\n Qux,\n }\n from 'changed';", + "export { Foo,\n Bar as Baz,\n Qux\n }\n from 'changed';", + "export { Foo,\n Bar as Baz,\n Qux,\n }\n from 'changed';", + "export { Foo,\n Bar,\n Baz as Qux\n }\n from 'changed';", + "export { Foo,\n Bar,\n Baz as Qux,\n }\n from 'changed';", + "export { Foo as Bar,\n Baz as Qux,\n Norf\n }\n from 'changed';", + "export { Foo as Bar,\n Baz as Qux,\n Norf,\n }\n from 'changed';", + "export { Foo as Bar,\n Baz,\n Qux as Norf\n }\n from 'changed';", + "export { Foo as Bar,\n Baz,\n Qux as Norf,\n }\n from 'changed';", + "export { Foo,\n Bar as Baz,\n Qux as Norf\n }\n from 'changed';", + "export { Foo,\n Bar as Baz,\n Qux as Norf,\n }\n from 'changed';", + "export { Foo as Bar,\n Baz as Qux,\n Norf as Enuf\n }\n from 'changed';", + "export { Foo as Bar,\n Baz as Qux,\n Norf as Enuf,\n }\n from 'changed';", + "export Default,\n * as All from 'changed';", + "export Default,\n { } from 'changed';", + "export Default,\n { Foo\n }\n from 'changed';", + "export Default,\n { Foo,\n }\n from 'changed';", + "export Default,\n { Foo as Bar\n }\n from 'changed';", + "export Default,\n { Foo as Bar,\n }\n from 'changed';", + "export Default,\n { Foo,\n Bar\n } from\n 'changed';", + "export Default,\n { Foo,\n Bar,\n } from\n 'changed';", + "export Default,\n { Foo as Bar,\n Baz\n }\n from 'changed';", + "export Default,\n { Foo as Bar,\n Baz,\n }\n from 'changed';", + "export Default,\n { Foo,\n Bar as Baz\n }\n from 'changed';", + "export Default,\n { Foo,\n Bar as Baz,\n }\n from 'changed';", + "export Default,\n { Foo as Bar,\n Baz as Qux\n }\n from 'changed';", + "export Default,\n { Foo as Bar,\n Baz as Qux,\n }\n from 'changed';", + "export Default,\n { Foo,\n Bar,\n Baz\n }\n from 'changed';", + "export Default,\n { Foo,\n Bar,\n Baz,\n }\n from 'changed';", + "export Default,\n { Foo as Bar,\n Baz,\n Qux\n }\n from 'changed';", + "export Default,\n { Foo as Bar,\n Baz,\n Qux,\n }\n from 'changed';", + "export Default,\n { Foo,\n Bar as Baz,\n Qux\n }\n from 'changed';", + "export Default,\n { Foo,\n Bar as Baz,\n Qux,\n }\n from 'changed';", + "export Default,\n { Foo,\n Bar,\n Baz as Qux\n }\n from 'changed';", + "export Default,\n { Foo,\n Bar,\n Baz as Qux,\n }\n from 'changed';", + "export Default,\n { Foo as Bar,\n Baz as Qux,\n Norf\n }\n from 'changed';", + "export Default,\n { Foo as Bar,\n Baz as Qux,\n Norf,\n }\n from 'changed';", + "export Default,\n { Foo as Bar,\n Baz,\n Qux as Norf }\n from 'changed';", + "export Default,\n { Foo as Bar,\n Baz,\n Qux as Norf, }\n from 'changed';", + "export Default,\n { Foo, Bar as Baz,\n Qux as Norf }\n from 'changed';", + "export Default,\n { Foo, Bar as Baz,\n Qux as Norf, }\n from 'changed';", + "export Default,\n { Foo as Bar,\n Baz as Qux,\n Norf as NoMore\n }\n from 'changed';", + "export Default,\n { Foo as Bar,\n Baz as Qux,\n Norf as NoMore,\n }\n from 'changed';", + "export Default\n , { } from 'changed';", // require 'require("changed")', 'require("Y")', diff --git a/packager/react-packager/src/DependencyResolver/index.js b/packager/react-packager/src/DependencyResolver/index.js index 8ff9d09edf..366455f056 100644 --- a/packager/react-packager/src/DependencyResolver/index.js +++ b/packager/react-packager/src/DependencyResolver/index.js @@ -149,6 +149,7 @@ HasteDependencyResolver.prototype.wrapModule = function(resolutionResponse, modu return module.getName().then( name => defineModuleCode({ code: code.replace(replacePatterns.IMPORT_RE, relativizeCode) + .replace(replacePatterns.EXPORT_RE, relativizeCode) .replace(replacePatterns.REQUIRE_RE, relativizeCode), moduleName: name, }) diff --git a/packager/react-packager/src/DependencyResolver/replacePatterns.js b/packager/react-packager/src/DependencyResolver/replacePatterns.js index ef5c42f2fc..a4e563d2c6 100644 --- a/packager/react-packager/src/DependencyResolver/replacePatterns.js +++ b/packager/react-packager/src/DependencyResolver/replacePatterns.js @@ -10,6 +10,6 @@ 'use strict'; exports.IMPORT_RE = /(\bimport\s+(?:[^'"]+\s+from\s+)??)(['"])([^'"]+)(\2)/g; +exports.EXPORT_RE = /(\bexport\s+(?:[^'"]+\s+from\s+)??)(['"])([^'"]+)(\2)/g; exports.REQUIRE_RE = /(\brequire\s*?\(\s*?)(['"])([^'"]+)(\2\s*?\))/g; exports.SYSTEM_IMPORT_RE = /(\bSystem\.import\s*?\(\s*?)(['"])([^'"]+)(\2\s*?\))/g; -