| const axios = require("axios"); |
| const VERSION_FEED_URL = "https://start.grails.org/grails-version-feed.json"; |
| const { startProxy, startVersionServer } = require("./commands"); |
| |
| /** |
| * Start a version server server and proxy servers for the current |
| * Micronaut Starter versions mirroring production launch site |
| * This will fetch the production feed, and create proxies for |
| * each of the remote sites at incrementing ports starting at 8080 |
| */ |
| async function serve() { |
| let port = 8080; |
| const { data } = await axios.get(VERSION_FEED_URL); |
| const versions = []; |
| data.versions.forEach((version) => { |
| const localhost = startProxy(version.baseUrl, port++); |
| versions.push({ |
| ...version, |
| baseUrl: localhost, |
| __original: version.baseUrl, |
| }); |
| }); |
| |
| startVersionServer({ |
| ...data, |
| versions, |
| }); |
| } |
| |
| serve(); |