From 5c57e869be8d804d3bb09448cfa7fca0f39145c3 Mon Sep 17 00:00:00 2001 From: Jonas Auer Date: Thu, 20 Jan 2022 10:50:33 +0100 Subject: [PATCH] fix: express peerDependency in templates @remix-run/dev has an optional peer dependency on express that is required for using the `remix dev` command. This commit adds a devDependency on express to every template using `remix dev` in its package.json. --- packages/create-remix/templates/fly/package.json | 3 +++ packages/create-remix/templates/remix/package.json | 3 +++ packages/create-remix/templates/vercel/package.json | 3 ++- packages/remix-dev/cli/commands.ts | 10 ++++++++-- 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/packages/create-remix/templates/fly/package.json b/packages/create-remix/templates/fly/package.json index f54291bf329..c19c4af4690 100644 --- a/packages/create-remix/templates/fly/package.json +++ b/packages/create-remix/templates/fly/package.json @@ -9,5 +9,8 @@ "dependencies": { "@remix-run/serve": "*", "cross-env": "^7.0.3" + }, + "devDependencies": { + "express": "^4.17.1" } } diff --git a/packages/create-remix/templates/remix/package.json b/packages/create-remix/templates/remix/package.json index df0255373aa..f36c235b5c7 100644 --- a/packages/create-remix/templates/remix/package.json +++ b/packages/create-remix/templates/remix/package.json @@ -8,5 +8,8 @@ "dependencies": { "@remix-run/serve": "*", "cross-env": "^7.0.3" + }, + "devDependencies": { + "express": "^4.17.1" } } diff --git a/packages/create-remix/templates/vercel/package.json b/packages/create-remix/templates/vercel/package.json index 515c8d4fb12..8ef36ec08ea 100644 --- a/packages/create-remix/templates/vercel/package.json +++ b/packages/create-remix/templates/vercel/package.json @@ -9,6 +9,7 @@ }, "devDependencies": { "@remix-run/serve": "*", - "cross-env": "^7.0.3" + "cross-env": "^7.0.3", + "express": "^4.17.1" } } diff --git a/packages/remix-dev/cli/commands.ts b/packages/remix-dev/cli/commands.ts index 37e03e031fb..daee037ad37 100644 --- a/packages/remix-dev/cli/commands.ts +++ b/packages/remix-dev/cli/commands.ts @@ -145,16 +145,22 @@ export async function watch( export async function dev(remixRoot: string, modeArg?: string) { // TODO: Warn about the need to install @remix-run/serve if it isn't there? let createApp: typeof createAppType; - let express: typeof Express; try { let serve = require("@remix-run/serve"); createApp = serve.createApp; - express = require("express"); } catch (err) { throw new Error( "Could not locate @remix-run/serve. Please verify you have it installed to use the dev command." ); } + let express: typeof Express; + try { + express = require("express"); + } catch (err) { + throw new Error( + "Could not locate express. Please verify you have it installed to use the dev command." + ); + } let config = await readConfig(remixRoot); let mode = isBuildMode(modeArg) ? modeArg : BuildMode.Development;