@azure/provisioning-core 1.0.0-beta.1 → 1.0.0-beta.2

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.
Files changed (571) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +49 -10
  3. package/dist/browser/constructs/built-in-resources/resource-group.d.ts +7 -1
  4. package/dist/browser/constructs/built-in-resources/resource-group.d.ts.map +1 -1
  5. package/dist/browser/constructs/built-in-resources/resource-group.js +26 -6
  6. package/dist/browser/constructs/built-in-resources/resource-group.js.map +1 -1
  7. package/dist/browser/constructs/output.d.ts +1 -1
  8. package/dist/browser/constructs/output.d.ts.map +1 -1
  9. package/dist/browser/constructs/output.js.map +1 -1
  10. package/dist/browser/constructs/parameter.d.ts +1 -1
  11. package/dist/browser/constructs/parameter.d.ts.map +1 -1
  12. package/dist/browser/constructs/parameter.js.map +1 -1
  13. package/dist/browser/constructs/resource/resource-query.d.ts +3 -1
  14. package/dist/browser/constructs/resource/resource-query.d.ts.map +1 -1
  15. package/dist/browser/constructs/resource/resource-query.js +10 -0
  16. package/dist/browser/constructs/resource/resource-query.js.map +1 -1
  17. package/dist/browser/constructs/resource/resource-relationships.d.ts +9 -0
  18. package/dist/browser/constructs/resource/resource-relationships.d.ts.map +1 -0
  19. package/dist/browser/constructs/resource/resource-relationships.js +35 -0
  20. package/dist/browser/constructs/resource/resource-relationships.js.map +1 -0
  21. package/dist/browser/constructs/resource/resource.d.ts +11 -17
  22. package/dist/browser/constructs/resource/resource.d.ts.map +1 -1
  23. package/dist/browser/constructs/resource/resource.js +70 -28
  24. package/dist/browser/constructs/resource/resource.js.map +1 -1
  25. package/dist/browser/constructs/stack.d.ts +2 -16
  26. package/dist/browser/constructs/stack.d.ts.map +1 -1
  27. package/dist/browser/constructs/stack.js +1 -15
  28. package/dist/browser/constructs/stack.js.map +1 -1
  29. package/dist/browser/expression/ast-nodes.d.ts +1 -1
  30. package/dist/browser/expression/ast-nodes.d.ts.map +1 -1
  31. package/dist/browser/expression/ast-nodes.js.map +1 -1
  32. package/dist/browser/expression/expressions.d.ts +2 -9
  33. package/dist/browser/expression/expressions.d.ts.map +1 -1
  34. package/dist/browser/expression/expressions.js +2 -9
  35. package/dist/browser/expression/expressions.js.map +1 -1
  36. package/dist/browser/expression/utils.d.ts +5 -0
  37. package/dist/browser/expression/utils.d.ts.map +1 -0
  38. package/dist/browser/expression/utils.js +25 -0
  39. package/dist/browser/expression/utils.js.map +1 -0
  40. package/dist/browser/index.d.ts +4 -4
  41. package/dist/browser/index.d.ts.map +1 -1
  42. package/dist/browser/index.js.map +1 -1
  43. package/dist/browser/internal.d.ts +2 -5
  44. package/dist/browser/internal.d.ts.map +1 -1
  45. package/dist/browser/internal.js +1 -3
  46. package/dist/browser/internal.js.map +1 -1
  47. package/dist/browser/naming/name-validation.d.ts +15 -0
  48. package/dist/browser/naming/name-validation.d.ts.map +1 -0
  49. package/dist/browser/naming/name-validation.js +82 -0
  50. package/dist/browser/naming/name-validation.js.map +1 -0
  51. package/dist/browser/naming/naming-policy.d.ts +7 -7
  52. package/dist/browser/naming/naming-policy.d.ts.map +1 -1
  53. package/dist/browser/naming/naming-policy.js +166 -33
  54. package/dist/browser/naming/naming-policy.js.map +1 -1
  55. package/dist/browser/naming/naming-rules.d.ts +12 -11
  56. package/dist/browser/naming/naming-rules.d.ts.map +1 -1
  57. package/dist/browser/naming/naming-rules.js +2 -9
  58. package/dist/browser/naming/naming-rules.js.map +1 -1
  59. package/dist/browser/package.json +1 -1
  60. package/dist/{esm/serialization/json/lower.d.ts → browser/serialization/arm-object-conversion.d.ts} +11 -11
  61. package/dist/browser/serialization/arm-object-conversion.d.ts.map +1 -0
  62. package/dist/{esm/serialization/json/lower.js → browser/serialization/arm-object-conversion.js} +20 -20
  63. package/dist/browser/serialization/arm-object-conversion.js.map +1 -0
  64. package/dist/browser/serialization/ast/declaration-builder.d.ts +10 -0
  65. package/dist/browser/serialization/ast/declaration-builder.d.ts.map +1 -0
  66. package/dist/browser/serialization/ast/declaration-builder.js +265 -0
  67. package/dist/browser/serialization/ast/declaration-builder.js.map +1 -0
  68. package/dist/browser/serialization/ast/declaration-dependencies.d.ts +18 -0
  69. package/dist/browser/serialization/ast/declaration-dependencies.d.ts.map +1 -0
  70. package/dist/browser/serialization/ast/declaration-dependencies.js +96 -0
  71. package/dist/browser/serialization/ast/declaration-dependencies.js.map +1 -0
  72. package/dist/browser/serialization/ast/expression-builder.d.ts +14 -0
  73. package/dist/browser/serialization/ast/expression-builder.d.ts.map +1 -0
  74. package/dist/browser/serialization/ast/expression-builder.js +313 -0
  75. package/dist/browser/serialization/ast/expression-builder.js.map +1 -0
  76. package/dist/browser/serialization/ast/expression-restorer.d.ts +8 -0
  77. package/dist/browser/serialization/ast/expression-restorer.d.ts.map +1 -0
  78. package/dist/browser/serialization/ast/expression-restorer.js +162 -0
  79. package/dist/browser/serialization/ast/expression-restorer.js.map +1 -0
  80. package/dist/browser/serialization/ast/expression-rewriter.d.ts +29 -0
  81. package/dist/browser/serialization/ast/expression-rewriter.d.ts.map +1 -0
  82. package/dist/browser/serialization/ast/expression-rewriter.js +257 -0
  83. package/dist/browser/serialization/ast/expression-rewriter.js.map +1 -0
  84. package/dist/browser/serialization/ast/expression-walker.d.ts +16 -0
  85. package/dist/browser/serialization/ast/expression-walker.d.ts.map +1 -0
  86. package/dist/browser/serialization/ast/expression-walker.js +154 -0
  87. package/dist/browser/serialization/ast/expression-walker.js.map +1 -0
  88. package/dist/browser/serialization/ast/generated/ast.d.ts.map +1 -0
  89. package/dist/browser/serialization/ast/generated/ast.js.map +1 -0
  90. package/dist/browser/serialization/ast/index.d.ts +7 -0
  91. package/dist/browser/serialization/ast/index.d.ts.map +1 -0
  92. package/dist/browser/serialization/ast/index.js.map +1 -0
  93. package/dist/browser/serialization/ast/resource-utils.d.ts +10 -0
  94. package/dist/browser/serialization/ast/resource-utils.d.ts.map +1 -0
  95. package/dist/browser/serialization/ast/resource-utils.js +52 -0
  96. package/dist/browser/serialization/ast/resource-utils.js.map +1 -0
  97. package/dist/browser/serialization/bicep/file-layout/authored-context.d.ts +12 -0
  98. package/dist/browser/serialization/bicep/file-layout/authored-context.d.ts.map +1 -0
  99. package/dist/browser/serialization/bicep/file-layout/authored-context.js +57 -0
  100. package/dist/browser/serialization/bicep/file-layout/authored-context.js.map +1 -0
  101. package/dist/browser/serialization/bicep/file-layout/bicep-namer.d.ts +11 -0
  102. package/dist/browser/serialization/bicep/file-layout/bicep-namer.d.ts.map +1 -0
  103. package/dist/browser/serialization/bicep/file-layout/bicep-namer.js +100 -0
  104. package/dist/browser/serialization/bicep/file-layout/bicep-namer.js.map +1 -0
  105. package/dist/browser/serialization/bicep/file-layout/build-bicep-files.d.ts +7 -0
  106. package/dist/browser/serialization/bicep/file-layout/build-bicep-files.d.ts.map +1 -0
  107. package/dist/browser/serialization/bicep/file-layout/build-bicep-files.js +46 -0
  108. package/dist/browser/serialization/bicep/file-layout/build-bicep-files.js.map +1 -0
  109. package/dist/browser/serialization/bicep/file-layout/deployment-planning.d.ts +19 -0
  110. package/dist/browser/serialization/bicep/file-layout/deployment-planning.d.ts.map +1 -0
  111. package/dist/browser/serialization/bicep/file-layout/deployment-planning.js +68 -0
  112. package/dist/browser/serialization/bicep/file-layout/deployment-planning.js.map +1 -0
  113. package/dist/browser/serialization/bicep/file-layout/deployment-resource-utils.d.ts +8 -0
  114. package/dist/browser/serialization/bicep/file-layout/deployment-resource-utils.d.ts.map +1 -0
  115. package/dist/browser/serialization/bicep/file-layout/deployment-resource-utils.js +67 -0
  116. package/dist/browser/serialization/bicep/file-layout/deployment-resource-utils.js.map +1 -0
  117. package/dist/browser/serialization/bicep/file-layout/file-dependencies.d.ts +4 -0
  118. package/dist/browser/serialization/bicep/file-layout/file-dependencies.d.ts.map +1 -0
  119. package/dist/browser/serialization/bicep/file-layout/file-dependencies.js +32 -0
  120. package/dist/browser/serialization/bicep/file-layout/file-dependencies.js.map +1 -0
  121. package/dist/browser/serialization/bicep/file-layout/file-paths.d.ts +3 -0
  122. package/dist/browser/serialization/bicep/file-layout/file-paths.d.ts.map +1 -0
  123. package/dist/browser/serialization/bicep/file-layout/file-paths.js +46 -0
  124. package/dist/browser/serialization/bicep/file-layout/file-paths.js.map +1 -0
  125. package/dist/browser/serialization/bicep/file-layout/file-preparation.d.ts +34 -0
  126. package/dist/browser/serialization/bicep/file-layout/file-preparation.d.ts.map +1 -0
  127. package/dist/browser/serialization/bicep/file-layout/file-preparation.js +140 -0
  128. package/dist/browser/serialization/bicep/file-layout/file-preparation.js.map +1 -0
  129. package/dist/browser/serialization/bicep/file-layout/reference-wiring.d.ts +3 -0
  130. package/dist/browser/serialization/bicep/file-layout/reference-wiring.d.ts.map +1 -0
  131. package/dist/browser/serialization/bicep/file-layout/reference-wiring.js +225 -0
  132. package/dist/browser/serialization/bicep/file-layout/reference-wiring.js.map +1 -0
  133. package/dist/browser/serialization/bicep/index.d.ts +2 -0
  134. package/dist/browser/serialization/bicep/index.d.ts.map +1 -0
  135. package/dist/browser/serialization/bicep/index.js +4 -0
  136. package/dist/browser/serialization/bicep/index.js.map +1 -0
  137. package/dist/browser/serialization/bicep/render.d.ts +11 -0
  138. package/dist/browser/serialization/bicep/render.d.ts.map +1 -0
  139. package/dist/browser/serialization/bicep/render.js +293 -0
  140. package/dist/browser/serialization/bicep/render.js.map +1 -0
  141. package/dist/browser/serialization/{json/encoding.d.ts → encoding.d.ts} +1 -1
  142. package/dist/browser/serialization/encoding.d.ts.map +1 -0
  143. package/dist/browser/serialization/{json/encoding.js → encoding.js} +2 -12
  144. package/dist/browser/serialization/encoding.js.map +1 -0
  145. package/dist/browser/serialization/{json/util.d.ts → identifiers.d.ts} +1 -1
  146. package/dist/browser/serialization/identifiers.d.ts.map +1 -0
  147. package/dist/browser/serialization/{json/util.js → identifiers.js} +1 -1
  148. package/dist/browser/serialization/identifiers.js.map +1 -0
  149. package/dist/browser/serialization/index.d.ts +1 -1
  150. package/dist/browser/serialization/index.d.ts.map +1 -1
  151. package/dist/browser/serialization/index.js.map +1 -1
  152. package/dist/browser/serialization/json/deserialize.d.ts.map +1 -1
  153. package/dist/browser/serialization/json/deserialize.js +131 -39
  154. package/dist/browser/serialization/json/deserialize.js.map +1 -1
  155. package/dist/browser/serialization/json/serialize.d.ts +1 -1
  156. package/dist/browser/serialization/json/serialize.d.ts.map +1 -1
  157. package/dist/browser/serialization/json/serialize.js +5 -360
  158. package/dist/browser/serialization/json/serialize.js.map +1 -1
  159. package/dist/browser/serialization/pluralize-config.d.ts.map +1 -0
  160. package/dist/browser/serialization/pluralize-config.js.map +1 -0
  161. package/dist/browser/serialization/symbol-map.d.ts +10 -0
  162. package/dist/browser/serialization/symbol-map.d.ts.map +1 -0
  163. package/dist/browser/serialization/symbol-map.js +40 -0
  164. package/dist/browser/serialization/symbol-map.js.map +1 -0
  165. package/dist/browser/shape/shape.d.ts +4 -4
  166. package/dist/browser/shape/shape.js +2 -2
  167. package/dist/browser/shape/shape.js.map +1 -1
  168. package/dist/commonjs/constructs/built-in-resources/resource-group.d.ts +7 -1
  169. package/dist/commonjs/constructs/built-in-resources/resource-group.d.ts.map +1 -1
  170. package/dist/commonjs/constructs/built-in-resources/resource-group.js +27 -6
  171. package/dist/commonjs/constructs/built-in-resources/resource-group.js.map +2 -2
  172. package/dist/commonjs/constructs/output.d.ts +1 -1
  173. package/dist/commonjs/constructs/output.d.ts.map +1 -1
  174. package/dist/commonjs/constructs/output.js.map +1 -1
  175. package/dist/commonjs/constructs/parameter.d.ts +1 -1
  176. package/dist/commonjs/constructs/parameter.d.ts.map +1 -1
  177. package/dist/commonjs/constructs/parameter.js.map +1 -1
  178. package/dist/commonjs/constructs/resource/resource-query.d.ts +3 -1
  179. package/dist/commonjs/constructs/resource/resource-query.d.ts.map +1 -1
  180. package/dist/commonjs/constructs/resource/resource-query.js +11 -0
  181. package/dist/commonjs/constructs/resource/resource-query.js.map +2 -2
  182. package/dist/commonjs/constructs/resource/resource-relationships.d.ts +9 -0
  183. package/dist/commonjs/constructs/resource/resource-relationships.d.ts.map +1 -0
  184. package/dist/commonjs/constructs/resource/resource-relationships.js +59 -0
  185. package/dist/commonjs/constructs/resource/resource-relationships.js.map +7 -0
  186. package/dist/commonjs/constructs/resource/resource.d.ts +11 -17
  187. package/dist/commonjs/constructs/resource/resource.d.ts.map +1 -1
  188. package/dist/commonjs/constructs/resource/resource.js +57 -35
  189. package/dist/commonjs/constructs/resource/resource.js.map +2 -2
  190. package/dist/commonjs/constructs/stack.d.ts +2 -16
  191. package/dist/commonjs/constructs/stack.d.ts.map +1 -1
  192. package/dist/commonjs/constructs/stack.js.map +2 -2
  193. package/dist/commonjs/expression/ast-nodes.d.ts +1 -1
  194. package/dist/commonjs/expression/ast-nodes.d.ts.map +1 -1
  195. package/dist/commonjs/expression/ast-nodes.js.map +1 -1
  196. package/dist/commonjs/expression/expressions.d.ts +2 -9
  197. package/dist/commonjs/expression/expressions.d.ts.map +1 -1
  198. package/dist/commonjs/expression/expressions.js.map +2 -2
  199. package/dist/commonjs/expression/utils.d.ts +5 -0
  200. package/dist/commonjs/expression/utils.d.ts.map +1 -0
  201. package/dist/commonjs/expression/utils.js +43 -0
  202. package/dist/commonjs/expression/utils.js.map +7 -0
  203. package/dist/commonjs/index.d.ts +4 -4
  204. package/dist/commonjs/index.d.ts.map +1 -1
  205. package/dist/commonjs/index.js.map +2 -2
  206. package/dist/commonjs/internal.d.ts +2 -5
  207. package/dist/commonjs/internal.d.ts.map +1 -1
  208. package/dist/commonjs/internal.js +3 -9
  209. package/dist/commonjs/internal.js.map +2 -2
  210. package/dist/commonjs/naming/name-validation.d.ts +15 -0
  211. package/dist/commonjs/naming/name-validation.d.ts.map +1 -0
  212. package/dist/commonjs/naming/name-validation.js +74 -0
  213. package/dist/commonjs/naming/name-validation.js.map +7 -0
  214. package/dist/commonjs/naming/naming-policy.d.ts +7 -7
  215. package/dist/commonjs/naming/naming-policy.d.ts.map +1 -1
  216. package/dist/commonjs/naming/naming-policy.js +136 -26
  217. package/dist/commonjs/naming/naming-policy.js.map +2 -2
  218. package/dist/commonjs/naming/naming-rules.d.ts +12 -11
  219. package/dist/commonjs/naming/naming-rules.d.ts.map +1 -1
  220. package/dist/commonjs/naming/naming-rules.js +4 -11
  221. package/dist/commonjs/naming/naming-rules.js.map +2 -2
  222. package/dist/commonjs/package.json +1 -1
  223. package/dist/{browser/serialization/json/lower.d.ts → commonjs/serialization/arm-object-conversion.d.ts} +11 -11
  224. package/dist/commonjs/serialization/arm-object-conversion.d.ts.map +1 -0
  225. package/dist/commonjs/serialization/{json/lower.js → arm-object-conversion.js} +15 -15
  226. package/dist/commonjs/serialization/arm-object-conversion.js.map +7 -0
  227. package/dist/commonjs/serialization/ast/declaration-builder.d.ts +10 -0
  228. package/dist/commonjs/serialization/ast/declaration-builder.d.ts.map +1 -0
  229. package/dist/commonjs/serialization/ast/declaration-builder.js +274 -0
  230. package/dist/commonjs/serialization/ast/declaration-builder.js.map +7 -0
  231. package/dist/commonjs/serialization/ast/declaration-dependencies.d.ts +18 -0
  232. package/dist/commonjs/serialization/ast/declaration-dependencies.d.ts.map +1 -0
  233. package/dist/commonjs/serialization/ast/declaration-dependencies.js +109 -0
  234. package/dist/commonjs/serialization/ast/declaration-dependencies.js.map +7 -0
  235. package/dist/commonjs/serialization/ast/expression-builder.d.ts +14 -0
  236. package/dist/commonjs/serialization/ast/expression-builder.d.ts.map +1 -0
  237. package/dist/commonjs/serialization/ast/expression-builder.js +316 -0
  238. package/dist/commonjs/serialization/ast/expression-builder.js.map +7 -0
  239. package/dist/commonjs/serialization/ast/expression-restorer.d.ts +8 -0
  240. package/dist/commonjs/serialization/ast/expression-restorer.d.ts.map +1 -0
  241. package/dist/commonjs/serialization/ast/expression-restorer.js +193 -0
  242. package/dist/commonjs/serialization/ast/expression-restorer.js.map +7 -0
  243. package/dist/commonjs/serialization/ast/expression-rewriter.d.ts +29 -0
  244. package/dist/commonjs/serialization/ast/expression-rewriter.d.ts.map +1 -0
  245. package/dist/commonjs/serialization/ast/expression-rewriter.js +270 -0
  246. package/dist/commonjs/serialization/ast/expression-rewriter.js.map +7 -0
  247. package/dist/commonjs/serialization/ast/expression-walker.d.ts +16 -0
  248. package/dist/commonjs/serialization/ast/expression-walker.d.ts.map +1 -0
  249. package/dist/commonjs/serialization/ast/expression-walker.js +165 -0
  250. package/dist/commonjs/serialization/ast/expression-walker.js.map +7 -0
  251. package/dist/commonjs/serialization/ast/generated/ast.d.ts.map +1 -0
  252. package/dist/commonjs/serialization/{contract → ast}/generated/ast.js.map +1 -1
  253. package/dist/commonjs/serialization/ast/index.d.ts +7 -0
  254. package/dist/commonjs/serialization/ast/index.d.ts.map +1 -0
  255. package/dist/commonjs/serialization/{contract → ast}/index.js +3 -3
  256. package/dist/commonjs/serialization/ast/index.js.map +7 -0
  257. package/dist/commonjs/serialization/ast/resource-utils.d.ts +10 -0
  258. package/dist/commonjs/serialization/ast/resource-utils.d.ts.map +1 -0
  259. package/dist/commonjs/serialization/ast/resource-utils.js +71 -0
  260. package/dist/commonjs/serialization/ast/resource-utils.js.map +7 -0
  261. package/dist/commonjs/serialization/bicep/file-layout/authored-context.d.ts +12 -0
  262. package/dist/commonjs/serialization/bicep/file-layout/authored-context.d.ts.map +1 -0
  263. package/dist/commonjs/serialization/bicep/file-layout/authored-context.js +74 -0
  264. package/dist/commonjs/serialization/bicep/file-layout/authored-context.js.map +7 -0
  265. package/dist/commonjs/serialization/bicep/file-layout/bicep-namer.d.ts +11 -0
  266. package/dist/commonjs/serialization/bicep/file-layout/bicep-namer.d.ts.map +1 -0
  267. package/dist/commonjs/serialization/bicep/file-layout/bicep-namer.js +130 -0
  268. package/dist/commonjs/serialization/bicep/file-layout/bicep-namer.js.map +7 -0
  269. package/dist/commonjs/serialization/bicep/file-layout/build-bicep-files.d.ts +7 -0
  270. package/dist/commonjs/serialization/bicep/file-layout/build-bicep-files.d.ts.map +1 -0
  271. package/dist/commonjs/serialization/bicep/file-layout/build-bicep-files.js +71 -0
  272. package/dist/commonjs/serialization/bicep/file-layout/build-bicep-files.js.map +7 -0
  273. package/dist/commonjs/serialization/bicep/file-layout/deployment-planning.d.ts +19 -0
  274. package/dist/commonjs/serialization/bicep/file-layout/deployment-planning.d.ts.map +1 -0
  275. package/dist/commonjs/serialization/bicep/file-layout/deployment-planning.js +80 -0
  276. package/dist/commonjs/serialization/bicep/file-layout/deployment-planning.js.map +7 -0
  277. package/dist/commonjs/serialization/bicep/file-layout/deployment-resource-utils.d.ts +8 -0
  278. package/dist/commonjs/serialization/bicep/file-layout/deployment-resource-utils.d.ts.map +1 -0
  279. package/dist/commonjs/serialization/bicep/file-layout/deployment-resource-utils.js +91 -0
  280. package/dist/commonjs/serialization/bicep/file-layout/deployment-resource-utils.js.map +7 -0
  281. package/dist/commonjs/serialization/bicep/file-layout/file-dependencies.d.ts +4 -0
  282. package/dist/commonjs/serialization/bicep/file-layout/file-dependencies.d.ts.map +1 -0
  283. package/dist/commonjs/serialization/bicep/file-layout/file-dependencies.js +57 -0
  284. package/dist/commonjs/serialization/bicep/file-layout/file-dependencies.js.map +7 -0
  285. package/dist/commonjs/serialization/bicep/file-layout/file-paths.d.ts +3 -0
  286. package/dist/commonjs/serialization/bicep/file-layout/file-paths.d.ts.map +1 -0
  287. package/dist/commonjs/serialization/bicep/file-layout/file-paths.js +70 -0
  288. package/dist/commonjs/serialization/bicep/file-layout/file-paths.js.map +7 -0
  289. package/dist/commonjs/serialization/bicep/file-layout/file-preparation.d.ts +34 -0
  290. package/dist/commonjs/serialization/bicep/file-layout/file-preparation.d.ts.map +1 -0
  291. package/dist/commonjs/serialization/bicep/file-layout/file-preparation.js +190 -0
  292. package/dist/commonjs/serialization/bicep/file-layout/file-preparation.js.map +7 -0
  293. package/dist/commonjs/serialization/bicep/file-layout/reference-wiring.d.ts +3 -0
  294. package/dist/commonjs/serialization/bicep/file-layout/reference-wiring.d.ts.map +1 -0
  295. package/dist/commonjs/serialization/bicep/file-layout/reference-wiring.js +241 -0
  296. package/dist/commonjs/serialization/bicep/file-layout/reference-wiring.js.map +7 -0
  297. package/dist/commonjs/serialization/bicep/index.d.ts +2 -0
  298. package/dist/commonjs/serialization/bicep/index.d.ts.map +1 -0
  299. package/dist/commonjs/serialization/bicep/index.js +28 -0
  300. package/dist/commonjs/serialization/bicep/index.js.map +7 -0
  301. package/dist/commonjs/serialization/bicep/render.d.ts +11 -0
  302. package/dist/commonjs/serialization/bicep/render.d.ts.map +1 -0
  303. package/dist/commonjs/serialization/bicep/render.js +312 -0
  304. package/dist/commonjs/serialization/bicep/render.js.map +7 -0
  305. package/dist/commonjs/serialization/{json/encoding.d.ts → encoding.d.ts} +1 -1
  306. package/dist/commonjs/serialization/encoding.d.ts.map +1 -0
  307. package/dist/commonjs/serialization/{json/encoding.js → encoding.js} +2 -12
  308. package/dist/commonjs/serialization/encoding.js.map +7 -0
  309. package/dist/commonjs/serialization/{json/util.d.ts → identifiers.d.ts} +1 -1
  310. package/dist/commonjs/serialization/identifiers.d.ts.map +1 -0
  311. package/dist/commonjs/serialization/{json/util.js → identifiers.js} +4 -4
  312. package/dist/commonjs/serialization/{json/util.js.map → identifiers.js.map} +1 -1
  313. package/dist/commonjs/serialization/index.d.ts +1 -1
  314. package/dist/commonjs/serialization/index.d.ts.map +1 -1
  315. package/dist/commonjs/serialization/index.js.map +1 -1
  316. package/dist/commonjs/serialization/json/deserialize.d.ts.map +1 -1
  317. package/dist/commonjs/serialization/json/deserialize.js +115 -44
  318. package/dist/commonjs/serialization/json/deserialize.js.map +2 -2
  319. package/dist/commonjs/serialization/json/serialize.d.ts +1 -1
  320. package/dist/commonjs/serialization/json/serialize.d.ts.map +1 -1
  321. package/dist/commonjs/serialization/json/serialize.js +6 -308
  322. package/dist/commonjs/serialization/json/serialize.js.map +3 -3
  323. package/dist/commonjs/serialization/pluralize-config.d.ts.map +1 -0
  324. package/dist/commonjs/serialization/{json/pluralize-config.js.map → pluralize-config.js.map} +1 -1
  325. package/dist/commonjs/serialization/symbol-map.d.ts +10 -0
  326. package/dist/commonjs/serialization/symbol-map.d.ts.map +1 -0
  327. package/dist/commonjs/serialization/symbol-map.js +72 -0
  328. package/dist/commonjs/serialization/symbol-map.js.map +7 -0
  329. package/dist/commonjs/shape/shape.d.ts +4 -4
  330. package/dist/commonjs/shape/shape.js.map +1 -1
  331. package/dist/commonjs/tsdoc-metadata.json +1 -1
  332. package/dist/esm/constructs/built-in-resources/resource-group.d.ts +7 -1
  333. package/dist/esm/constructs/built-in-resources/resource-group.d.ts.map +1 -1
  334. package/dist/esm/constructs/built-in-resources/resource-group.js +26 -6
  335. package/dist/esm/constructs/built-in-resources/resource-group.js.map +1 -1
  336. package/dist/esm/constructs/output.d.ts +1 -1
  337. package/dist/esm/constructs/output.d.ts.map +1 -1
  338. package/dist/esm/constructs/output.js.map +1 -1
  339. package/dist/esm/constructs/parameter.d.ts +1 -1
  340. package/dist/esm/constructs/parameter.d.ts.map +1 -1
  341. package/dist/esm/constructs/parameter.js.map +1 -1
  342. package/dist/esm/constructs/resource/resource-query.d.ts +3 -1
  343. package/dist/esm/constructs/resource/resource-query.d.ts.map +1 -1
  344. package/dist/esm/constructs/resource/resource-query.js +10 -0
  345. package/dist/esm/constructs/resource/resource-query.js.map +1 -1
  346. package/dist/esm/constructs/resource/resource-relationships.d.ts +9 -0
  347. package/dist/esm/constructs/resource/resource-relationships.d.ts.map +1 -0
  348. package/dist/esm/constructs/resource/resource-relationships.js +35 -0
  349. package/dist/esm/constructs/resource/resource-relationships.js.map +1 -0
  350. package/dist/esm/constructs/resource/resource.d.ts +11 -17
  351. package/dist/esm/constructs/resource/resource.d.ts.map +1 -1
  352. package/dist/esm/constructs/resource/resource.js +70 -28
  353. package/dist/esm/constructs/resource/resource.js.map +1 -1
  354. package/dist/esm/constructs/stack.d.ts +2 -16
  355. package/dist/esm/constructs/stack.d.ts.map +1 -1
  356. package/dist/esm/constructs/stack.js +1 -15
  357. package/dist/esm/constructs/stack.js.map +1 -1
  358. package/dist/esm/expression/ast-nodes.d.ts +1 -1
  359. package/dist/esm/expression/ast-nodes.d.ts.map +1 -1
  360. package/dist/esm/expression/ast-nodes.js.map +1 -1
  361. package/dist/esm/expression/expressions.d.ts +2 -9
  362. package/dist/esm/expression/expressions.d.ts.map +1 -1
  363. package/dist/esm/expression/expressions.js +2 -9
  364. package/dist/esm/expression/expressions.js.map +1 -1
  365. package/dist/esm/expression/utils.d.ts +5 -0
  366. package/dist/esm/expression/utils.d.ts.map +1 -0
  367. package/dist/esm/expression/utils.js +25 -0
  368. package/dist/esm/expression/utils.js.map +1 -0
  369. package/dist/esm/index.d.ts +4 -4
  370. package/dist/esm/index.d.ts.map +1 -1
  371. package/dist/esm/index.js.map +1 -1
  372. package/dist/esm/internal.d.ts +2 -5
  373. package/dist/esm/internal.d.ts.map +1 -1
  374. package/dist/esm/internal.js +1 -3
  375. package/dist/esm/internal.js.map +1 -1
  376. package/dist/esm/naming/name-validation.d.ts +15 -0
  377. package/dist/esm/naming/name-validation.d.ts.map +1 -0
  378. package/dist/esm/naming/name-validation.js +82 -0
  379. package/dist/esm/naming/name-validation.js.map +1 -0
  380. package/dist/esm/naming/naming-policy.d.ts +7 -7
  381. package/dist/esm/naming/naming-policy.d.ts.map +1 -1
  382. package/dist/esm/naming/naming-policy.js +166 -33
  383. package/dist/esm/naming/naming-policy.js.map +1 -1
  384. package/dist/esm/naming/naming-rules.d.ts +12 -11
  385. package/dist/esm/naming/naming-rules.d.ts.map +1 -1
  386. package/dist/esm/naming/naming-rules.js +2 -9
  387. package/dist/esm/naming/naming-rules.js.map +1 -1
  388. package/dist/esm/package.json +1 -1
  389. package/dist/{commonjs/serialization/json/lower.d.ts → esm/serialization/arm-object-conversion.d.ts} +11 -11
  390. package/dist/esm/serialization/arm-object-conversion.d.ts.map +1 -0
  391. package/dist/{browser/serialization/json/lower.js → esm/serialization/arm-object-conversion.js} +20 -20
  392. package/dist/esm/serialization/arm-object-conversion.js.map +1 -0
  393. package/dist/esm/serialization/ast/declaration-builder.d.ts +10 -0
  394. package/dist/esm/serialization/ast/declaration-builder.d.ts.map +1 -0
  395. package/dist/esm/serialization/ast/declaration-builder.js +265 -0
  396. package/dist/esm/serialization/ast/declaration-builder.js.map +1 -0
  397. package/dist/esm/serialization/ast/declaration-dependencies.d.ts +18 -0
  398. package/dist/esm/serialization/ast/declaration-dependencies.d.ts.map +1 -0
  399. package/dist/esm/serialization/ast/declaration-dependencies.js +96 -0
  400. package/dist/esm/serialization/ast/declaration-dependencies.js.map +1 -0
  401. package/dist/esm/serialization/ast/expression-builder.d.ts +14 -0
  402. package/dist/esm/serialization/ast/expression-builder.d.ts.map +1 -0
  403. package/dist/esm/serialization/ast/expression-builder.js +313 -0
  404. package/dist/esm/serialization/ast/expression-builder.js.map +1 -0
  405. package/dist/esm/serialization/ast/expression-restorer.d.ts +8 -0
  406. package/dist/esm/serialization/ast/expression-restorer.d.ts.map +1 -0
  407. package/dist/esm/serialization/ast/expression-restorer.js +162 -0
  408. package/dist/esm/serialization/ast/expression-restorer.js.map +1 -0
  409. package/dist/esm/serialization/ast/expression-rewriter.d.ts +29 -0
  410. package/dist/esm/serialization/ast/expression-rewriter.d.ts.map +1 -0
  411. package/dist/esm/serialization/ast/expression-rewriter.js +257 -0
  412. package/dist/esm/serialization/ast/expression-rewriter.js.map +1 -0
  413. package/dist/esm/serialization/ast/expression-walker.d.ts +16 -0
  414. package/dist/esm/serialization/ast/expression-walker.d.ts.map +1 -0
  415. package/dist/esm/serialization/ast/expression-walker.js +154 -0
  416. package/dist/esm/serialization/ast/expression-walker.js.map +1 -0
  417. package/dist/esm/serialization/ast/generated/ast.d.ts.map +1 -0
  418. package/dist/esm/serialization/ast/generated/ast.js.map +1 -0
  419. package/dist/esm/serialization/ast/index.d.ts +7 -0
  420. package/dist/esm/serialization/ast/index.d.ts.map +1 -0
  421. package/dist/esm/serialization/ast/index.js.map +1 -0
  422. package/dist/esm/serialization/ast/resource-utils.d.ts +10 -0
  423. package/dist/esm/serialization/ast/resource-utils.d.ts.map +1 -0
  424. package/dist/esm/serialization/ast/resource-utils.js +52 -0
  425. package/dist/esm/serialization/ast/resource-utils.js.map +1 -0
  426. package/dist/esm/serialization/bicep/file-layout/authored-context.d.ts +12 -0
  427. package/dist/esm/serialization/bicep/file-layout/authored-context.d.ts.map +1 -0
  428. package/dist/esm/serialization/bicep/file-layout/authored-context.js +57 -0
  429. package/dist/esm/serialization/bicep/file-layout/authored-context.js.map +1 -0
  430. package/dist/esm/serialization/bicep/file-layout/bicep-namer.d.ts +11 -0
  431. package/dist/esm/serialization/bicep/file-layout/bicep-namer.d.ts.map +1 -0
  432. package/dist/esm/serialization/bicep/file-layout/bicep-namer.js +100 -0
  433. package/dist/esm/serialization/bicep/file-layout/bicep-namer.js.map +1 -0
  434. package/dist/esm/serialization/bicep/file-layout/build-bicep-files.d.ts +7 -0
  435. package/dist/esm/serialization/bicep/file-layout/build-bicep-files.d.ts.map +1 -0
  436. package/dist/esm/serialization/bicep/file-layout/build-bicep-files.js +46 -0
  437. package/dist/esm/serialization/bicep/file-layout/build-bicep-files.js.map +1 -0
  438. package/dist/esm/serialization/bicep/file-layout/deployment-planning.d.ts +19 -0
  439. package/dist/esm/serialization/bicep/file-layout/deployment-planning.d.ts.map +1 -0
  440. package/dist/esm/serialization/bicep/file-layout/deployment-planning.js +68 -0
  441. package/dist/esm/serialization/bicep/file-layout/deployment-planning.js.map +1 -0
  442. package/dist/esm/serialization/bicep/file-layout/deployment-resource-utils.d.ts +8 -0
  443. package/dist/esm/serialization/bicep/file-layout/deployment-resource-utils.d.ts.map +1 -0
  444. package/dist/esm/serialization/bicep/file-layout/deployment-resource-utils.js +67 -0
  445. package/dist/esm/serialization/bicep/file-layout/deployment-resource-utils.js.map +1 -0
  446. package/dist/esm/serialization/bicep/file-layout/file-dependencies.d.ts +4 -0
  447. package/dist/esm/serialization/bicep/file-layout/file-dependencies.d.ts.map +1 -0
  448. package/dist/esm/serialization/bicep/file-layout/file-dependencies.js +32 -0
  449. package/dist/esm/serialization/bicep/file-layout/file-dependencies.js.map +1 -0
  450. package/dist/esm/serialization/bicep/file-layout/file-paths.d.ts +3 -0
  451. package/dist/esm/serialization/bicep/file-layout/file-paths.d.ts.map +1 -0
  452. package/dist/esm/serialization/bicep/file-layout/file-paths.js +46 -0
  453. package/dist/esm/serialization/bicep/file-layout/file-paths.js.map +1 -0
  454. package/dist/esm/serialization/bicep/file-layout/file-preparation.d.ts +34 -0
  455. package/dist/esm/serialization/bicep/file-layout/file-preparation.d.ts.map +1 -0
  456. package/dist/esm/serialization/bicep/file-layout/file-preparation.js +140 -0
  457. package/dist/esm/serialization/bicep/file-layout/file-preparation.js.map +1 -0
  458. package/dist/esm/serialization/bicep/file-layout/reference-wiring.d.ts +3 -0
  459. package/dist/esm/serialization/bicep/file-layout/reference-wiring.d.ts.map +1 -0
  460. package/dist/esm/serialization/bicep/file-layout/reference-wiring.js +225 -0
  461. package/dist/esm/serialization/bicep/file-layout/reference-wiring.js.map +1 -0
  462. package/dist/esm/serialization/bicep/index.d.ts +2 -0
  463. package/dist/esm/serialization/bicep/index.d.ts.map +1 -0
  464. package/dist/esm/serialization/bicep/index.js +4 -0
  465. package/dist/esm/serialization/bicep/index.js.map +1 -0
  466. package/dist/esm/serialization/bicep/render.d.ts +11 -0
  467. package/dist/esm/serialization/bicep/render.d.ts.map +1 -0
  468. package/dist/esm/serialization/bicep/render.js +293 -0
  469. package/dist/esm/serialization/bicep/render.js.map +1 -0
  470. package/dist/esm/serialization/{json/encoding.d.ts → encoding.d.ts} +1 -1
  471. package/dist/esm/serialization/encoding.d.ts.map +1 -0
  472. package/dist/esm/serialization/{json/encoding.js → encoding.js} +2 -12
  473. package/dist/esm/serialization/encoding.js.map +1 -0
  474. package/dist/esm/serialization/{json/util.d.ts → identifiers.d.ts} +1 -1
  475. package/dist/esm/serialization/identifiers.d.ts.map +1 -0
  476. package/dist/esm/serialization/{json/util.js → identifiers.js} +1 -1
  477. package/dist/esm/serialization/identifiers.js.map +1 -0
  478. package/dist/esm/serialization/index.d.ts +1 -1
  479. package/dist/esm/serialization/index.d.ts.map +1 -1
  480. package/dist/esm/serialization/index.js.map +1 -1
  481. package/dist/esm/serialization/json/deserialize.d.ts.map +1 -1
  482. package/dist/esm/serialization/json/deserialize.js +131 -39
  483. package/dist/esm/serialization/json/deserialize.js.map +1 -1
  484. package/dist/esm/serialization/json/serialize.d.ts +1 -1
  485. package/dist/esm/serialization/json/serialize.d.ts.map +1 -1
  486. package/dist/esm/serialization/json/serialize.js +5 -360
  487. package/dist/esm/serialization/json/serialize.js.map +1 -1
  488. package/dist/esm/serialization/pluralize-config.d.ts.map +1 -0
  489. package/dist/esm/serialization/pluralize-config.js.map +1 -0
  490. package/dist/esm/serialization/symbol-map.d.ts +10 -0
  491. package/dist/esm/serialization/symbol-map.d.ts.map +1 -0
  492. package/dist/esm/serialization/symbol-map.js +40 -0
  493. package/dist/esm/serialization/symbol-map.js.map +1 -0
  494. package/dist/esm/shape/shape.d.ts +4 -4
  495. package/dist/esm/shape/shape.js +2 -2
  496. package/dist/esm/shape/shape.js.map +1 -1
  497. package/package.json +3 -2
  498. package/dist/browser/serialization/contract/generated/ast.d.ts.map +0 -1
  499. package/dist/browser/serialization/contract/generated/ast.js.map +0 -1
  500. package/dist/browser/serialization/contract/index.d.ts +0 -2
  501. package/dist/browser/serialization/contract/index.d.ts.map +0 -1
  502. package/dist/browser/serialization/contract/index.js.map +0 -1
  503. package/dist/browser/serialization/json/encoding.d.ts.map +0 -1
  504. package/dist/browser/serialization/json/encoding.js.map +0 -1
  505. package/dist/browser/serialization/json/expression.d.ts +0 -32
  506. package/dist/browser/serialization/json/expression.d.ts.map +0 -1
  507. package/dist/browser/serialization/json/expression.js +0 -494
  508. package/dist/browser/serialization/json/expression.js.map +0 -1
  509. package/dist/browser/serialization/json/lower.d.ts.map +0 -1
  510. package/dist/browser/serialization/json/lower.js.map +0 -1
  511. package/dist/browser/serialization/json/pluralize-config.d.ts.map +0 -1
  512. package/dist/browser/serialization/json/pluralize-config.js.map +0 -1
  513. package/dist/browser/serialization/json/util.d.ts.map +0 -1
  514. package/dist/browser/serialization/json/util.js.map +0 -1
  515. package/dist/browser/serialization/utils.d.ts +0 -3
  516. package/dist/browser/serialization/utils.d.ts.map +0 -1
  517. package/dist/browser/serialization/utils.js +0 -146
  518. package/dist/browser/serialization/utils.js.map +0 -1
  519. package/dist/commonjs/serialization/contract/generated/ast.d.ts.map +0 -1
  520. package/dist/commonjs/serialization/contract/index.d.ts +0 -2
  521. package/dist/commonjs/serialization/contract/index.d.ts.map +0 -1
  522. package/dist/commonjs/serialization/contract/index.js.map +0 -7
  523. package/dist/commonjs/serialization/json/encoding.d.ts.map +0 -1
  524. package/dist/commonjs/serialization/json/encoding.js.map +0 -7
  525. package/dist/commonjs/serialization/json/expression.d.ts +0 -32
  526. package/dist/commonjs/serialization/json/expression.d.ts.map +0 -1
  527. package/dist/commonjs/serialization/json/expression.js +0 -509
  528. package/dist/commonjs/serialization/json/expression.js.map +0 -7
  529. package/dist/commonjs/serialization/json/lower.d.ts.map +0 -1
  530. package/dist/commonjs/serialization/json/lower.js.map +0 -7
  531. package/dist/commonjs/serialization/json/pluralize-config.d.ts.map +0 -1
  532. package/dist/commonjs/serialization/json/util.d.ts.map +0 -1
  533. package/dist/commonjs/serialization/utils.d.ts +0 -3
  534. package/dist/commonjs/serialization/utils.d.ts.map +0 -1
  535. package/dist/commonjs/serialization/utils.js +0 -169
  536. package/dist/commonjs/serialization/utils.js.map +0 -7
  537. package/dist/esm/serialization/contract/generated/ast.d.ts.map +0 -1
  538. package/dist/esm/serialization/contract/generated/ast.js.map +0 -1
  539. package/dist/esm/serialization/contract/index.d.ts +0 -2
  540. package/dist/esm/serialization/contract/index.d.ts.map +0 -1
  541. package/dist/esm/serialization/contract/index.js.map +0 -1
  542. package/dist/esm/serialization/json/encoding.d.ts.map +0 -1
  543. package/dist/esm/serialization/json/encoding.js.map +0 -1
  544. package/dist/esm/serialization/json/expression.d.ts +0 -32
  545. package/dist/esm/serialization/json/expression.d.ts.map +0 -1
  546. package/dist/esm/serialization/json/expression.js +0 -494
  547. package/dist/esm/serialization/json/expression.js.map +0 -1
  548. package/dist/esm/serialization/json/lower.d.ts.map +0 -1
  549. package/dist/esm/serialization/json/lower.js.map +0 -1
  550. package/dist/esm/serialization/json/pluralize-config.d.ts.map +0 -1
  551. package/dist/esm/serialization/json/pluralize-config.js.map +0 -1
  552. package/dist/esm/serialization/json/util.d.ts.map +0 -1
  553. package/dist/esm/serialization/json/util.js.map +0 -1
  554. package/dist/esm/serialization/utils.d.ts +0 -3
  555. package/dist/esm/serialization/utils.d.ts.map +0 -1
  556. package/dist/esm/serialization/utils.js +0 -146
  557. package/dist/esm/serialization/utils.js.map +0 -1
  558. /package/dist/browser/serialization/{contract → ast}/generated/ast.d.ts +0 -0
  559. /package/dist/browser/serialization/{contract → ast}/generated/ast.js +0 -0
  560. /package/dist/browser/serialization/{contract → ast}/index.js +0 -0
  561. /package/dist/browser/serialization/{json/pluralize-config.d.ts → pluralize-config.d.ts} +0 -0
  562. /package/dist/browser/serialization/{json/pluralize-config.js → pluralize-config.js} +0 -0
  563. /package/dist/commonjs/serialization/{contract → ast}/generated/ast.d.ts +0 -0
  564. /package/dist/commonjs/serialization/{contract → ast}/generated/ast.js +0 -0
  565. /package/dist/commonjs/serialization/{json/pluralize-config.d.ts → pluralize-config.d.ts} +0 -0
  566. /package/dist/commonjs/serialization/{json/pluralize-config.js → pluralize-config.js} +0 -0
  567. /package/dist/esm/serialization/{contract → ast}/generated/ast.d.ts +0 -0
  568. /package/dist/esm/serialization/{contract → ast}/generated/ast.js +0 -0
  569. /package/dist/esm/serialization/{contract → ast}/index.js +0 -0
  570. /package/dist/esm/serialization/{json/pluralize-config.d.ts → pluralize-config.d.ts} +0 -0
  571. /package/dist/esm/serialization/{json/pluralize-config.js → pluralize-config.js} +0 -0
@@ -0,0 +1,91 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var deployment_resource_utils_exports = {};
19
+ __export(deployment_resource_utils_exports, {
20
+ getTargetScope: () => getTargetScope,
21
+ groupArmResourcesByRoot: () => groupArmResourcesByRoot,
22
+ hasArmParent: () => hasArmParent,
23
+ normalizeExtensionScopes: () => normalizeExtensionScopes
24
+ });
25
+ module.exports = __toCommonJS(deployment_resource_utils_exports);
26
+ var import_resource_group = require("../../../constructs/built-in-resources/resource-group.js");
27
+ var import_resource_utils = require("../../ast/resource-utils.js");
28
+ var import_utils = require("../../../expression/utils.js");
29
+ function groupArmResourcesByRoot(resources, authoredContexts) {
30
+ const armRootByResource = /* @__PURE__ */ new Map();
31
+ function getArmTreeRoot(name) {
32
+ const cached = armRootByResource.get(name);
33
+ if (cached !== void 0) return cached;
34
+ const parent = authoredContexts.get(name).authoredParent;
35
+ const root = parent === void 0 || resources.get(parent).type === import_resource_group.ResourceGroup.resourceType ? name : getArmTreeRoot(parent);
36
+ armRootByResource.set(name, root);
37
+ return root;
38
+ }
39
+ const armResourcesByRoot = /* @__PURE__ */ new Map();
40
+ for (const name of resources.keys()) {
41
+ const root = getArmTreeRoot(name);
42
+ const treeResources = armResourcesByRoot.get(root) ?? /* @__PURE__ */ new Set();
43
+ treeResources.add(name);
44
+ armResourcesByRoot.set(root, treeResources);
45
+ }
46
+ return armResourcesByRoot;
47
+ }
48
+ function hasArmParent(name, resources, authoredContexts) {
49
+ const parent = authoredContexts.get(name).authoredParent;
50
+ return parent !== void 0 && resources.get(parent).type !== import_resource_group.ResourceGroup.resourceType;
51
+ }
52
+ function getTargetScope(scope, fallback) {
53
+ if (scope === void 0) return fallback;
54
+ if (scope.kind !== "function-call" || typeof scope.target !== "string") {
55
+ throw new Error("Unsupported authored deployment scope expression.");
56
+ }
57
+ const target = (0, import_utils.getScopeFunctionTarget)(scope);
58
+ if (target !== void 0) {
59
+ return target;
60
+ }
61
+ throw new Error(`Unsupported deployment scope function "${scope.target}".`);
62
+ }
63
+ function normalizeExtensionScopes(stackAst) {
64
+ for (const [name, resource] of stackAst.resources) {
65
+ const armParentIdentifier = (0, import_resource_utils.getResourceArmParentIdentifier)(resource);
66
+ const armParent = armParentIdentifier === void 0 ? void 0 : stackAst.resources.get(armParentIdentifier);
67
+ if (armParentIdentifier !== void 0 && armParent === void 0) {
68
+ throw new Error(`Missing ARM parent "${armParentIdentifier}" for resource "${name}".`);
69
+ }
70
+ if (armParent !== void 0 && !resource.type.toLowerCase().startsWith(`${armParent.type.toLowerCase()}/`)) {
71
+ stackAst.resources.set(name, {
72
+ ...resource,
73
+ value: (0, import_resource_utils.updateResourceBody)(resource.value, (body) => {
74
+ const { parent: target, ...rest } = body.value;
75
+ if (target === void 0) {
76
+ throw new Error(`Missing extension target for "${name}".`);
77
+ }
78
+ return { ...body, value: { scope: target, ...rest } };
79
+ })
80
+ });
81
+ }
82
+ }
83
+ }
84
+ // Annotate the CommonJS export names for ESM import in node:
85
+ 0 && (module.exports = {
86
+ getTargetScope,
87
+ groupArmResourcesByRoot,
88
+ hasArmParent,
89
+ normalizeExtensionScopes
90
+ });
91
+ //# sourceMappingURL=deployment-resource-utils.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/serialization/bicep/file-layout/deployment-resource-utils.ts"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ResourceGroup } from \"../../../constructs/built-in-resources/resource-group.js\";\nimport type { ExpressionNode, ResourceDeclarationNode, TargetScope } from \"../../ast/index.js\";\nimport { getResourceArmParentIdentifier, updateResourceBody } from \"../../ast/resource-utils.js\";\nimport { getScopeFunctionTarget } from \"../../../expression/utils.js\";\nimport type { AuthoredResourceContext } from \"./authored-context.js\";\nimport type { BicepAst } from \"./file-preparation.js\";\n\nexport function groupArmResourcesByRoot(\n resources: ReadonlyMap<string, ResourceDeclarationNode>,\n authoredContexts: ReadonlyMap<string, AuthoredResourceContext>,\n): Map<string, Set<string>> {\n const armRootByResource = new Map<string, string>();\n function getArmTreeRoot(name: string): string {\n const cached = armRootByResource.get(name);\n if (cached !== undefined) return cached;\n const parent = authoredContexts.get(name)!.authoredParent;\n const root =\n parent === undefined || resources.get(parent)!.type === ResourceGroup.resourceType\n ? name\n : getArmTreeRoot(parent);\n armRootByResource.set(name, root);\n return root;\n }\n\n const armResourcesByRoot = new Map<string, Set<string>>();\n for (const name of resources.keys()) {\n const root = getArmTreeRoot(name);\n const treeResources = armResourcesByRoot.get(root) ?? new Set<string>();\n treeResources.add(name);\n armResourcesByRoot.set(root, treeResources);\n }\n return armResourcesByRoot;\n}\n\nexport function hasArmParent(\n name: string,\n resources: ReadonlyMap<string, ResourceDeclarationNode>,\n authoredContexts: ReadonlyMap<string, AuthoredResourceContext>,\n): boolean {\n const parent = authoredContexts.get(name)!.authoredParent;\n return parent !== undefined && resources.get(parent)!.type !== ResourceGroup.resourceType;\n}\n\nexport function getTargetScope(\n scope: ExpressionNode | undefined,\n fallback: TargetScope,\n): TargetScope {\n if (scope === undefined) return fallback;\n if (scope.kind !== \"function-call\" || typeof scope.target !== \"string\") {\n throw new Error(\"Unsupported authored deployment scope expression.\");\n }\n const target = getScopeFunctionTarget(scope);\n if (target !== undefined) {\n return target;\n }\n throw new Error(`Unsupported deployment scope function \"${scope.target}\".`);\n}\n\nexport function normalizeExtensionScopes(stackAst: BicepAst): void {\n // JSON builders preserve ARM parent metadata; Bicep uses scope for extensions.\n for (const [name, resource] of stackAst.resources) {\n const armParentIdentifier = getResourceArmParentIdentifier(resource);\n const armParent =\n armParentIdentifier === undefined ? undefined : stackAst.resources.get(armParentIdentifier);\n if (armParentIdentifier !== undefined && armParent === undefined) {\n throw new Error(`Missing ARM parent \"${armParentIdentifier}\" for resource \"${name}\".`);\n }\n if (\n armParent !== undefined &&\n !resource.type.toLowerCase().startsWith(`${armParent.type.toLowerCase()}/`)\n ) {\n stackAst.resources.set(name, {\n ...resource,\n value: updateResourceBody(resource.value, (body) => {\n const { parent: target, ...rest } = body.value;\n if (target === undefined) {\n throw new Error(`Missing extension target for \"${name}\".`);\n }\n return { ...body, value: { scope: target, ...rest } };\n }),\n });\n }\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,4BAA8B;AAE9B,4BAAmE;AACnE,mBAAuC;AAIhC,SAAS,wBACd,WACA,kBAC0B;AAC1B,QAAM,oBAAoB,oBAAI,IAAoB;AAClD,WAAS,eAAe,MAAsB;AAC5C,UAAM,SAAS,kBAAkB,IAAI,IAAI;AACzC,QAAI,WAAW,OAAW,QAAO;AACjC,UAAM,SAAS,iBAAiB,IAAI,IAAI,EAAG;AAC3C,UAAM,OACJ,WAAW,UAAa,UAAU,IAAI,MAAM,EAAG,SAAS,oCAAc,eAClE,OACA,eAAe,MAAM;AAC3B,sBAAkB,IAAI,MAAM,IAAI;AAChC,WAAO;AAAA,EACT;AAEA,QAAM,qBAAqB,oBAAI,IAAyB;AACxD,aAAW,QAAQ,UAAU,KAAK,GAAG;AACnC,UAAM,OAAO,eAAe,IAAI;AAChC,UAAM,gBAAgB,mBAAmB,IAAI,IAAI,KAAK,oBAAI,IAAY;AACtE,kBAAc,IAAI,IAAI;AACtB,uBAAmB,IAAI,MAAM,aAAa;AAAA,EAC5C;AACA,SAAO;AACT;AAEO,SAAS,aACd,MACA,WACA,kBACS;AACT,QAAM,SAAS,iBAAiB,IAAI,IAAI,EAAG;AAC3C,SAAO,WAAW,UAAa,UAAU,IAAI,MAAM,EAAG,SAAS,oCAAc;AAC/E;AAEO,SAAS,eACd,OACA,UACa;AACb,MAAI,UAAU,OAAW,QAAO;AAChC,MAAI,MAAM,SAAS,mBAAmB,OAAO,MAAM,WAAW,UAAU;AACtE,UAAM,IAAI,MAAM,mDAAmD;AAAA,EACrE;AACA,QAAM,aAAS,qCAAuB,KAAK;AAC3C,MAAI,WAAW,QAAW;AACxB,WAAO;AAAA,EACT;AACA,QAAM,IAAI,MAAM,0CAA0C,MAAM,MAAM,IAAI;AAC5E;AAEO,SAAS,yBAAyB,UAA0B;AAEjE,aAAW,CAAC,MAAM,QAAQ,KAAK,SAAS,WAAW;AACjD,UAAM,0BAAsB,sDAA+B,QAAQ;AACnE,UAAM,YACJ,wBAAwB,SAAY,SAAY,SAAS,UAAU,IAAI,mBAAmB;AAC5F,QAAI,wBAAwB,UAAa,cAAc,QAAW;AAChE,YAAM,IAAI,MAAM,uBAAuB,mBAAmB,mBAAmB,IAAI,IAAI;AAAA,IACvF;AACA,QACE,cAAc,UACd,CAAC,SAAS,KAAK,YAAY,EAAE,WAAW,GAAG,UAAU,KAAK,YAAY,CAAC,GAAG,GAC1E;AACA,eAAS,UAAU,IAAI,MAAM;AAAA,QAC3B,GAAG;AAAA,QACH,WAAO,0CAAmB,SAAS,OAAO,CAAC,SAAS;AAClD,gBAAM,EAAE,QAAQ,QAAQ,GAAG,KAAK,IAAI,KAAK;AACzC,cAAI,WAAW,QAAW;AACxB,kBAAM,IAAI,MAAM,iCAAiC,IAAI,IAAI;AAAA,UAC3D;AACA,iBAAO,EAAE,GAAG,MAAM,OAAO,EAAE,OAAO,QAAQ,GAAG,KAAK,EAAE;AAAA,QACtD,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,4 @@
1
+ import type { ResourceDeclarationNode } from "../../ast/index.js";
2
+ import type { BicepAst } from "./file-preparation.js";
3
+ export declare function resolveFileDependencies(ast: BicepAst, stackAst: BicepAst, lookups: ReadonlyMap<string, ResourceDeclarationNode>): void;
4
+ //# sourceMappingURL=file-dependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-dependencies.d.ts","sourceRoot":"","sources":["../../../../../src/serialization/bicep/file-layout/file-dependencies.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAmB,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,QAAQ,EACb,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,uBAAuB,CAAC,GACpD,IAAI,CA4BN"}
@@ -0,0 +1,57 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var file_dependencies_exports = {};
19
+ __export(file_dependencies_exports, {
20
+ resolveFileDependencies: () => resolveFileDependencies
21
+ });
22
+ module.exports = __toCommonJS(file_dependencies_exports);
23
+ var import_declaration_dependencies = require("../../ast/declaration-dependencies.js");
24
+ function resolveFileDependencies(ast, stackAst, lookups) {
25
+ const declarations = new Map([
26
+ ...stackAst.variables,
27
+ ...stackAst.parameters,
28
+ ...lookups,
29
+ ...ast.resources
30
+ ]);
31
+ const references = (0, import_declaration_dependencies.collectDependenciesForDeclaration)(
32
+ [...ast.resources.values(), ...ast.outputs.values(), ...ast.modules.values()],
33
+ { recursive: true, declarations }
34
+ );
35
+ const selectedResources = new Map([...lookups, ...ast.resources]);
36
+ const includedResources = new Set(ast.resources.keys());
37
+ ast.resources.clear();
38
+ for (const name of stackAst.resources.keys()) {
39
+ const resource = selectedResources.get(name);
40
+ if (resource !== void 0 && (includedResources.has(name) || references.has(name))) {
41
+ ast.resources.set(name, resource);
42
+ }
43
+ }
44
+ ast.variables.clear();
45
+ for (const [name, variable] of stackAst.variables) {
46
+ if (references.has(name)) ast.variables.set(name, variable);
47
+ }
48
+ ast.parameters.clear();
49
+ for (const [name, parameter] of stackAst.parameters) {
50
+ if (references.has(name)) ast.parameters.set(name, parameter);
51
+ }
52
+ }
53
+ // Annotate the CommonJS export names for ESM import in node:
54
+ 0 && (module.exports = {
55
+ resolveFileDependencies
56
+ });
57
+ //# sourceMappingURL=file-dependencies.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/serialization/bicep/file-layout/file-dependencies.ts"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { collectDependenciesForDeclaration } from \"../../ast/declaration-dependencies.js\";\nimport type { DeclarationNode, ResourceDeclarationNode } from \"../../ast/index.js\";\nimport type { BicepAst } from \"./file-preparation.js\";\n\nexport function resolveFileDependencies(\n ast: BicepAst,\n stackAst: BicepAst,\n lookups: ReadonlyMap<string, ResourceDeclarationNode>,\n): void {\n const declarations = new Map<string, DeclarationNode>([\n ...stackAst.variables,\n ...stackAst.parameters,\n ...lookups,\n ...ast.resources,\n ]);\n const references = collectDependenciesForDeclaration(\n [...ast.resources.values(), ...ast.outputs.values(), ...ast.modules.values()],\n { recursive: true, declarations },\n );\n const selectedResources = new Map([...lookups, ...ast.resources]);\n const includedResources = new Set(ast.resources.keys());\n ast.resources.clear();\n for (const name of stackAst.resources.keys()) {\n const resource = selectedResources.get(name);\n if (resource !== undefined && (includedResources.has(name) || references.has(name))) {\n ast.resources.set(name, resource);\n }\n }\n ast.variables.clear();\n for (const [name, variable] of stackAst.variables) {\n if (references.has(name)) ast.variables.set(name, variable);\n }\n ast.parameters.clear();\n for (const [name, parameter] of stackAst.parameters) {\n if (references.has(name)) ast.parameters.set(name, parameter);\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,sCAAkD;AAI3C,SAAS,wBACd,KACA,UACA,SACM;AACN,QAAM,eAAe,IAAI,IAA6B;AAAA,IACpD,GAAG,SAAS;AAAA,IACZ,GAAG,SAAS;AAAA,IACZ,GAAG;AAAA,IACH,GAAG,IAAI;AAAA,EACT,CAAC;AACD,QAAM,iBAAa;AAAA,IACjB,CAAC,GAAG,IAAI,UAAU,OAAO,GAAG,GAAG,IAAI,QAAQ,OAAO,GAAG,GAAG,IAAI,QAAQ,OAAO,CAAC;AAAA,IAC5E,EAAE,WAAW,MAAM,aAAa;AAAA,EAClC;AACA,QAAM,oBAAoB,IAAI,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,SAAS,CAAC;AAChE,QAAM,oBAAoB,IAAI,IAAI,IAAI,UAAU,KAAK,CAAC;AACtD,MAAI,UAAU,MAAM;AACpB,aAAW,QAAQ,SAAS,UAAU,KAAK,GAAG;AAC5C,UAAM,WAAW,kBAAkB,IAAI,IAAI;AAC3C,QAAI,aAAa,WAAc,kBAAkB,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,IAAI;AACnF,UAAI,UAAU,IAAI,MAAM,QAAQ;AAAA,IAClC;AAAA,EACF;AACA,MAAI,UAAU,MAAM;AACpB,aAAW,CAAC,MAAM,QAAQ,KAAK,SAAS,WAAW;AACjD,QAAI,WAAW,IAAI,IAAI,EAAG,KAAI,UAAU,IAAI,MAAM,QAAQ;AAAA,EAC5D;AACA,MAAI,WAAW,MAAM;AACrB,aAAW,CAAC,MAAM,SAAS,KAAK,SAAS,YAAY;AACnD,QAAI,WAAW,IAAI,IAAI,EAAG,KAAI,WAAW,IAAI,MAAM,SAAS;AAAA,EAC9D;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,3 @@
1
+ export declare function joinFilePath(directory: string, fileName: string): string;
2
+ export declare function relativeImportPath(from: string, to: string): string;
3
+ //# sourceMappingURL=file-paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-paths.d.ts","sourceRoot":"","sources":["../../../../../src/serialization/bicep/file-layout/file-paths.ts"],"names":[],"mappings":"AAsBA,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKxE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAmBnE"}
@@ -0,0 +1,70 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var file_paths_exports = {};
19
+ __export(file_paths_exports, {
20
+ joinFilePath: () => joinFilePath,
21
+ relativeImportPath: () => relativeImportPath
22
+ });
23
+ module.exports = __toCommonJS(file_paths_exports);
24
+ function parseFilePath(path) {
25
+ const normalized = path.replace(/\\/g, "/");
26
+ const root = normalized.match(/^(?:[A-Za-z]:)?\//)?.[0] ?? "";
27
+ const segments = [];
28
+ for (const segment of normalized.slice(root.length).split("/")) {
29
+ if (segment === "" || segment === ".") continue;
30
+ if (segment === "..") {
31
+ if (segments.length > 0 && segments.at(-1) !== "..") {
32
+ segments.pop();
33
+ } else if (root === "") {
34
+ segments.push(segment);
35
+ }
36
+ } else {
37
+ segments.push(segment);
38
+ }
39
+ }
40
+ return { root, segments };
41
+ }
42
+ function joinFilePath(directory, fileName) {
43
+ const { root, segments } = parseFilePath(
44
+ directory === "" ? fileName : `${directory}/${fileName}`
45
+ );
46
+ return root + segments.join("/");
47
+ }
48
+ function relativeImportPath(from, to) {
49
+ const source = parseFilePath(from);
50
+ const target = parseFilePath(to);
51
+ if (source.root !== target.root) {
52
+ throw new Error(`Cannot reference file "${to}" from "${from}" across different path roots.`);
53
+ }
54
+ source.segments.pop();
55
+ let commonSegments = 0;
56
+ while (commonSegments < source.segments.length && source.segments[commonSegments] === target.segments[commonSegments]) {
57
+ commonSegments++;
58
+ }
59
+ const relative = [
60
+ ...source.segments.slice(commonSegments).map(() => ".."),
61
+ ...target.segments.slice(commonSegments)
62
+ ].join("/");
63
+ return relative === ".." || relative.startsWith("../") ? relative : `./${relative}`;
64
+ }
65
+ // Annotate the CommonJS export names for ESM import in node:
66
+ 0 && (module.exports = {
67
+ joinFilePath,
68
+ relativeImportPath
69
+ });
70
+ //# sourceMappingURL=file-paths.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/serialization/bicep/file-layout/file-paths.ts"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nfunction parseFilePath(path: string): { root: string; segments: string[] } {\n const normalized = path.replace(/\\\\/g, \"/\");\n const root = normalized.match(/^(?:[A-Za-z]:)?\\//)?.[0] ?? \"\";\n const segments: string[] = [];\n for (const segment of normalized.slice(root.length).split(\"/\")) {\n if (segment === \"\" || segment === \".\") continue;\n if (segment === \"..\") {\n if (segments.length > 0 && segments.at(-1) !== \"..\") {\n segments.pop();\n } else if (root === \"\") {\n segments.push(segment);\n }\n } else {\n segments.push(segment);\n }\n }\n return { root, segments };\n}\n\nexport function joinFilePath(directory: string, fileName: string): string {\n const { root, segments } = parseFilePath(\n directory === \"\" ? fileName : `${directory}/${fileName}`,\n );\n return root + segments.join(\"/\");\n}\n\nexport function relativeImportPath(from: string, to: string): string {\n const source = parseFilePath(from);\n const target = parseFilePath(to);\n if (source.root !== target.root) {\n throw new Error(`Cannot reference file \"${to}\" from \"${from}\" across different path roots.`);\n }\n source.segments.pop();\n let commonSegments = 0;\n while (\n commonSegments < source.segments.length &&\n source.segments[commonSegments] === target.segments[commonSegments]\n ) {\n commonSegments++;\n }\n const relative = [\n ...source.segments.slice(commonSegments).map(() => \"..\"),\n ...target.segments.slice(commonSegments),\n ].join(\"/\");\n return relative === \"..\" || relative.startsWith(\"../\") ? relative : `./${relative}`;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,SAAS,cAAc,MAAoD;AACzE,QAAM,aAAa,KAAK,QAAQ,OAAO,GAAG;AAC1C,QAAM,OAAO,WAAW,MAAM,mBAAmB,IAAI,CAAC,KAAK;AAC3D,QAAM,WAAqB,CAAC;AAC5B,aAAW,WAAW,WAAW,MAAM,KAAK,MAAM,EAAE,MAAM,GAAG,GAAG;AAC9D,QAAI,YAAY,MAAM,YAAY,IAAK;AACvC,QAAI,YAAY,MAAM;AACpB,UAAI,SAAS,SAAS,KAAK,SAAS,GAAG,EAAE,MAAM,MAAM;AACnD,iBAAS,IAAI;AAAA,MACf,WAAW,SAAS,IAAI;AACtB,iBAAS,KAAK,OAAO;AAAA,MACvB;AAAA,IACF,OAAO;AACL,eAAS,KAAK,OAAO;AAAA,IACvB;AAAA,EACF;AACA,SAAO,EAAE,MAAM,SAAS;AAC1B;AAEO,SAAS,aAAa,WAAmB,UAA0B;AACxE,QAAM,EAAE,MAAM,SAAS,IAAI;AAAA,IACzB,cAAc,KAAK,WAAW,GAAG,SAAS,IAAI,QAAQ;AAAA,EACxD;AACA,SAAO,OAAO,SAAS,KAAK,GAAG;AACjC;AAEO,SAAS,mBAAmB,MAAc,IAAoB;AACnE,QAAM,SAAS,cAAc,IAAI;AACjC,QAAM,SAAS,cAAc,EAAE;AAC/B,MAAI,OAAO,SAAS,OAAO,MAAM;AAC/B,UAAM,IAAI,MAAM,0BAA0B,EAAE,WAAW,IAAI,gCAAgC;AAAA,EAC7F;AACA,SAAO,SAAS,IAAI;AACpB,MAAI,iBAAiB;AACrB,SACE,iBAAiB,OAAO,SAAS,UACjC,OAAO,SAAS,cAAc,MAAM,OAAO,SAAS,cAAc,GAClE;AACA;AAAA,EACF;AACA,QAAM,WAAW;AAAA,IACf,GAAG,OAAO,SAAS,MAAM,cAAc,EAAE,IAAI,MAAM,IAAI;AAAA,IACvD,GAAG,OAAO,SAAS,MAAM,cAAc;AAAA,EACzC,EAAE,KAAK,GAAG;AACV,SAAO,aAAa,QAAQ,SAAS,WAAW,KAAK,IAAI,WAAW,KAAK,QAAQ;AACnF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,34 @@
1
+ import { type ExpressionNode, type ModuleDeclarationNode, type OutputDeclarationNode, type ParameterDeclarationNode, type ResourceDeclarationNode, type TargetScope, type VariableDeclarationNode } from "../../ast/index.js";
2
+ import type { AuthoredResourceContext } from "./authored-context.js";
3
+ import { BicepNamer } from "./bicep-namer.js";
4
+ import type { DeploymentLayout } from "./deployment-planning.js";
5
+ export interface BicepAst {
6
+ readonly targetScope: TargetScope;
7
+ readonly resources: Map<string, ResourceDeclarationNode>;
8
+ readonly parameters: Map<string, ParameterDeclarationNode>;
9
+ readonly variables: Map<string, VariableDeclarationNode>;
10
+ readonly outputs: Map<string, OutputDeclarationNode>;
11
+ readonly modules: Map<string, ModuleDeclarationNode>;
12
+ }
13
+ export interface PreparedBicepFile {
14
+ readonly fileName: string;
15
+ readonly targetScope: TargetScope;
16
+ readonly ast: BicepAst;
17
+ }
18
+ export interface PreparedModule {
19
+ readonly file: PreparedBicepFile;
20
+ readonly assignedResources: ReadonlySet<string>;
21
+ readonly moduleScope: ExpressionNode | undefined;
22
+ readonly moduleName: string;
23
+ readonly namer: BicepNamer;
24
+ readonly outputNames: Map<string, string>;
25
+ }
26
+ export interface PreparedDeploymentFiles {
27
+ readonly stackAst: BicepAst;
28
+ readonly entry: PreparedBicepFile;
29
+ readonly entryAssignedResources: ReadonlySet<string>;
30
+ readonly modules: readonly PreparedModule[];
31
+ readonly entryExistingResourceCandidates: ReadonlyMap<string, ResourceDeclarationNode>;
32
+ }
33
+ export declare function prepareDeploymentFiles(stackName: string, stackAst: BicepAst, authoredContexts: ReadonlyMap<string, AuthoredResourceContext>, layout: DeploymentLayout, stackNamer: BicepNamer): PreparedDeploymentFiles;
34
+ //# sourceMappingURL=file-preparation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-preparation.d.ts","sourceRoot":"","sources":["../../../../../src/serialization/bicep/file-layout/file-preparation.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAsB,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAIrF,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IACzD,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IAC3D,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;IACzD,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACrD,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChD,QAAQ,CAAC,WAAW,EAAE,cAAc,GAAG,SAAS,CAAC;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,sBAAsB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACrD,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;IAC5C,QAAQ,CAAC,+BAA+B,EAAE,WAAW,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;CACxF;AA4FD,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,uBAAuB,CAAC,EAC9D,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,UAAU,GACrB,uBAAuB,CAmHzB"}
@@ -0,0 +1,190 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var file_preparation_exports = {};
19
+ __export(file_preparation_exports, {
20
+ prepareDeploymentFiles: () => prepareDeploymentFiles
21
+ });
22
+ module.exports = __toCommonJS(file_preparation_exports);
23
+ var import_resource_utils = require("../../ast/resource-utils.js");
24
+ var import_deployment_resource_utils = require("./deployment-resource-utils.js");
25
+ var import_bicep_namer = require("./bicep-namer.js");
26
+ var import_file_dependencies = require("./file-dependencies.js");
27
+ var import_file_paths = require("./file-paths.js");
28
+ function createFile(fileName, targetScope, selectedResources, stackAst, includeOutputs) {
29
+ const ast = {
30
+ targetScope,
31
+ resources: /* @__PURE__ */ new Map(),
32
+ parameters: /* @__PURE__ */ new Map(),
33
+ variables: /* @__PURE__ */ new Map(),
34
+ modules: /* @__PURE__ */ new Map(),
35
+ outputs: new Map(includeOutputs ? stackAst.outputs : [])
36
+ };
37
+ for (const [name, resource] of stackAst.resources) {
38
+ if (selectedResources.has(name)) ast.resources.set(name, resource);
39
+ }
40
+ return { fileName, targetScope, ast };
41
+ }
42
+ function resourceFileName(stackName, name) {
43
+ return (0, import_file_paths.joinFilePath)(stackName, `${name}.bicep`);
44
+ }
45
+ function getExistingResourceCandidatesForPlan(plan, stackAst, authoredContexts, layout) {
46
+ const {
47
+ entryPlan,
48
+ pureExistingResources,
49
+ existingResourceToAuthoredResourceGroup,
50
+ existingResourcesWithExplicitScope
51
+ } = layout;
52
+ const result = /* @__PURE__ */ new Map();
53
+ for (const [name, resource] of stackAst.resources) {
54
+ if (!pureExistingResources.has(name)) continue;
55
+ if (plan !== entryPlan) {
56
+ let passThroughExplicitScope = false;
57
+ for (let ancestor = name; ancestor !== void 0; ancestor = authoredContexts.get(ancestor).authoredParent) {
58
+ if (authoredContexts.get(ancestor).scopeOrigin === "pass-through-explicit") {
59
+ passThroughExplicitScope = true;
60
+ break;
61
+ }
62
+ }
63
+ if (passThroughExplicitScope) continue;
64
+ }
65
+ if (plan !== entryPlan && (existingResourceToAuthoredResourceGroup.get(name) !== plan.authoredResourceGroup || plan.boundary !== void 0 && authoredContexts.get(plan.boundary).scopeOrigin === "existing-explicit" || plan.authoredResourceGroup === void 0 && plan.moduleScope !== void 0 || existingResourcesWithExplicitScope.has(name) && plan.authoredResourceGroup !== void 0 && authoredContexts.get(plan.authoredResourceGroup).scopeOrigin === "existing-explicit")) {
66
+ continue;
67
+ }
68
+ let node = resource;
69
+ if (plan !== entryPlan && !existingResourcesWithExplicitScope.has(name) && !(0, import_deployment_resource_utils.hasArmParent)(name, stackAst.resources, authoredContexts)) {
70
+ node = (0, import_resource_utils.removeResourceScope)(node);
71
+ }
72
+ result.set(name, node);
73
+ }
74
+ return result;
75
+ }
76
+ function prepareDeploymentFiles(stackName, stackAst, authoredContexts, layout, stackNamer) {
77
+ const { entryPlan, deployments, pureExistingResources } = layout;
78
+ const entryResources = entryPlan.resources;
79
+ (0, import_deployment_resource_utils.normalizeExtensionScopes)(stackAst);
80
+ if (deployments.length === 0) {
81
+ const selectedResources = entryResources.size === 0 ? pureExistingResources : entryResources;
82
+ const entry2 = createFile(
83
+ `${stackName}.bicep`,
84
+ stackAst.targetScope,
85
+ selectedResources,
86
+ stackAst,
87
+ true
88
+ );
89
+ const entryExistingResourceCandidates2 = getExistingResourceCandidatesForPlan(
90
+ entryPlan,
91
+ stackAst,
92
+ authoredContexts,
93
+ layout
94
+ );
95
+ (0, import_file_dependencies.resolveFileDependencies)(entry2.ast, stackAst, entryExistingResourceCandidates2);
96
+ return {
97
+ stackAst,
98
+ entry: entry2,
99
+ entryAssignedResources: new Set(entryResources),
100
+ modules: [],
101
+ entryExistingResourceCandidates: entryExistingResourceCandidates2
102
+ };
103
+ }
104
+ if (entryResources.size === 0 && deployments.every(
105
+ (plan) => plan.moduleScope === void 0 && plan.targetScope === stackAst.targetScope
106
+ )) {
107
+ const firstTree = deployments[0];
108
+ const mergedResources = new Set(deployments.flatMap((plan) => [...plan.resources]));
109
+ const entry2 = createFile(
110
+ resourceFileName(stackName, firstTree.boundary),
111
+ stackAst.targetScope,
112
+ mergedResources,
113
+ stackAst,
114
+ true
115
+ );
116
+ const entryExistingResourceCandidates2 = getExistingResourceCandidatesForPlan(
117
+ firstTree,
118
+ stackAst,
119
+ authoredContexts,
120
+ layout
121
+ );
122
+ (0, import_file_dependencies.resolveFileDependencies)(entry2.ast, stackAst, entryExistingResourceCandidates2);
123
+ return {
124
+ stackAst,
125
+ entry: entry2,
126
+ entryAssignedResources: mergedResources,
127
+ modules: [],
128
+ entryExistingResourceCandidates: entryExistingResourceCandidates2
129
+ };
130
+ }
131
+ const modules = deployments.map((plan) => {
132
+ const boundaryIdentifier = plan.boundary;
133
+ const file = createFile(
134
+ resourceFileName(stackName, boundaryIdentifier),
135
+ plan.targetScope,
136
+ plan.resources,
137
+ stackAst,
138
+ false
139
+ );
140
+ for (const name of plan.resources) {
141
+ if (authoredContexts.get(name).scopeOrigin === "pass-through-explicit") {
142
+ continue;
143
+ }
144
+ if (name !== plan.boundary && (0, import_deployment_resource_utils.hasArmParent)(name, stackAst.resources, authoredContexts)) {
145
+ continue;
146
+ }
147
+ const node = file.ast.resources.get(name);
148
+ file.ast.resources.set(name, (0, import_resource_utils.removeResourceScope)(node));
149
+ }
150
+ (0, import_file_dependencies.resolveFileDependencies)(
151
+ file.ast,
152
+ stackAst,
153
+ getExistingResourceCandidatesForPlan(plan, stackAst, authoredContexts, layout)
154
+ );
155
+ return {
156
+ file,
157
+ assignedResources: new Set(plan.resources),
158
+ moduleScope: plan.moduleScope,
159
+ moduleName: stackNamer.moduleName(boundaryIdentifier, file.fileName),
160
+ namer: new import_bicep_namer.BicepNamer(file.ast),
161
+ outputNames: /* @__PURE__ */ new Map()
162
+ };
163
+ });
164
+ const entry = createFile(
165
+ `${stackName}.bicep`,
166
+ stackAst.targetScope,
167
+ entryResources,
168
+ stackAst,
169
+ true
170
+ );
171
+ const entryExistingResourceCandidates = getExistingResourceCandidatesForPlan(
172
+ entryPlan,
173
+ stackAst,
174
+ authoredContexts,
175
+ layout
176
+ );
177
+ (0, import_file_dependencies.resolveFileDependencies)(entry.ast, stackAst, entryExistingResourceCandidates);
178
+ return {
179
+ stackAst,
180
+ entry,
181
+ entryAssignedResources: new Set(entryResources),
182
+ modules,
183
+ entryExistingResourceCandidates
184
+ };
185
+ }
186
+ // Annotate the CommonJS export names for ESM import in node:
187
+ 0 && (module.exports = {
188
+ prepareDeploymentFiles
189
+ });
190
+ //# sourceMappingURL=file-preparation.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/serialization/bicep/file-layout/file-preparation.ts"],
4
+ "sourcesContent": ["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n type ExpressionNode,\n type ModuleDeclarationNode,\n type OutputDeclarationNode,\n type ParameterDeclarationNode,\n type ResourceDeclarationNode,\n type TargetScope,\n type VariableDeclarationNode,\n} from \"../../ast/index.js\";\nimport { removeResourceScope } from \"../../ast/resource-utils.js\";\nimport type { AuthoredResourceContext } from \"./authored-context.js\";\nimport { hasArmParent, normalizeExtensionScopes } from \"./deployment-resource-utils.js\";\nimport { BicepNamer } from \"./bicep-namer.js\";\nimport type { DeploymentFilePlan, DeploymentLayout } from \"./deployment-planning.js\";\nimport { resolveFileDependencies } from \"./file-dependencies.js\";\nimport { joinFilePath } from \"./file-paths.js\";\n\nexport interface BicepAst {\n readonly targetScope: TargetScope;\n readonly resources: Map<string, ResourceDeclarationNode>;\n readonly parameters: Map<string, ParameterDeclarationNode>;\n readonly variables: Map<string, VariableDeclarationNode>;\n readonly outputs: Map<string, OutputDeclarationNode>;\n readonly modules: Map<string, ModuleDeclarationNode>;\n}\n\nexport interface PreparedBicepFile {\n readonly fileName: string;\n readonly targetScope: TargetScope;\n readonly ast: BicepAst;\n}\n\nexport interface PreparedModule {\n readonly file: PreparedBicepFile;\n readonly assignedResources: ReadonlySet<string>;\n readonly moduleScope: ExpressionNode | undefined;\n readonly moduleName: string;\n readonly namer: BicepNamer;\n readonly outputNames: Map<string, string>;\n}\n\nexport interface PreparedDeploymentFiles {\n readonly stackAst: BicepAst;\n readonly entry: PreparedBicepFile;\n readonly entryAssignedResources: ReadonlySet<string>;\n readonly modules: readonly PreparedModule[];\n readonly entryExistingResourceCandidates: ReadonlyMap<string, ResourceDeclarationNode>;\n}\n\nfunction createFile(\n fileName: string,\n targetScope: TargetScope,\n selectedResources: ReadonlySet<string>,\n stackAst: BicepAst,\n includeOutputs: boolean,\n): PreparedBicepFile {\n const ast: BicepAst = {\n targetScope,\n resources: new Map(),\n parameters: new Map(),\n variables: new Map(),\n modules: new Map(),\n outputs: new Map(includeOutputs ? stackAst.outputs : []),\n };\n for (const [name, resource] of stackAst.resources) {\n if (selectedResources.has(name)) ast.resources.set(name, resource);\n }\n return { fileName, targetScope, ast };\n}\n\nfunction resourceFileName(stackName: string, name: string): string {\n return joinFilePath(stackName, `${name}.bicep`);\n}\n\n/**\n * Candidate rules:\n * - Only pure existing resources, without deployment-file ownership.\n * - Entry: all pure existing resources.\n * - Other files: same authored RG or inherited Stack scope, with no explicit root scope.\n * - Do not copy existing references with explicit scope (own or inherited) into\n * modules for explicitly scoped authored RGs; relative scope expressions may change meaning.\n *\n * Dependency selection includes only the candidates actually needed.\n */\nfunction getExistingResourceCandidatesForPlan(\n plan: DeploymentFilePlan,\n stackAst: BicepAst,\n authoredContexts: ReadonlyMap<string, AuthoredResourceContext>,\n layout: DeploymentLayout,\n): Map<string, ResourceDeclarationNode> {\n const {\n entryPlan,\n pureExistingResources,\n existingResourceToAuthoredResourceGroup,\n existingResourcesWithExplicitScope,\n } = layout;\n const result = new Map<string, ResourceDeclarationNode>();\n for (const [name, resource] of stackAst.resources) {\n if (!pureExistingResources.has(name)) continue;\n if (plan !== entryPlan) {\n let passThroughExplicitScope = false;\n for (\n let ancestor: string | undefined = name;\n ancestor !== undefined;\n ancestor = authoredContexts.get(ancestor)!.authoredParent\n ) {\n if (authoredContexts.get(ancestor)!.scopeOrigin === \"pass-through-explicit\") {\n passThroughExplicitScope = true;\n break;\n }\n }\n if (passThroughExplicitScope) continue;\n }\n // Do not relocate relative lookups across authored deployment boundaries.\n if (\n plan !== entryPlan &&\n (existingResourceToAuthoredResourceGroup.get(name) !== plan.authoredResourceGroup ||\n (plan.boundary !== undefined &&\n authoredContexts.get(plan.boundary)!.scopeOrigin === \"existing-explicit\") ||\n (plan.authoredResourceGroup === undefined && plan.moduleScope !== undefined) ||\n (existingResourcesWithExplicitScope.has(name) &&\n plan.authoredResourceGroup !== undefined &&\n authoredContexts.get(plan.authoredResourceGroup)!.scopeOrigin === \"existing-explicit\"))\n ) {\n continue;\n }\n let node = resource;\n if (\n plan !== entryPlan &&\n !existingResourcesWithExplicitScope.has(name) &&\n !hasArmParent(name, stackAst.resources, authoredContexts)\n ) {\n node = removeResourceScope(node);\n }\n result.set(name, node);\n }\n return result;\n}\n\nexport function prepareDeploymentFiles(\n stackName: string,\n stackAst: BicepAst,\n authoredContexts: ReadonlyMap<string, AuthoredResourceContext>,\n layout: DeploymentLayout,\n stackNamer: BicepNamer,\n): PreparedDeploymentFiles {\n const { entryPlan, deployments, pureExistingResources } = layout;\n const entryResources = entryPlan.resources;\n normalizeExtensionScopes(stackAst);\n\n if (deployments.length === 0) {\n const selectedResources = entryResources.size === 0 ? pureExistingResources : entryResources;\n const entry = createFile(\n `${stackName}.bicep`,\n stackAst.targetScope,\n selectedResources,\n stackAst,\n true,\n );\n const entryExistingResourceCandidates = getExistingResourceCandidatesForPlan(\n entryPlan,\n stackAst,\n authoredContexts,\n layout,\n );\n resolveFileDependencies(entry.ast, stackAst, entryExistingResourceCandidates);\n return {\n stackAst,\n entry,\n entryAssignedResources: new Set(entryResources),\n modules: [],\n entryExistingResourceCandidates,\n };\n }\n\n if (\n entryResources.size === 0 &&\n deployments.every(\n (plan) => plan.moduleScope === undefined && plan.targetScope === stackAst.targetScope,\n )\n ) {\n const firstTree = deployments[0]!;\n const mergedResources = new Set(deployments.flatMap((plan) => [...plan.resources]));\n const entry = createFile(\n resourceFileName(stackName, firstTree.boundary!),\n stackAst.targetScope,\n mergedResources,\n stackAst,\n true,\n );\n const entryExistingResourceCandidates = getExistingResourceCandidatesForPlan(\n firstTree,\n stackAst,\n authoredContexts,\n layout,\n );\n resolveFileDependencies(entry.ast, stackAst, entryExistingResourceCandidates);\n return {\n stackAst,\n entry,\n entryAssignedResources: mergedResources,\n modules: [],\n entryExistingResourceCandidates,\n };\n }\n\n const modules = deployments.map((plan): PreparedModule => {\n const boundaryIdentifier = plan.boundary!;\n const file = createFile(\n resourceFileName(stackName, boundaryIdentifier),\n plan.targetScope,\n plan.resources,\n stackAst,\n false,\n );\n for (const name of plan.resources) {\n if (authoredContexts.get(name)!.scopeOrigin === \"pass-through-explicit\") {\n continue;\n }\n if (name !== plan.boundary && hasArmParent(name, stackAst.resources, authoredContexts)) {\n continue;\n }\n const node = file.ast.resources.get(name)!;\n file.ast.resources.set(name, removeResourceScope(node));\n }\n resolveFileDependencies(\n file.ast,\n stackAst,\n getExistingResourceCandidatesForPlan(plan, stackAst, authoredContexts, layout),\n );\n return {\n file,\n assignedResources: new Set(plan.resources),\n moduleScope: plan.moduleScope,\n moduleName: stackNamer.moduleName(boundaryIdentifier, file.fileName),\n namer: new BicepNamer(file.ast),\n outputNames: new Map<string, string>(),\n };\n });\n const entry = createFile(\n `${stackName}.bicep`,\n stackAst.targetScope,\n entryResources,\n stackAst,\n true,\n );\n const entryExistingResourceCandidates = getExistingResourceCandidatesForPlan(\n entryPlan,\n stackAst,\n authoredContexts,\n layout,\n );\n resolveFileDependencies(entry.ast, stackAst, entryExistingResourceCandidates);\n return {\n stackAst,\n entry,\n entryAssignedResources: new Set(entryResources),\n modules,\n entryExistingResourceCandidates,\n };\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAYA,4BAAoC;AAEpC,uCAAuD;AACvD,yBAA2B;AAE3B,+BAAwC;AACxC,wBAA6B;AAkC7B,SAAS,WACP,UACA,aACA,mBACA,UACA,gBACmB;AACnB,QAAM,MAAgB;AAAA,IACpB;AAAA,IACA,WAAW,oBAAI,IAAI;AAAA,IACnB,YAAY,oBAAI,IAAI;AAAA,IACpB,WAAW,oBAAI,IAAI;AAAA,IACnB,SAAS,oBAAI,IAAI;AAAA,IACjB,SAAS,IAAI,IAAI,iBAAiB,SAAS,UAAU,CAAC,CAAC;AAAA,EACzD;AACA,aAAW,CAAC,MAAM,QAAQ,KAAK,SAAS,WAAW;AACjD,QAAI,kBAAkB,IAAI,IAAI,EAAG,KAAI,UAAU,IAAI,MAAM,QAAQ;AAAA,EACnE;AACA,SAAO,EAAE,UAAU,aAAa,IAAI;AACtC;AAEA,SAAS,iBAAiB,WAAmB,MAAsB;AACjE,aAAO,gCAAa,WAAW,GAAG,IAAI,QAAQ;AAChD;AAYA,SAAS,qCACP,MACA,UACA,kBACA,QACsC;AACtC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,SAAS,oBAAI,IAAqC;AACxD,aAAW,CAAC,MAAM,QAAQ,KAAK,SAAS,WAAW;AACjD,QAAI,CAAC,sBAAsB,IAAI,IAAI,EAAG;AACtC,QAAI,SAAS,WAAW;AACtB,UAAI,2BAA2B;AAC/B,eACM,WAA+B,MACnC,aAAa,QACb,WAAW,iBAAiB,IAAI,QAAQ,EAAG,gBAC3C;AACA,YAAI,iBAAiB,IAAI,QAAQ,EAAG,gBAAgB,yBAAyB;AAC3E,qCAA2B;AAC3B;AAAA,QACF;AAAA,MACF;AACA,UAAI,yBAA0B;AAAA,IAChC;AAEA,QACE,SAAS,cACR,wCAAwC,IAAI,IAAI,MAAM,KAAK,yBACzD,KAAK,aAAa,UACjB,iBAAiB,IAAI,KAAK,QAAQ,EAAG,gBAAgB,uBACtD,KAAK,0BAA0B,UAAa,KAAK,gBAAgB,UACjE,mCAAmC,IAAI,IAAI,KAC1C,KAAK,0BAA0B,UAC/B,iBAAiB,IAAI,KAAK,qBAAqB,EAAG,gBAAgB,sBACtE;AACA;AAAA,IACF;AACA,QAAI,OAAO;AACX,QACE,SAAS,aACT,CAAC,mCAAmC,IAAI,IAAI,KAC5C,KAAC,+CAAa,MAAM,SAAS,WAAW,gBAAgB,GACxD;AACA,iBAAO,2CAAoB,IAAI;AAAA,IACjC;AACA,WAAO,IAAI,MAAM,IAAI;AAAA,EACvB;AACA,SAAO;AACT;AAEO,SAAS,uBACd,WACA,UACA,kBACA,QACA,YACyB;AACzB,QAAM,EAAE,WAAW,aAAa,sBAAsB,IAAI;AAC1D,QAAM,iBAAiB,UAAU;AACjC,iEAAyB,QAAQ;AAEjC,MAAI,YAAY,WAAW,GAAG;AAC5B,UAAM,oBAAoB,eAAe,SAAS,IAAI,wBAAwB;AAC9E,UAAMA,SAAQ;AAAA,MACZ,GAAG,SAAS;AAAA,MACZ,SAAS;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAMC,mCAAkC;AAAA,MACtC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,0DAAwBD,OAAM,KAAK,UAAUC,gCAA+B;AAC5E,WAAO;AAAA,MACL;AAAA,MACA,OAAAD;AAAA,MACA,wBAAwB,IAAI,IAAI,cAAc;AAAA,MAC9C,SAAS,CAAC;AAAA,MACV,iCAAAC;AAAA,IACF;AAAA,EACF;AAEA,MACE,eAAe,SAAS,KACxB,YAAY;AAAA,IACV,CAAC,SAAS,KAAK,gBAAgB,UAAa,KAAK,gBAAgB,SAAS;AAAA,EAC5E,GACA;AACA,UAAM,YAAY,YAAY,CAAC;AAC/B,UAAM,kBAAkB,IAAI,IAAI,YAAY,QAAQ,CAAC,SAAS,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;AAClF,UAAMD,SAAQ;AAAA,MACZ,iBAAiB,WAAW,UAAU,QAAS;AAAA,MAC/C,SAAS;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAMC,mCAAkC;AAAA,MACtC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,0DAAwBD,OAAM,KAAK,UAAUC,gCAA+B;AAC5E,WAAO;AAAA,MACL;AAAA,MACA,OAAAD;AAAA,MACA,wBAAwB;AAAA,MACxB,SAAS,CAAC;AAAA,MACV,iCAAAC;AAAA,IACF;AAAA,EACF;AAEA,QAAM,UAAU,YAAY,IAAI,CAAC,SAAyB;AACxD,UAAM,qBAAqB,KAAK;AAChC,UAAM,OAAO;AAAA,MACX,iBAAiB,WAAW,kBAAkB;AAAA,MAC9C,KAAK;AAAA,MACL,KAAK;AAAA,MACL;AAAA,MACA;AAAA,IACF;AACA,eAAW,QAAQ,KAAK,WAAW;AACjC,UAAI,iBAAiB,IAAI,IAAI,EAAG,gBAAgB,yBAAyB;AACvE;AAAA,MACF;AACA,UAAI,SAAS,KAAK,gBAAY,+CAAa,MAAM,SAAS,WAAW,gBAAgB,GAAG;AACtF;AAAA,MACF;AACA,YAAM,OAAO,KAAK,IAAI,UAAU,IAAI,IAAI;AACxC,WAAK,IAAI,UAAU,IAAI,UAAM,2CAAoB,IAAI,CAAC;AAAA,IACxD;AACA;AAAA,MACE,KAAK;AAAA,MACL;AAAA,MACA,qCAAqC,MAAM,UAAU,kBAAkB,MAAM;AAAA,IAC/E;AACA,WAAO;AAAA,MACL;AAAA,MACA,mBAAmB,IAAI,IAAI,KAAK,SAAS;AAAA,MACzC,aAAa,KAAK;AAAA,MAClB,YAAY,WAAW,WAAW,oBAAoB,KAAK,QAAQ;AAAA,MACnE,OAAO,IAAI,8BAAW,KAAK,GAAG;AAAA,MAC9B,aAAa,oBAAI,IAAoB;AAAA,IACvC;AAAA,EACF,CAAC;AACD,QAAM,QAAQ;AAAA,IACZ,GAAG,SAAS;AAAA,IACZ,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,QAAM,kCAAkC;AAAA,IACtC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,wDAAwB,MAAM,KAAK,UAAU,+BAA+B;AAC5E,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,wBAAwB,IAAI,IAAI,cAAc;AAAA,IAC9C;AAAA,IACA;AAAA,EACF;AACF;",
6
+ "names": ["entry", "entryExistingResourceCandidates"]
7
+ }
@@ -0,0 +1,3 @@
1
+ import type { PreparedDeploymentFiles } from "./file-preparation.js";
2
+ export declare function wireDeploymentFiles(stackName: string, prepared: PreparedDeploymentFiles): void;
3
+ //# sourceMappingURL=reference-wiring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-wiring.d.ts","sourceRoot":"","sources":["../../../../../src/serialization/bicep/file-layout/reference-wiring.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAY,uBAAuB,EAAkB,MAAM,uBAAuB,CAAC;AAyD/F,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAoL9F"}