@devrouter/cli 0.0.58 → 0.0.59
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/bin/devrouter-process
CHANGED
|
@@ -461,6 +461,14 @@ if [ -n "$prepare_command" ]; then
|
|
|
461
461
|
wait "$preparation_pid" || preparation_status=$?
|
|
462
462
|
[ "$interrupted" -eq 0 ] || exit "$interrupted"
|
|
463
463
|
[ "$preparation_status" -eq 0 ] || die "Preparation for '$name' failed (exit $preparation_status)."
|
|
464
|
+
# Build tools can return before short-lived child shutdown finishes. Keep the
|
|
465
|
+
# lifecycle lock while allowing natural drainage; persistent children still fail.
|
|
466
|
+
for ((attempt = 0; attempt < 20; attempt += 1)); do
|
|
467
|
+
[ "$interrupted" -eq 0 ] || exit "$interrupted"
|
|
468
|
+
process_group_alive "$preparation_pid" || break
|
|
469
|
+
sleep 0.1
|
|
470
|
+
done
|
|
471
|
+
[ "$interrupted" -eq 0 ] || exit "$interrupted"
|
|
464
472
|
if process_group_alive "$preparation_pid"; then
|
|
465
473
|
die "Preparation for '$name' left running children; a synchronous foreground command is required."
|
|
466
474
|
fi
|
|
@@ -4505,7 +4505,7 @@ function loadRepoConfig(repoPath) {
|
|
|
4505
4505
|
const config = parseConfig(parsed ?? {}, configPath);
|
|
4506
4506
|
const requiredVersion = config.devrouter?.version;
|
|
4507
4507
|
if (requiredVersion && !hasWarnedVersionMismatch) {
|
|
4508
|
-
const cliVersion = true ? "0.0.
|
|
4508
|
+
const cliVersion = true ? "0.0.59" : "0.0.0-dev";
|
|
4509
4509
|
if (cliVersion !== "0.0.0-dev" && compareSemver(requiredVersion, cliVersion) > 0) {
|
|
4510
4510
|
hasWarnedVersionMismatch = true;
|
|
4511
4511
|
process.stderr.write(
|
package/dist/devrouter.js
CHANGED
|
@@ -2821,7 +2821,7 @@ function loadRepoConfig(repoPath) {
|
|
|
2821
2821
|
const config = parseConfig(parsed ?? {}, configPath);
|
|
2822
2822
|
const requiredVersion = config.devrouter?.version;
|
|
2823
2823
|
if (requiredVersion && !hasWarnedVersionMismatch) {
|
|
2824
|
-
const cliVersion = true ? "0.0.
|
|
2824
|
+
const cliVersion = true ? "0.0.59" : "0.0.0-dev";
|
|
2825
2825
|
if (cliVersion !== "0.0.0-dev" && compareSemver(requiredVersion, cliVersion) > 0) {
|
|
2826
2826
|
hasWarnedVersionMismatch = true;
|
|
2827
2827
|
process.stderr.write(
|
|
@@ -9209,7 +9209,7 @@ async function buildDoctorReport(options = {}) {
|
|
|
9209
9209
|
const config = runtimeConfig.config;
|
|
9210
9210
|
loadedConfig = config;
|
|
9211
9211
|
loadedWorkspace = runtimeConfig.workspace;
|
|
9212
|
-
const cliVersion = true ? "0.0.
|
|
9212
|
+
const cliVersion = true ? "0.0.59" : "0.0.0-dev";
|
|
9213
9213
|
const configVersion = config.devrouter?.version;
|
|
9214
9214
|
if (configVersion && cliVersion !== "0.0.0-dev" && compareSemver(configVersion, cliVersion) > 0) {
|
|
9215
9215
|
addCheck(checks, {
|
|
@@ -16135,7 +16135,7 @@ var init_version = __esm({
|
|
|
16135
16135
|
|
|
16136
16136
|
// src/cli.ts
|
|
16137
16137
|
var import_commander = require("commander");
|
|
16138
|
-
var CLI_VERSION = true ? "0.0.
|
|
16138
|
+
var CLI_VERSION = true ? "0.0.59" : "0.0.0-dev";
|
|
16139
16139
|
var VERSION_FLAGS = /* @__PURE__ */ new Set(["-V", "--version"]);
|
|
16140
16140
|
function withErrorHandling(action2) {
|
|
16141
16141
|
return async (...args) => {
|
package/package.json
CHANGED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Upgrade to devrouter 0.0.59
|
|
2
|
+
|
|
3
|
+
This patch lets short-lived preparation children finish naturally after the
|
|
4
|
+
foreground command exits successfully. The helper holds its lifecycle lock and
|
|
5
|
+
checks cancellation during a bounded two-second drain window. Persistent children
|
|
6
|
+
still prevent application startup and use existing owned-group cleanup.
|
|
7
|
+
|
|
8
|
+
## Task
|
|
9
|
+
|
|
10
|
+
Install the published patch and update `.devrouter.yml` devrouter.version to
|
|
11
|
+
0.0.59 through the consumer workflow. No schema or dependency migration is needed.
|
|
12
|
+
The next authorized ensure delivers the matching runtime helper automatically.
|
|
13
|
+
Keep preparation synchronous and avoid detached sessions or process groups.
|
|
14
|
+
|
|
15
|
+
## Validation
|
|
16
|
+
|
|
17
|
+
On an authorized exact checkout, verify preparation finishes and the intended
|
|
18
|
+
profile starts. Test application readiness independently from successful build
|
|
19
|
+
output. Preserve data, stop task-owned runtimes and verify stopped provider status
|
|
20
|
+
and zero exact routes. Do not start another task's runtime to repeat qualification.
|
|
21
|
+
|
|
22
|
+
## Limits
|
|
23
|
+
|
|
24
|
+
An isolated Linux fixture proves natural drainage of a short-lived child and
|
|
25
|
+
continued rejection of persistent children. The reported Turbo descendant has
|
|
26
|
+
not been identified, so this patch alone does not prove that consumer startup
|
|
27
|
+
succeeds. Warm mount reconciliation, capacity admission and complete OOM protection
|
|
28
|
+
remain outside this patch.
|
|
29
|
+
|
|
30
|
+
## Report
|
|
31
|
+
|
|
32
|
+
Report installed version, exact checkout/profile, preparation outcome, application
|
|
33
|
+
readiness and final runtime state. Include remaining blockers without treating
|
|
34
|
+
cached build success as successful environment startup.
|