From 6d7399d21fdcbdf648e918bfbdd61b81c48251b2 Mon Sep 17 00:00:00 2001 From: Eric Clemmons Date: Fri, 11 Jan 2019 21:41:06 -0800 Subject: [PATCH 1/2] When launcher receives path to package.json, it runs "yarn dev|start" --- packages/polydev/src/middleware/router/launcher.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/polydev/src/middleware/router/launcher.js b/packages/polydev/src/middleware/router/launcher.js index 74aec34..ad386c9 100644 --- a/packages/polydev/src/middleware/router/launcher.js +++ b/packages/polydev/src/middleware/router/launcher.js @@ -9,7 +9,9 @@ require("hot-module-replacement")({ ignore: /node_modules/ // regexp to decide if module should be ignored; also can be a function accepting string and returning true/false }) +const { spawn } = require("child_process") const express = require("express") +const path = require("path") const bridge = require("./bridge") @@ -79,12 +81,21 @@ async function startHandler() { app.listen(PORT, async () => { console.log(`↩︎ ${handlerPath.replace(process.cwd(), ".")} from ${url}`) }) + } else if (typeof handler === "string") { + // Expected to have path to `package.json` + const pkg = require(handler) + const cwd = path.dirname(handler) + + spawn("yarn", [pkg.scripts.dev ? "dev" : "start"], { + cwd, + stdio: "inherit" + }) } else { console.warn( `${handlerPath.replace( process.cwd(), "." - )} does not return a Function, Server, or path to package.json` + )} does not return a Function, Server, or path to a package.json` ) // In development, at least listen on PORT so that we can 404 express().listen(PORT) From aebe985a97bc76b6dbe86eabd26909e1e93a7fc4 Mon Sep 17 00:00:00 2001 From: Eric Clemmons Date: Mon, 11 Feb 2019 20:36:14 -0800 Subject: [PATCH 2/2] Fix /index.*.js --- .../polydev/src/middleware/router/createRouterFromFiles.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/polydev/src/middleware/router/createRouterFromFiles.js b/packages/polydev/src/middleware/router/createRouterFromFiles.js index 887c799..f7ae2bd 100644 --- a/packages/polydev/src/middleware/router/createRouterFromFiles.js +++ b/packages/polydev/src/middleware/router/createRouterFromFiles.js @@ -42,9 +42,9 @@ module.exports = function createRouterFromFiles(routesPath, files) { case "*": handle(router, file, [ ["GET", route], - ["GET", `${route}/*`], + ["GET", path.join(route, "*")], ["POST", route], - ["POST", `${route}/*`] + ["POST", path.join(route, "*")] ]) break