diff --git a/react-packager/src/Packager/Package.js b/react-packager/src/Packager/Package.js
index eca709d5..70f57c4a 100644
--- a/react-packager/src/Packager/Package.js
+++ b/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/react-packager/src/Packager/__tests__/Package-test.js b/react-packager/src/Packager/__tests__/Package-test.js
index 0aaa3971..1d8c3dd1 100644
--- a/react-packager/src/Packager/__tests__/Package-test.js
+++ b/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;