@devrouter/cli 0.0.53 → 0.0.54

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/dist/devrouter.js CHANGED
@@ -2693,7 +2693,7 @@ function loadRepoConfig(repoPath) {
2693
2693
  const config = parseConfig(parsed ?? {}, configPath);
2694
2694
  const requiredVersion = config.devrouter?.version;
2695
2695
  if (requiredVersion && !hasWarnedVersionMismatch) {
2696
- const cliVersion = true ? "0.0.53" : "0.0.0-dev";
2696
+ const cliVersion = true ? "0.0.54" : "0.0.0-dev";
2697
2697
  if (cliVersion !== "0.0.0-dev" && compareSemver(requiredVersion, cliVersion) > 0) {
2698
2698
  hasWarnedVersionMismatch = true;
2699
2699
  process.stderr.write(
@@ -5746,25 +5746,40 @@ function assertManagedContainerConfigUnchanged(options) {
5746
5746
  const fileArgs = configFiles.flatMap((file) => ["-f", file]);
5747
5747
  const result = (() => {
5748
5748
  try {
5749
- return (0, import_node_child_process7.spawnSync)(
5749
+ const composeArgs = [
5750
+ "compose",
5751
+ "--project-name",
5752
+ composeProject,
5753
+ "--project-directory",
5754
+ workingDirectory
5755
+ ];
5756
+ const env = managedComposeEnvironment(options.workspace);
5757
+ const rendered = (0, import_node_child_process7.spawnSync)(
5750
5758
  "docker",
5751
- [
5752
- "compose",
5753
- "--project-name",
5754
- composeProject,
5755
- "--project-directory",
5756
- workingDirectory,
5757
- ...fileArgs,
5758
- "config",
5759
- "--hash",
5760
- service
5761
- ],
5759
+ [...composeArgs, ...fileArgs, "config", "--format", "json"],
5762
5760
  {
5763
5761
  cwd: workingDirectory,
5764
5762
  encoding: "utf-8",
5765
- env: managedComposeEnvironment(options.workspace),
5763
+ env,
5766
5764
  stdio: ["ignore", "pipe", "ignore"],
5767
- timeout: COMPOSE_HASH_TIMEOUT_MS
5765
+ timeout: COMPOSE_HASH_TIMEOUT_MS,
5766
+ maxBuffer: 1024 * 1024
5767
+ }
5768
+ );
5769
+ if (rendered.status !== 0 || rendered.error || !rendered.stdout?.trim()) {
5770
+ throw new Error("Compose configuration rendering failed.");
5771
+ }
5772
+ return (0, import_node_child_process7.spawnSync)(
5773
+ "docker",
5774
+ [...composeArgs, "-f", "-", "config", "--no-interpolate", "--hash", service],
5775
+ {
5776
+ cwd: workingDirectory,
5777
+ encoding: "utf-8",
5778
+ env,
5779
+ input: rendered.stdout,
5780
+ stdio: ["pipe", "pipe", "ignore"],
5781
+ timeout: COMPOSE_HASH_TIMEOUT_MS,
5782
+ maxBuffer: 1024 * 1024
5768
5783
  }
5769
5784
  );
5770
5785
  } catch {
@@ -9585,7 +9600,7 @@ async function buildDoctorReport(options = {}) {
9585
9600
  const config = runtimeConfig.config;
9586
9601
  loadedConfig = config;
9587
9602
  loadedWorkspace = runtimeConfig.workspace;
9588
- const cliVersion = true ? "0.0.53" : "0.0.0-dev";
9603
+ const cliVersion = true ? "0.0.54" : "0.0.0-dev";
9589
9604
  const configVersion = config.devrouter?.version;
9590
9605
  if (configVersion && cliVersion !== "0.0.0-dev" && compareSemver(configVersion, cliVersion) > 0) {
9591
9606
  addCheck(checks, {
@@ -16858,7 +16873,7 @@ var init_version = __esm({
16858
16873
 
16859
16874
  // src/cli.ts
16860
16875
  var import_commander = require("commander");
16861
- var CLI_VERSION = true ? "0.0.53" : "0.0.0-dev";
16876
+ var CLI_VERSION = true ? "0.0.54" : "0.0.0-dev";
16862
16877
  var VERSION_FLAGS = /* @__PURE__ */ new Set(["-V", "--version"]);
16863
16878
  function withErrorHandling(action2) {
16864
16879
  return async (...args) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devrouter/cli",
3
- "version": "0.0.53",
3
+ "version": "0.0.54",
4
4
  "description": "Local dev routing CLI with shared Traefik reverse proxy",
5
5
  "author": "Roland Schlaefli",
6
6
  "homepage": "https://github.com/rschlaefli/devrouter#readme",
@@ -0,0 +1,26 @@
1
+ # Upgrade to devrouter 0.0.54
2
+
3
+ Retained configuration verification now resolves service `env_file` values before
4
+ computing Compose hashes. This corrects false drift with affected Compose
5
+ versions without relaxing ownership, file membership or container checks.
6
+
7
+ ## Task
8
+
9
+ Install the published `@devrouter/cli@0.0.54` package and update the consumer's
10
+ `devrouter.version` pin when adopting this release. No schema migration or
11
+ generated configuration rewrite is required.
12
+
13
+ ## Validation
14
+
15
+ For an approved exact runtime recovery, preserve the original Compose
16
+ interpolation settings and use canonical stop and guarded repair. Real
17
+ configuration changes and missing retained resources still block recovery.
18
+ Never persist or print a resolved Compose model: it may contain credentials.
19
+ Require complete retained-container shutdown, zero exact routes and separate
20
+ application readiness proof. Adapter side effects retain their own approval
21
+ boundaries; this release does not authorize cache deletion or data changes.
22
+
23
+ ## Report
24
+
25
+ Report installed/configured versions, exact checkout/profile, command outcome,
26
+ container and route state, application proof and remaining blockers.