pw_web_ui: Write WebSerialTransport, which talks to the device.

WebSerialTransport connects to devices over WebSerial and implements the
DeviceTransport interface. DeviceTransport defines how raw bytes are
sent to and from connected devices.

Change-Id: Ic6c402036f9d2aaea61e05b1f4c42ccc58349b3d
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/11725
Commit-Queue: Matthew Soulanille <msoulanille@google.com>
Reviewed-by: Max Koopman <koopman@google.com>
Reviewed-by: Alexei Frolov <frolv@google.com>
diff --git a/tsconfig.json b/tsconfig.json
index 89fde41..0b06445 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -21,6 +21,7 @@
       "dom.iterable",
       "esnext"
     ],
+    "allowJs": true,
     "esModuleInterop": true,
     "allowSyntheticDefaultImports": true,
     "strict": true,
@@ -29,5 +30,13 @@
     "moduleResolution": "node",
     "jsx": "react",
     "sourceMap": true,
+    "plugins": [
+      {
+        "name": "@bazel/tsetse",
+        "disabledRules": [
+          "must-use-promises"
+        ]
+      }
+    ]
   },
 }