@m8t-stack/cli 0.2.94 → 0.2.95

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/cli.js CHANGED
@@ -1487,7 +1487,7 @@ function installFoundryDnsShim() {
1487
1487
  }
1488
1488
 
1489
1489
  // src/lib/package-version.ts
1490
- var CLI_VERSION = "0.2.94";
1490
+ var CLI_VERSION = "0.2.95";
1491
1491
 
1492
1492
  // src/lib/render-error.ts
1493
1493
  init_errors();
@@ -24948,6 +24948,16 @@ var KNOWN_NOISE = [
24948
24948
  { resourceType: "Microsoft.App/containerApps", pathPattern: /(^|\.)configuration\.secrets$/, reason: "shared relay secret is regenerated on every deployment \u2014 owned elsewhere" },
24949
24949
  { resourceType: "Microsoft.App/containerApps", pathPattern: /(^|\.)configuration\.secrets\[\d+\]\.value$/, reason: "shared relay secret is regenerated on every deployment \u2014 owned elsewhere" }
24950
24950
  ];
24951
+ var PROBE_LEAF = /\.probes\[\d+\]\./;
24952
+ var PROBE_TYPE_LEAF = /\.probes\[\d+\]\.type$/;
24953
+ function isProbeReordering(leaves) {
24954
+ const types = leaves.filter((l) => PROBE_TYPE_LEAF.test(l.path));
24955
+ if (types.length === 0) return false;
24956
+ const before = types.map((l) => l.before).filter((v) => typeof v === "string").sort();
24957
+ const after = types.map((l) => l.after).filter((v) => typeof v === "string").sort();
24958
+ if (before.length !== types.length || after.length !== types.length) return false;
24959
+ return before.every((v, i) => v === after[i]);
24960
+ }
24951
24961
  var shortName = (resourceId) => resourceId.startsWith("[") ? "(role assignment)" : resourceId.split("/").pop() ?? resourceId;
24952
24962
  function isArmExpression(v) {
24953
24963
  return typeof v === "string" && /^\[.*\b(reference|format|guid|subscriptionResourceId|extensionResourceId)\(/.test(v) && v.endsWith("]");
@@ -24978,8 +24988,14 @@ function classifyWhatIf(changes) {
24978
24988
  }
24979
24989
  const resourceType = deriveResourceType(c.resourceId);
24980
24990
  const resourceName = shortName(c.resourceId);
24981
- for (const leaf of flattenDelta(c.delta ?? [])) {
24991
+ const leaves = flattenDelta(c.delta ?? []);
24992
+ const probesReordered = isProbeReordering(leaves);
24993
+ for (const leaf of leaves) {
24982
24994
  const base = { resourceType, resourceName, path: leaf.path, before: leaf.before, after: leaf.after };
24995
+ if (probesReordered && PROBE_LEAF.test(leaf.path)) {
24996
+ noise.push({ ...base, reason: "probe array reordered by the RP; same probe set \u2014 no apply can reconcile it" });
24997
+ continue;
24998
+ }
24983
24999
  if (leaf.propertyChangeType === "NoEffect") {
24984
25000
  noise.push({ ...base, reason: "NoEffect (no-op)" });
24985
25001
  continue;