Repository navigation
Conversation
|
@DBAAZzz is attempting to deploy a commit to the NuxtLabs Team on Vercel. A member of the Team first needs to authorize it. |
|
👁️🗨️ Review this pull request with grouped, summarized diffs at: raw result💭 analyzed by {
"headSha": "ed514166f3a54cb8da1a8d564038631105bb558e",
"result": {
"overallSummary": "Fixes #460 where devframe could bind a port already held on another loopback address, by patching the bundled get-port-please to check all loopback/wildcard addresses before considering a port free, plus a regression test and the resulting lockfile change.",
"groups": [
{
"key": "port-patch",
"label": "get-port-please loopback patch",
"summary": "Patches the bundled get-port-please dependency so that for a loopback or wildcard host, getPort also probes 127.0.0.1, ::1, 0.0.0.0 and :: before declaring a port free, avoiding devframe binding a port already held by another process on a different loopback address. Wires the patch into pnpm via patchedDependencies.",
"category": "core",
"filePaths": [
"patches/get-port-please@3.2.0.patch",
"pnpm-workspace.yaml"
],
"critical": true,
"fileNotes": [
{
"path": "patches/get-port-please@3.2.0.patch",
"text": "Only EADDRINUSE/EACCES on a loopback address count as in use; other errors (e.g. EADDRNOTAVAIL when IPv6 is disabled) are treated as the address not existing and ignored."
}
]
},
{
"key": "tests",
"label": "Regression test",
"summary": "Adds a test that reproduces the bug (a port bound on 127.0.0.1 by another server) and verifies createDevServer no longer picks that port.",
"category": "tests",
"filePaths": [
"packages/devframe/src/adapters/__tests__/dev.test.ts"
]
},
{
"key": "lockfile",
"label": "Lockfile update",
"summary": "Generated lockfile update reflecting the new patched dependency entry.",
"category": "deps",
"filePaths": [
"pnpm-lock.yaml"
]
}
],
"schemaVersion": 1,
"source": "llm",
"generatedAt": "2026-10-26T03:12:49.139Z",
"model": "vercel-ai-gateway/anthropic/claude-sonnet-5",
"locale": "en"
}
} |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
fix #460
If another server holds
127.0.0.1:<port>,getPortfromget-port-pleasestill returns that port forlocalhost, because it tries to bind only one address. devframe then binds[::1]:<port>, and requests to127.0.0.1:<port>go to the other server.This PR patches
get-port-please. devframe bundles it, so the patch ships with devframe. For a loopback or wildcard host,getPortnow also tries127.0.0.1,::1,0.0.0.0and::. If one of them fails withEADDRINUSEorEACCES, the port is in use. Other errors, likeEADDRNOTAVAILwhen IPv6 is off, mean that the address does not exist, so they are ignored.The new test in
dev.test.tsfails onmainand passes with the patch, on Linux (IPv6 on) and on macOS. I will send the same change upstream for unjs/get-port-please#121. You can remove the patch after upstream releases it.