diff --git a/packager/react-packager/src/Packager/Package.js b/packager/react-packager/src/Packager/Package.js index eca709d50..70f57c4ab 100644 --- a/packager/react-packager/src/Packager/Package.js +++ b/packager/react-packager/src/Packager/Package.js @@ -249,6 +249,15 @@ Package.prototype._getMappings = function() { return mappings; }; +Package.prototype.getJSModulePaths = function() { + return this._modules.filter(function(module) { + // Filter out non-js files. Like images etc. + return !module.virtual; + }).map(function(module) { + return module.sourcePath; + }); +}; + Package.prototype.getDebugInfo = function() { return [ '

Main Module:

' + this._mainModuleId + '
', diff --git a/packager/react-packager/src/Packager/__tests__/Package-test.js b/packager/react-packager/src/Packager/__tests__/Package-test.js index 0aaa3971c..1d8c3dd12 100644 --- a/packager/react-packager/src/Packager/__tests__/Package-test.js +++ b/packager/react-packager/src/Packager/__tests__/Package-test.js @@ -204,8 +204,28 @@ describe('Package', function() { expect(p.getAssets()).toEqual([asset1, asset2]); }); }); + + describe('getJSModulePaths()', function() { + it('should return module paths', function() { + var p = new Package('test_url'); + p.addModule(new ModuleTransport({ + code: 'transformed foo;\n', + sourceCode: 'source foo', + sourcePath: 'foo path' + })); + p.addModule(new ModuleTransport({ + code: 'image module;\nimage module;', + virtual: true, + sourceCode: 'image module;\nimage module;', + sourcePath: 'image.png', + })); + + expect(p.getJSModulePaths()).toEqual(['foo path']); + }); + }); }); + function genSourceMap(modules) { var sourceMapGen = new SourceMapGenerator({file: 'bundle.js', version: 3}); var packageLineNo = 0;