[JSDOC2TS]: Migrate startup

Bug: chromium:1158760
Change-Id: Icb3f6f86dbd2d5c532c3fe68d5005de93fba9cd2
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2789350
Commit-Queue: Jan Scheffler <janscheffler@chromium.org>
Reviewed-by: Tim van der Lippe <tvanderlippe@chromium.org>
diff --git a/front_end/startup/BUILD.gn b/front_end/startup/BUILD.gn
index 49028c3..9cf2c73 100644
--- a/front_end/startup/BUILD.gn
+++ b/front_end/startup/BUILD.gn
@@ -6,13 +6,13 @@
 import("../../scripts/build/ninja/devtools_module.gni")
 
 devtools_module("startup") {
-  sources = [ "RuntimeInstantiator.js" ]
+  sources = [ "RuntimeInstantiator.ts" ]
 
   deps = [ "../core/root:bundle" ]
 }
 
 devtools_entrypoint("bundle") {
-  entrypoint = "startup.js"
+  entrypoint = "startup.ts"
 
   deps = [
     ":startup",
diff --git a/front_end/startup/RuntimeInstantiator.js b/front_end/startup/RuntimeInstantiator.ts
similarity index 84%
rename from front_end/startup/RuntimeInstantiator.js
rename to front_end/startup/RuntimeInstantiator.ts
index 710ba62..50b528b 100644
--- a/front_end/startup/RuntimeInstantiator.js
+++ b/front_end/startup/RuntimeInstantiator.ts
@@ -28,6 +28,8 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+/* eslint-disable rulesdir/no_underscored_properties */
+
 import * as RootModule from '../core/root/root.js';
 
 // Legacy runtime namespace definitions
@@ -41,20 +43,23 @@
 // @ts-ignore
 Root.applicationDescriptor = Root.applicationDescriptor || undefined;
 
-/**
- * @param {string} appName
- * @return {!Promise.<void>}
- */
-export async function startApplication(appName) {
+export async function startApplication(_appName: string): Promise<void> {
   console.timeStamp('Root.Runtime.startApplication');
 
-  /** @type {!Object<string, RootModule.Runtime.ModuleDescriptor>} */
-  const allDescriptorsByName = {};
+  const allDescriptorsByName: {
+    [x: string]: RootModule.Runtime.ModuleDescriptor,
+  } = {};
+  // TODO(crbug.com/1172300) Ignored during the jsdoc to ts migration
+  // @ts-ignore
   for (let i = 0; i < Root.allDescriptors.length; ++i) {
+    // TODO(crbug.com/1172300) Ignored during the jsdoc to ts migration
+    // @ts-ignore
     const d = Root.allDescriptors[i];
     allDescriptorsByName[d['name']] = d;
   }
 
+  // TODO(crbug.com/1172300) Ignored during the jsdoc to ts migration
+  // @ts-ignore
   const configuration = Root.applicationDescriptor.modules;
   const moduleDescriptors = [];
   const coreModuleNames = [];
@@ -80,14 +85,10 @@
   RootModule.Runtime.appStartedPromiseCallback();
 }
 
-/**
- * @param {string} appName
- * @return {!Promise.<void>}
- */
-export async function startWorker(appName) {
+export async function startWorker(appName: string): Promise<void> {
   return startApplication(appName).then(sendWorkerReady);
 
-  function sendWorkerReady() {
+  function sendWorkerReady(): void {
     // @ts-ignore
     self.postMessage('workerReady');
   }
diff --git a/front_end/startup/startup.js b/front_end/startup/startup.ts
similarity index 100%
rename from front_end/startup/startup.js
rename to front_end/startup/startup.ts