code: function createNodeServer(http, nodePort, webSocketPort, watchFiles, tsWarning, tsError, target) {
      return http.createServer(async (req, res) => {
          try {
              const fileExtension = req.url.slice(req.url.lastIndexOf('.') + 1);
              switch (fileExtension) {
                  case '/': {
                      const indexFileContents = (await fs.readFile(`./index.html`)).toString();
                      const modifiedIndexFileContents = modifyHTML(indexFileContents, 'index.html', watchFiles, webSocketPort);
                      watchFile(`./index.html`, watchFiles);
                      res.end(modifiedIndexFileContents);
                      return;
                  }
                  case 'js': {
                      await handleScriptExtension(req, res, fileExtension);
                      return;
                  }
                  case 'mjs': {
                      await handleScriptExtension(req, res, fileExtension);
                      return;
                  }
                  case 'ts': {
                      await handleScriptExtension(req, res, fileExtension);
                      return;
                  }
                  case 'tsx': {
                      await handleScriptExtension(req, res, fileExtension);
                      return;
                  }
                  case 'jsx': {
                      await handleScriptExtension(req, res, fileExtension);
                      return;
                  }
                  case 'wast': {
                      await handleWASTExtension(req, res, fileExtension);
                      return;
                  }
                  case 'wasm': {
                      await handleWASMExtension(req, res, fileExtension);
                      return;
                  }
                  default: {
                      await handleGenericFile(req, res, fileExtension);
                      return;
                  }
              }
          }
          catch(error) {
              console.log(error);
          }
      });
  }
docs: end side-effects