@intentius/chant-lexicon-azure 0.18.16 → 0.18.17

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "algorithm": "sha256",
3
3
  "artifacts": {
4
- "manifest.json": "784d69d4957830880d2511bc5b1c7d288e1fbc12a668052b4a7318009c329434",
4
+ "manifest.json": "eb4b0aa4062f9cc5bb132bfa247f60aeea3a9091aafb76f052ae5b6411688840",
5
5
  "meta.json": "4b9c0be734f8b4a5fbba3136e14aaa1ea73ff0ee93f2aa480db83e476ce727b5",
6
6
  "types/index.d.ts": "d62c0fd7947ddf04a9126cc8bf44a9f4437f21cf8647fc812c022398f2c00d57",
7
7
  "rules/hardcoded-location.ts": "a9b1d1cec93f2ca9c5206641f53fc9621cefcfd2c00b3ab89c194b30a75fa949",
@@ -33,5 +33,5 @@
33
33
  "skills/chant-azure-patterns.md": "1a3bacfac612826b77332d2692a59195638db9f1b5e8ea2eda7579621d25f603",
34
34
  "skills/chant-azure-aks.md": "2d4e0098c1a22b54ffadd410564d9df0f3a04cb4eb7c6261f20ae33106e7aca8"
35
35
  },
36
- "composite": "b8132e72a7764cae791f880053c703bf095e4efc76f6be7c1062a41a05368c7f"
36
+ "composite": "5d521ffc0ae08cc901f8642898382f22429e313cbcffd9829b5e6ee7398f272b"
37
37
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "azure",
3
- "version": "0.18.16",
3
+ "version": "0.18.17",
4
4
  "chantVersion": ">=0.1.0",
5
5
  "namespace": "Azure",
6
6
  "intrinsics": [
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAsC,MAAM,6BAA6B,CAAC;AAgZlG;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,UA0C7B,CAAC"}
1
+ {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../src/serializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAsC,MAAM,6BAA6B,CAAC;AAsZlG;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,UA0C7B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intentius/chant-lexicon-azure",
3
- "version": "0.18.16",
3
+ "version": "0.18.17",
4
4
  "description": "Azure lexicon for chant — declarative IaC in TypeScript",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://intentius.io/chant",
@@ -74,7 +74,7 @@
74
74
  "typescript": "^5.9.3"
75
75
  },
76
76
  "peerDependencies": {
77
- "@intentius/chant": "^0.18.16",
77
+ "@intentius/chant": "^0.18.17",
78
78
  "typescript": "^5.9.3"
79
79
  }
80
80
  }
package/src/serializer.ts CHANGED
@@ -19,6 +19,7 @@ import type { LexiconOutput } from "@intentius/chant/lexicon-output";
19
19
  import { walkValue, type SerializerVisitor } from "@intentius/chant/serializer-walker";
20
20
  import { isChildProject, type ChildProjectInstance } from "@intentius/chant/child-project";
21
21
  import { isStackOutput, type StackOutput } from "@intentius/chant/stack-output";
22
+ import { isAttrRefLike } from "@intentius/chant/utils";
22
23
  import { resolveDependsOn } from "@intentius/chant/resource-attributes";
23
24
  import { isDefaultTags, type TagEntry } from "./default-tags";
24
25
  import { loadTaggableResources } from "./taggable";
@@ -375,13 +376,18 @@ function serializeToTemplate(
375
376
  if (isStackOutput(entity)) {
376
377
  if (!template.outputs) template.outputs = {};
377
378
  const stackOutput = entity as StackOutput;
378
- const ref = stackOutput.sourceRef;
379
- const logicalName = ref.getLogicalName();
380
- if (logicalName) {
381
- template.outputs[name] = {
382
- type: "string",
383
- value: `[reference('${logicalName}').${ref.attribute}]`,
384
- };
379
+ // `unknown` so isAttrRefLike narrows cleanly across the workspace/published
380
+ // type boundary. An intrinsic-wrapped output (#517) has no bare ARM
381
+ // reference form, so skip it here (only aws/CFN emits those).
382
+ const ref: unknown = stackOutput.sourceRef;
383
+ if (isAttrRefLike(ref)) {
384
+ const logicalName = ref.getLogicalName();
385
+ if (logicalName) {
386
+ template.outputs[name] = {
387
+ type: "string",
388
+ value: `[reference('${logicalName}').${ref.attribute}]`,
389
+ };
390
+ }
385
391
  }
386
392
  }
387
393
  }