@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 +18 -2
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
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.
|
|
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
|
-
|
|
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;
|