@tdk-landscape/tdk-cli-core 1.3.60 → 1.3.61
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/cli/dist/utils/doctor-runtime.js +10 -9
- package/cli/package.json +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,10 @@ Notable changes to the `tdk` CLI. Versions match [npm](https://www.npmjs.com/pac
|
|
|
4
4
|
|
|
5
5
|
## Unreleased
|
|
6
6
|
|
|
7
|
+
- `tdk doctor` and `tdk up` no longer report free host ports (80, 443, 5432) as "taken" on Linux. The port check bound `0.0.0.0` and `127.0.0.1` at the same time, and on Linux the second bind collided with our own first probe. It now probes them one after the other, which still catches a loopback-only Postgres on macOS. Found by the nightly clean-machine quickstart run.
|
|
8
|
+
|
|
9
|
+
## 1.3.60 (2026-09-27)
|
|
10
|
+
|
|
7
11
|
- Backends and workers scaffolded by `tdk resource` get a `start` script, and `@types/bun` is pinned instead of `latest`. Before, `tdk doctor` failed on every new service. Found by the clean-machine quickstart run.
|
|
8
12
|
|
|
9
13
|
## 1.3.59 (2026-09-27)
|
|
@@ -336,17 +336,18 @@ function probeAddress(port, host) {
|
|
|
336
336
|
});
|
|
337
337
|
}
|
|
338
338
|
/**
|
|
339
|
-
* Probes both the wildcard and loopback address: a Homebrew Postgres
|
|
340
|
-
* 127.0.0.1 only
|
|
339
|
+
* Probes both the wildcard and loopback address: on macOS, a Homebrew Postgres
|
|
340
|
+
* bound to 127.0.0.1 only is invisible to a wildcard-only bind. Sequential, not
|
|
341
|
+
* concurrent: on Linux, binding 0.0.0.0 and 127.0.0.1 to the same port at the
|
|
342
|
+
* same time makes the second bind fail with EADDRINUSE against *our own first
|
|
343
|
+
* probe*, reporting every free port as taken. Binding 0.0.0.0 first and closing
|
|
344
|
+
* it before trying 127.0.0.1 avoids that self-collision on every platform.
|
|
341
345
|
*/
|
|
342
346
|
export async function probeHostPort(port) {
|
|
343
|
-
const
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
if (results.includes("in-use"))
|
|
348
|
-
return "in-use";
|
|
349
|
-
return results.includes("free") ? "free" : "unknown";
|
|
347
|
+
const wildcard = await probeAddress(port, "0.0.0.0");
|
|
348
|
+
if (wildcard !== "free")
|
|
349
|
+
return wildcard;
|
|
350
|
+
return probeAddress(port, "127.0.0.1");
|
|
350
351
|
}
|
|
351
352
|
/**
|
|
352
353
|
* Catches host ports taken by something other than this project's containers,
|
package/cli/package.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tdk-landscape/tdk-cli-core",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.61",
|
|
4
4
|
"description": "Run 100 microservices on a 16 GB laptop without Kubernetes. Scaffold services and run them locally with hot reload, built on Tilt.",
|
|
5
5
|
"homepage": "https://tdk-landscape.github.io/tdk-website",
|
|
6
6
|
"repository": {
|