UNPKG

polyserve

Version:
92 lines (78 loc) 2.65 kB
<html> <head> <title>Polyserve</title> <link href="https://fonts.googleapis.com/css?family=Roboto|Roboto+Mono" rel="stylesheet"> <style> body { margin: 40px; font-family: 'Roboto', sans-serif; } ul { padding-top: 8px; padding-bottom: 20px; } li { padding-bottom: 8px; } a { font-family: 'Roboto Mono', monospace; } </style> </head> <body> <h1>Polyserve</h1> <div> Each variant represents a different configuration or set of dependencies that you can run your code under. They're served under different ports so that each is a standalone server, in isolation of the others. </div> <h2>Variants:</h2> <script> // This code is minimal and zero-dependency for the moment, just so that // installing polymer-cli doesn't take any longer than it already does. // Should revisit if it grows any more complicated. var xhr = new XMLHttpRequest(); xhr.addEventListener("load", function() { writeServers(JSON.parse(xhr.responseText)); }); xhr.open("GET", "/api/serverInfo"); xhr.send(); function writeServers(serverInfo) { var list = document.createElement('ul'); list.appendChild(formatServer( 'mainline', serverInfo.mainlineServer.port, serverInfo.packageName)); for (var i = 0; i < serverInfo.variants.length; i++) { var variant = serverInfo.variants[i]; list.appendChild( formatServer(variant.name, variant.port, serverInfo.packageName)); } document.body.appendChild(list); } function formatServer(name, port, packageName) { var li = document.createElement('li'); li.textContent = name; var urlsList = document.createElement('ul'); li.appendChild(urlsList); var applicationLi = document.createElement('li'); urlsList.appendChild(applicationLi); var applicationLink = document.createElement('a'); applicationLi.appendChild(applicationLink); applicationLink.href = window.location.href; applicationLink.port = port; applicationLink.pathname = '/'; applicationLink.textContent = applicationLink.href; var componentLi = document.createElement('li'); urlsList.appendChild(componentLi); var componentLink = document.createElement('a'); componentLi.appendChild(componentLink); componentLink.href = window.location.href; componentLink.port = port; componentLink.pathname = '/components/' + packageName; componentLink.textContent = componentLink.href; return li; } </script> </body> </html>