History

Allow non-required dev ports to exceed max in offset search

- Stop `findFirstAvailableOffset` only when a required port exceeds `MAX_PORT` - Add test covering offsets where only non-required ports are out of range

Julius Marminge committed 8 months ago

Commit 9f068351 parent f239c902 files · +18 −1Browse files

Unified · Split

2 files
  1. scripts/dev-runner.mjs +7 −1
  2. scripts/dev-runner.test.ts +11 −0
scripts/dev-runner.mjs+7−1
@@ -260,7 +260,13 @@ export async function findFirstAvailableOffset({ · 259 unmodified lines
260260 }) {
261261 for (let candidate = startOffset; ; candidate += 1) {
262262 const { serverPort, webPort } = portPairForOffset(candidate);
263− if (serverPort > MAX_PORT || webPort > MAX_PORT) {
263+ const serverPortOutOfRange = serverPort > MAX_PORT;
264+ const webPortOutOfRange = webPort > MAX_PORT;
265+ if (
266+ (requireServerPort && serverPortOutOfRange) ||
267+ (requireWebPort && webPortOutOfRange) ||
268+ (!requireServerPort && !requireWebPort && (serverPortOutOfRange || webPortOutOfRange))
269+ ) {
264270 break;
265271 }
266272
scripts/dev-runner.test.ts+11−0
@@ -149,6 +149,17 @@ describe("findFirstAvailableOffset", () => { · 148 unmodified lines
149149
150150 expect(offset).toBe(2);
151151 });
152+
153+ it("allows offsets where only non-required ports exceed max", async () => {
154+ const offset = await findFirstAvailableOffset({
155+ startOffset: 59_803,
156+ requireServerPort: true,
157+ requireWebPort: false,
158+ checkPortAvailability: async () => true,
159+ });
160+
161+ expect(offset).toBe(59_803);
162+ });
152163 });
153164
154165 describe("resolveModePortOffsets", () => {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t