Change JavaScriptMetadata to contain list of receivers

Bug: 1255619, 1327573
Change-Id: I8fbe5a041b1ef5aef519d1b0b76f1bded237bd6f
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3580497
Reviewed-by: Simon Zünd <szuend@chromium.org>
Commit-Queue: Johan Bay <jobay@chromium.org>
diff --git a/scripts/javascript_natives/index.js b/scripts/javascript_natives/index.js
index bc75452..f1f4895 100644
--- a/scripts/javascript_natives/index.js
+++ b/scripts/javascript_natives/index.js
@@ -14,9 +14,11 @@
 }
 
 const chromiumSource = process.argv[2];
-const typescriptSource = process.argv[3] + 'node_modules/typescript/lib/lib.esnext.d.ts';
+const REL_TS_LIB_PATH = '/node_modules/typescript/lib/';
+const typescriptSources =
+    fs.readdirSync(process.argv[3] + REL_TS_LIB_PATH).map(name => process.argv[3] + REL_TS_LIB_PATH + name);
 
-const program = ts.createProgram([typescriptSource], {noLib: false, types: []});
+const program = ts.createProgram({rootNames: typescriptSources, options: {noResolve: true, types: []}});
 
 for (const file of program.getSourceFiles()) {
   ts.forEachChild(file, node => {