Skip to content

Commit d8c437b

Browse files
committed
refactor(dev): rename scheme, host, port options
`httpScheme`/`--http-scheme` -> `scheme`/`--scheme` `httpHost`/`--http-host` -> `host`/`--host` `httpPort`/`--http-port` -> `port`/`--port`
1 parent 8ce187c commit d8c437b

File tree

7 files changed

+69
-93
lines changed

7 files changed

+69
-93
lines changed

integration/hmr-log-test.ts

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@ import { createFixtureProject, css, js, json } from "./helpers/create-fixture";
99

1010
test.setTimeout(120_000);
1111

12-
let fixture = (options: { appServerPort: number; httpPort: number }) => ({
12+
let fixture = (options: { appPort: number; devPort: number }) => ({
1313
files: {
1414
"remix.config.js": js`
1515
module.exports = {
1616
serverModuleFormat: "cjs",
1717
tailwind: true,
1818
future: {
1919
unstable_dev: {
20-
httpPort: ${options.httpPort},
20+
port: ${options.devPort},
2121
},
2222
v2_routeConvention: true,
2323
v2_errorBoundary: true,
@@ -75,7 +75,7 @@ let fixture = (options: { appServerPort: number; httpPort: number }) => ({
7575
})
7676
);
7777
78-
let port = ${options.appServerPort};
78+
let port = ${options.appPort};
7979
app.listen(port, () => {
8080
let build = require(BUILD_DIR);
8181
console.log('✅ app ready: http://localhost:' + port);
@@ -245,11 +245,9 @@ test("HMR", async ({ page }) => {
245245
});
246246

247247
let portRange = makeRange(4080, 4099);
248-
let appServerPort = await getPort({ port: portRange });
249-
let httpPort = await getPort({ port: portRange });
250-
let projectDir = await createFixtureProject(
251-
fixture({ appServerPort, httpPort })
252-
);
248+
let appPort = await getPort({ port: portRange });
249+
let devPort = await getPort({ port: portRange });
250+
let projectDir = await createFixtureProject(fixture({ appPort, devPort }));
253251

254252
// spin up dev server
255253
let dev = execa("npm", ["run", "dev"], { cwd: projectDir });
@@ -264,7 +262,7 @@ test("HMR", async ({ page }) => {
264262
{ timeoutMs: 10_000 }
265263
);
266264

267-
await page.goto(`http://localhost:${appServerPort}`, {
265+
await page.goto(`http://localhost:${appPort}`, {
268266
waitUntil: "networkidle",
269267
});
270268

integration/hmr-test.ts

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@ import { createFixtureProject, css, js, json } from "./helpers/create-fixture";
99

1010
test.setTimeout(120_000);
1111

12-
let fixture = (options: { appServerPort: number; httpPort: number }) => ({
12+
let fixture = (options: { appPort: number; devPort: number }) => ({
1313
files: {
1414
"remix.config.js": js`
1515
module.exports = {
1616
serverModuleFormat: "cjs",
1717
tailwind: true,
1818
future: {
1919
unstable_dev: {
20-
httpPort: ${options.httpPort},
20+
port: ${options.devPort},
2121
},
2222
v2_routeConvention: true,
2323
v2_errorBoundary: true,
@@ -74,7 +74,7 @@ let fixture = (options: { appServerPort: number; httpPort: number }) => ({
7474
})
7575
);
7676
77-
let port = ${options.appServerPort};
77+
let port = ${options.appPort};
7878
app.listen(port, () => {
7979
let build = require(BUILD_DIR);
8080
console.log('✅ app ready: http://localhost:' + port);
@@ -243,11 +243,9 @@ test("HMR", async ({ page }) => {
243243
});
244244

245245
let portRange = makeRange(3080, 3099);
246-
let appServerPort = await getPort({ port: portRange });
247-
let httpPort = await getPort({ port: portRange });
248-
let projectDir = await createFixtureProject(
249-
fixture({ appServerPort, httpPort })
250-
);
246+
let appPort = await getPort({ port: portRange });
247+
let devPort = await getPort({ port: portRange });
248+
let projectDir = await createFixtureProject(fixture({ appPort, devPort }));
251249

252250
// spin up dev server
253251
let dev = execa("npm", ["run", "dev"], { cwd: projectDir });
@@ -262,7 +260,7 @@ test("HMR", async ({ page }) => {
262260
{ timeoutMs: 10_000 }
263261
);
264262

265-
await page.goto(`http://localhost:${appServerPort}`, {
263+
await page.goto(`http://localhost:${appPort}`, {
266264
waitUntil: "networkidle",
267265
});
268266

packages/remix-dev/__tests__/cli-test.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,9 @@ describe("remix CLI", () => {
118118
119119
[unstable_dev]
120120
--command, -c Command used to run your app server
121-
--http-scheme HTTP(S) scheme for the dev server. Default: http
122-
--http-host HTTP(S) host for the dev server. Default: localhost
123-
--http-port HTTP(S) port for the dev server. Default: any open port
121+
--scheme Scheme for the dev server. Default: http
122+
--host Host for the dev server. Default: localhost
123+
--port Port for the dev server. Default: any open port
124124
--no-restart Do not restart the app server when rebuilds occur.
125125
\`init\` Options:
126126
--no-delete Skip deleting the \`remix.init\` script

packages/remix-dev/cli/commands.ts

Lines changed: 28 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -177,13 +177,9 @@ export async function build(
177177
onWarning: warnOnce,
178178
};
179179
if (mode === "development" && config.future.unstable_dev) {
180-
let dev = await resolveDevBuild(config);
181-
options.devHttpOrigin = {
182-
scheme: dev.httpScheme,
183-
host: dev.httpHost,
184-
port: dev.httpPort,
185-
};
186-
options.devWebSocketPort = dev.httpPort;
180+
let origin = await resolveDevOrigin(config);
181+
options.devHttpOrigin = origin;
182+
options.devWebSocketPort = origin.port; // TODO: ?
187183
}
188184

189185
fse.emptyDirSync(config.assetsBuildDirectory);
@@ -216,13 +212,12 @@ export async function dev(
216212
remixRoot: string,
217213
flags: {
218214
debug?: boolean;
219-
port?: number; // TODO: remove for v2
220215

221216
// unstable_dev
222217
command?: string;
223-
httpScheme?: string;
224-
httpHost?: string;
225-
httpPort?: number;
218+
scheme?: string;
219+
host?: string;
220+
port?: number;
226221
restart?: boolean;
227222
} = {}
228223
) {
@@ -472,42 +467,42 @@ let parseMode = (
472467

473468
let findPort = async () => getPort({ port: makeRange(3001, 3100) });
474469

475-
type DevBuildFlags = {
476-
httpScheme: string;
477-
httpHost: string;
478-
httpPort: number;
470+
type DevOrigin = {
471+
scheme: string;
472+
host: string;
473+
port: number;
479474
};
480-
let resolveDevBuild = async (
475+
let resolveDevOrigin = async (
481476
config: RemixConfig,
482-
flags: Partial<DevBuildFlags> = {}
483-
): Promise<DevBuildFlags> => {
477+
flags: Partial<DevOrigin> = {}
478+
): Promise<DevOrigin> => {
484479
let dev = config.future.unstable_dev;
485480
if (dev === false) throw Error("This should never happen");
486481

487482
// prettier-ignore
488-
let httpScheme =
489-
flags.httpScheme ??
490-
(dev === true ? undefined : dev.httpScheme) ??
483+
let scheme =
484+
flags.scheme ??
485+
(dev === true ? undefined : dev.scheme) ??
491486
"http";
492487
// prettier-ignore
493-
let httpHost =
494-
flags.httpHost ??
495-
(dev === true ? undefined : dev.httpHost) ??
488+
let host =
489+
flags.host ??
490+
(dev === true ? undefined : dev.host) ??
496491
"localhost";
497492
// prettier-ignore
498-
let httpPort =
499-
flags.httpPort ??
500-
(dev === true ? undefined : dev.httpPort) ??
493+
let port =
494+
flags.port ??
495+
(dev === true ? undefined : dev.port) ??
501496
(await findPort());
502497

503498
return {
504-
httpScheme,
505-
httpHost,
506-
httpPort,
499+
scheme,
500+
host,
501+
port,
507502
};
508503
};
509504

510-
type DevServeFlags = DevBuildFlags & {
505+
type DevServeFlags = DevOrigin & {
511506
command: string;
512507
restart: boolean;
513508
};
@@ -518,7 +513,7 @@ let resolveDevServe = async (
518513
let dev = config.future.unstable_dev;
519514
if (dev === false) throw Error("Cannot resolve dev options");
520515

521-
let { httpScheme, httpHost, httpPort } = await resolveDevBuild(config, flags);
516+
let origin = await resolveDevOrigin(config, flags);
522517

523518
// prettier-ignore
524519
let command =
@@ -549,9 +544,7 @@ let resolveDevServe = async (
549544

550545
return {
551546
command,
552-
httpScheme,
553-
httpHost,
554-
httpPort,
547+
...origin,
555548
restart,
556549
};
557550
};

packages/remix-dev/cli/run.ts

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ ${colors.logoBlue("R")} ${colors.logoGreen("E")} ${colors.logoYellow(
4444
4545
[unstable_dev]
4646
--command, -c Command used to run your app server
47-
--http-scheme HTTP(S) scheme for the dev server. Default: http
48-
--http-host HTTP(S) host for the dev server. Default: localhost
49-
--http-port HTTP(S) port for the dev server. Default: any open port
47+
--scheme Scheme for the dev server. Default: http
48+
--host Host for the dev server. Default: localhost
49+
--port Port for the dev server. Default: any open port
5050
--no-restart Do not restart the app server when rebuilds occur.
5151
\`init\` Options:
5252
--no-delete Skip deleting the \`remix.init\` script
@@ -169,8 +169,6 @@ export async function run(argv: string[] = process.argv.slice(2)) {
169169
"--interactive": Boolean,
170170
"--no-interactive": Boolean,
171171
"--json": Boolean,
172-
"--port": Number,
173-
"-p": "--port",
174172
"--remix-version": String,
175173
"--sourcemap": Boolean,
176174
"--template": String,
@@ -183,9 +181,10 @@ export async function run(argv: string[] = process.argv.slice(2)) {
183181
// dev server
184182
"--command": String,
185183
"-c": "--command",
186-
"--http-scheme": String,
187-
"--http-host": String,
188-
"--http-port": Number,
184+
"--scheme": String,
185+
"--host": String,
186+
"--port": Number,
187+
"-p": "--port",
189188
"--no-restart": Boolean,
190189
},
191190
{
@@ -211,19 +210,6 @@ export async function run(argv: string[] = process.argv.slice(2)) {
211210
return;
212211
}
213212

214-
if (flags["http-scheme"]) {
215-
flags.httpScheme = flags["http-scheme"];
216-
delete flags["http-scheme"];
217-
}
218-
if (flags["http-host"]) {
219-
flags.httpHost = flags["http-host"];
220-
delete flags["http-host"];
221-
}
222-
if (flags["http-port"]) {
223-
flags.httpPort = flags["http-port"];
224-
delete flags["http-port"];
225-
}
226-
227213
if (args["--no-delete"]) {
228214
flags.delete = false;
229215
}

packages/remix-dev/config.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,10 @@ export type ServerModuleFormat = "esm" | "cjs";
3737
export type ServerPlatform = "node" | "neutral";
3838

3939
type Dev = {
40-
port?: number; // TODO: remove in v2
41-
4240
command?: string;
43-
httpScheme?: string;
44-
httpHost?: string;
45-
httpPort?: number;
41+
scheme?: string;
42+
host?: string;
43+
port?: number;
4644
restart?: boolean;
4745
};
4846

packages/remix-dev/devServer_unstable/index.ts

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@ export let serve = async (
4242
initialConfig: RemixConfig,
4343
options: {
4444
command: string;
45-
httpScheme: string;
46-
httpHost: string;
47-
httpPort: number;
45+
scheme: string;
46+
host: string;
47+
port: number;
4848
restart: boolean;
4949
}
5050
) => {
@@ -76,10 +76,13 @@ export let serve = async (
7676
let server = http.createServer(app);
7777
let websocket = Socket.serve(server);
7878

79-
let httpOrigin: Origin = {
80-
scheme: options.httpScheme,
81-
host: options.httpHost,
82-
port: options.httpPort,
79+
// TODO: would like to replace origin with port, but what about remix-serve? built-in calls to devReady?
80+
// scheme could be replaced with cert stuff? yes!
81+
// specify host and port if needed
82+
let origin: Origin = {
83+
scheme: options.scheme,
84+
host: options.host,
85+
port: options.port,
8386
};
8487

8588
let bin = await detectBin();
@@ -91,7 +94,7 @@ export let serve = async (
9194
NODE_ENV: "development",
9295
PATH:
9396
bin + (process.platform === "win32" ? ";" : ":") + process.env.PATH,
94-
REMIX_DEV_HTTP_ORIGIN: stringifyOrigin(httpOrigin),
97+
REMIX_DEV_HTTP_ORIGIN: stringifyOrigin(origin),
9598
},
9699
// https://github.com/sindresorhus/execa/issues/433
97100
windowsHide: false,
@@ -135,8 +138,8 @@ export let serve = async (
135138
mode: "development",
136139
sourcemap: true,
137140
onWarning: warnOnce,
138-
devHttpOrigin: httpOrigin,
139-
devWebSocketPort: options.httpPort,
141+
devHttpOrigin: origin,
142+
devWebSocketPort: origin.port,
140143
},
141144
},
142145
{
@@ -215,7 +218,7 @@ export let serve = async (
215218
}
216219
);
217220

218-
server.listen(httpOrigin.port, () => {
221+
server.listen(origin.port, () => {
219222
console.log("Remix dev server ready");
220223
});
221224

0 commit comments

Comments
 (0)