canopycms 0.0.61-int.74 → 0.0.61

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 (271) hide show
  1. package/dist/ai/handler.js +1 -1
  2. package/dist/ai/handler.js.map +1 -1
  3. package/dist/api/assets.d.ts.map +1 -1
  4. package/dist/api/assets.js +36 -4
  5. package/dist/api/assets.js.map +1 -1
  6. package/dist/api/branch-status.d.ts.map +1 -1
  7. package/dist/api/branch-status.js +56 -0
  8. package/dist/api/branch-status.js.map +1 -1
  9. package/dist/api/branch-withdraw.d.ts.map +1 -1
  10. package/dist/api/branch-withdraw.js +14 -3
  11. package/dist/api/branch-withdraw.js.map +1 -1
  12. package/dist/api/branch.d.ts +31 -2
  13. package/dist/api/branch.d.ts.map +1 -1
  14. package/dist/api/branch.js +252 -13
  15. package/dist/api/branch.js.map +1 -1
  16. package/dist/api/content.d.ts.map +1 -1
  17. package/dist/api/content.js +12 -4
  18. package/dist/api/content.js.map +1 -1
  19. package/dist/api/entries.d.ts.map +1 -1
  20. package/dist/api/entries.js +11 -9
  21. package/dist/api/entries.js.map +1 -1
  22. package/dist/api/guards.d.ts.map +1 -1
  23. package/dist/api/guards.js +12 -5
  24. package/dist/api/guards.js.map +1 -1
  25. package/dist/api/permissions.d.ts +2 -2
  26. package/dist/api/permissions.d.ts.map +1 -1
  27. package/dist/api/permissions.js +51 -3
  28. package/dist/api/permissions.js.map +1 -1
  29. package/dist/api/reference-options.d.ts.map +1 -1
  30. package/dist/api/reference-options.js +10 -17
  31. package/dist/api/reference-options.js.map +1 -1
  32. package/dist/api/resolve-references.d.ts.map +1 -1
  33. package/dist/api/resolve-references.js +3 -1
  34. package/dist/api/resolve-references.js.map +1 -1
  35. package/dist/api/schema.d.ts.map +1 -1
  36. package/dist/api/schema.js +3 -2
  37. package/dist/api/schema.js.map +1 -1
  38. package/dist/api/settings-helpers.d.ts.map +1 -1
  39. package/dist/api/settings-helpers.js +6 -5
  40. package/dist/api/settings-helpers.js.map +1 -1
  41. package/dist/assets/pipeline.d.ts +11 -2
  42. package/dist/assets/pipeline.d.ts.map +1 -1
  43. package/dist/assets/pipeline.js +114 -2
  44. package/dist/assets/pipeline.js.map +1 -1
  45. package/dist/assets/transform-directives.d.ts +18 -0
  46. package/dist/assets/transform-directives.d.ts.map +1 -1
  47. package/dist/assets/transform-directives.js +18 -0
  48. package/dist/assets/transform-directives.js.map +1 -1
  49. package/dist/assets/transform.d.ts.map +1 -1
  50. package/dist/assets/transform.js +1 -10
  51. package/dist/assets/transform.js.map +1 -1
  52. package/dist/auth/types.d.ts +29 -0
  53. package/dist/auth/types.d.ts.map +1 -1
  54. package/dist/authorization/index.d.ts +1 -1
  55. package/dist/authorization/index.d.ts.map +1 -1
  56. package/dist/authorization/index.js +1 -1
  57. package/dist/authorization/index.js.map +1 -1
  58. package/dist/authorization/protected-branch.d.ts +75 -0
  59. package/dist/authorization/protected-branch.d.ts.map +1 -1
  60. package/dist/authorization/protected-branch.js +39 -0
  61. package/dist/authorization/protected-branch.js.map +1 -1
  62. package/dist/branch-registry.d.ts.map +1 -1
  63. package/dist/branch-registry.js +5 -1
  64. package/dist/branch-registry.js.map +1 -1
  65. package/dist/branch-schema-cache.d.ts.map +1 -1
  66. package/dist/branch-schema-cache.js +9 -0
  67. package/dist/branch-schema-cache.js.map +1 -1
  68. package/dist/build/generate-ai-content.js +1 -1
  69. package/dist/build/generate-ai-content.js.map +1 -1
  70. package/dist/cli/cli.js +1442 -828
  71. package/dist/cli/generate-ai-content.js +404 -136
  72. package/dist/cli/init.d.ts +8 -2
  73. package/dist/cli/init.d.ts.map +1 -1
  74. package/dist/cli/init.js +440 -151
  75. package/dist/cli/init.js.map +1 -1
  76. package/dist/cli/project-detect.d.ts +89 -0
  77. package/dist/cli/project-detect.d.ts.map +1 -0
  78. package/dist/cli/project-detect.js +240 -0
  79. package/dist/cli/project-detect.js.map +1 -0
  80. package/dist/cli/template-files/Dockerfile.cms.template +11 -6
  81. package/dist/cli/template-files/cdk-app.ts.template +82 -0
  82. package/dist/cli/template-files/cdk.json.template +9 -0
  83. package/dist/cli/template-files/cms-stack.ts.template +124 -0
  84. package/dist/cli/template-files/deploy-cms.yml.template +125 -13
  85. package/dist/cli/template-files/dockerignore.template +2 -1
  86. package/dist/cli/templates.d.ts +26 -2
  87. package/dist/cli/templates.d.ts.map +1 -1
  88. package/dist/cli/templates.js +36 -4
  89. package/dist/cli/templates.js.map +1 -1
  90. package/dist/config/schemas/config.d.ts +2 -3
  91. package/dist/config/schemas/config.d.ts.map +1 -1
  92. package/dist/config/schemas/config.js +21 -1
  93. package/dist/config/schemas/config.js.map +1 -1
  94. package/dist/config/validation.d.ts +9 -0
  95. package/dist/config/validation.d.ts.map +1 -1
  96. package/dist/config/validation.js +22 -12
  97. package/dist/config/validation.js.map +1 -1
  98. package/dist/content-reader.js +1 -1
  99. package/dist/content-reader.js.map +1 -1
  100. package/dist/content-store.d.ts +11 -0
  101. package/dist/content-store.d.ts.map +1 -1
  102. package/dist/content-store.js +2 -1
  103. package/dist/content-store.js.map +1 -1
  104. package/dist/dev-content-watcher.d.ts.map +1 -1
  105. package/dist/dev-content-watcher.js +4 -1
  106. package/dist/dev-content-watcher.js.map +1 -1
  107. package/dist/editor/BranchManager.d.ts +15 -0
  108. package/dist/editor/BranchManager.d.ts.map +1 -1
  109. package/dist/editor/BranchManager.js +43 -9
  110. package/dist/editor/BranchManager.js.map +1 -1
  111. package/dist/editor/CanopyEditor.d.ts.map +1 -1
  112. package/dist/editor/CanopyEditor.js +2 -2
  113. package/dist/editor/CanopyEditor.js.map +1 -1
  114. package/dist/editor/Editor.d.ts.map +1 -1
  115. package/dist/editor/Editor.js +110 -48
  116. package/dist/editor/Editor.js.map +1 -1
  117. package/dist/editor/admin/SystemHealthPanel.d.ts.map +1 -1
  118. package/dist/editor/admin/SystemHealthPanel.js +9 -8
  119. package/dist/editor/admin/SystemHealthPanel.js.map +1 -1
  120. package/dist/editor/components/EditorHeader.d.ts +6 -0
  121. package/dist/editor/components/EditorHeader.d.ts.map +1 -1
  122. package/dist/editor/components/EditorHeader.js +76 -23
  123. package/dist/editor/components/EditorHeader.js.map +1 -1
  124. package/dist/editor/components/EntryCreateModal.d.ts.map +1 -1
  125. package/dist/editor/components/EntryCreateModal.js +21 -6
  126. package/dist/editor/components/EntryCreateModal.js.map +1 -1
  127. package/dist/editor/context/SWRProvider.d.ts +31 -0
  128. package/dist/editor/context/SWRProvider.d.ts.map +1 -0
  129. package/dist/editor/context/SWRProvider.js +12 -0
  130. package/dist/editor/context/SWRProvider.js.map +1 -0
  131. package/dist/editor/context/index.d.ts +3 -0
  132. package/dist/editor/context/index.d.ts.map +1 -1
  133. package/dist/editor/context/index.js +3 -0
  134. package/dist/editor/context/index.js.map +1 -1
  135. package/dist/editor/editor-utils.d.ts.map +1 -1
  136. package/dist/editor/editor-utils.js +8 -2
  137. package/dist/editor/editor-utils.js.map +1 -1
  138. package/dist/editor/fields/ImageField.d.ts.map +1 -1
  139. package/dist/editor/fields/ImageField.js +27 -3
  140. package/dist/editor/fields/ImageField.js.map +1 -1
  141. package/dist/editor/fields/ReferenceField.d.ts.map +1 -1
  142. package/dist/editor/fields/ReferenceField.js +52 -31
  143. package/dist/editor/fields/ReferenceField.js.map +1 -1
  144. package/dist/editor/hooks/__test__/test-utils.d.ts +38 -3
  145. package/dist/editor/hooks/__test__/test-utils.d.ts.map +1 -1
  146. package/dist/editor/hooks/__test__/test-utils.js +50 -4
  147. package/dist/editor/hooks/__test__/test-utils.js.map +1 -1
  148. package/dist/editor/hooks/index.d.ts +4 -1
  149. package/dist/editor/hooks/index.d.ts.map +1 -1
  150. package/dist/editor/hooks/index.js +4 -1
  151. package/dist/editor/hooks/index.js.map +1 -1
  152. package/dist/editor/hooks/useBranchManager.d.ts +21 -1
  153. package/dist/editor/hooks/useBranchManager.d.ts.map +1 -1
  154. package/dist/editor/hooks/useBranchManager.js +68 -32
  155. package/dist/editor/hooks/useBranchManager.js.map +1 -1
  156. package/dist/editor/hooks/useBranchesData.d.ts +57 -0
  157. package/dist/editor/hooks/useBranchesData.d.ts.map +1 -0
  158. package/dist/editor/hooks/useBranchesData.js +69 -0
  159. package/dist/editor/hooks/useBranchesData.js.map +1 -0
  160. package/dist/editor/hooks/useCommentSystem.d.ts.map +1 -1
  161. package/dist/editor/hooks/useCommentSystem.js +24 -22
  162. package/dist/editor/hooks/useCommentSystem.js.map +1 -1
  163. package/dist/editor/hooks/useCommentsData.d.ts +29 -0
  164. package/dist/editor/hooks/useCommentsData.d.ts.map +1 -0
  165. package/dist/editor/hooks/useCommentsData.js +40 -0
  166. package/dist/editor/hooks/useCommentsData.js.map +1 -0
  167. package/dist/editor/hooks/useDraftManager.d.ts.map +1 -1
  168. package/dist/editor/hooks/useDraftManager.js +32 -18
  169. package/dist/editor/hooks/useDraftManager.js.map +1 -1
  170. package/dist/editor/hooks/useEntriesData.d.ts +35 -0
  171. package/dist/editor/hooks/useEntriesData.d.ts.map +1 -0
  172. package/dist/editor/hooks/useEntriesData.js +96 -0
  173. package/dist/editor/hooks/useEntriesData.js.map +1 -0
  174. package/dist/editor/hooks/useEntryManager.d.ts +8 -15
  175. package/dist/editor/hooks/useEntryManager.d.ts.map +1 -1
  176. package/dist/editor/hooks/useEntryManager.js +259 -117
  177. package/dist/editor/hooks/useEntryManager.js.map +1 -1
  178. package/dist/editor/hooks/usePermissionManager.d.ts +2 -2
  179. package/dist/editor/hooks/usePermissionManager.d.ts.map +1 -1
  180. package/dist/editor/hooks/usePermissionManager.js +11 -9
  181. package/dist/editor/hooks/usePermissionManager.js.map +1 -1
  182. package/dist/editor/hooks/useReferenceResolution.d.ts.map +1 -1
  183. package/dist/editor/hooks/useReferenceResolution.js +24 -1
  184. package/dist/editor/hooks/useReferenceResolution.js.map +1 -1
  185. package/dist/editor/media/MediaLibraryBody.d.ts.map +1 -1
  186. package/dist/editor/media/MediaLibraryBody.js +12 -2
  187. package/dist/editor/media/MediaLibraryBody.js.map +1 -1
  188. package/dist/editor/permission-manager/GroupSelector.d.ts.map +1 -1
  189. package/dist/editor/permission-manager/GroupSelector.js +7 -2
  190. package/dist/editor/permission-manager/GroupSelector.js.map +1 -1
  191. package/dist/editor/permission-manager/hooks/useGroupsAndUsers.d.ts +3 -3
  192. package/dist/editor/permission-manager/hooks/useGroupsAndUsers.d.ts.map +1 -1
  193. package/dist/editor/permission-manager/hooks/useGroupsAndUsers.js +1 -0
  194. package/dist/editor/permission-manager/hooks/useGroupsAndUsers.js.map +1 -1
  195. package/dist/editor/permission-manager/types.d.ts +6 -4
  196. package/dist/editor/permission-manager/types.d.ts.map +1 -1
  197. package/dist/editor/test-setup.js +8 -0
  198. package/dist/editor/test-setup.js.map +1 -1
  199. package/dist/git-manager.d.ts +126 -9
  200. package/dist/git-manager.d.ts.map +1 -1
  201. package/dist/git-manager.js +251 -27
  202. package/dist/git-manager.js.map +1 -1
  203. package/dist/github-service.d.ts.map +1 -1
  204. package/dist/github-service.js +13 -7
  205. package/dist/github-service.js.map +1 -1
  206. package/dist/http/handler.d.ts.map +1 -1
  207. package/dist/http/handler.js +8 -2
  208. package/dist/http/handler.js.map +1 -1
  209. package/dist/operating-mode/client-unsafe-strategy.d.ts.map +1 -1
  210. package/dist/operating-mode/client-unsafe-strategy.js +7 -8
  211. package/dist/operating-mode/client-unsafe-strategy.js.map +1 -1
  212. package/dist/operating-mode/deployment-name.d.ts +28 -0
  213. package/dist/operating-mode/deployment-name.d.ts.map +1 -0
  214. package/dist/operating-mode/deployment-name.js +78 -0
  215. package/dist/operating-mode/deployment-name.js.map +1 -0
  216. package/dist/operating-mode/index.d.ts +5 -1
  217. package/dist/operating-mode/index.d.ts.map +1 -1
  218. package/dist/operating-mode/index.js +7 -1
  219. package/dist/operating-mode/index.js.map +1 -1
  220. package/dist/operating-mode/types.d.ts +13 -3
  221. package/dist/operating-mode/types.d.ts.map +1 -1
  222. package/dist/paths/branch-name.d.ts +38 -0
  223. package/dist/paths/branch-name.d.ts.map +1 -1
  224. package/dist/paths/branch-name.js +46 -0
  225. package/dist/paths/branch-name.js.map +1 -1
  226. package/dist/paths/index.d.ts +1 -1
  227. package/dist/paths/index.d.ts.map +1 -1
  228. package/dist/paths/index.js +1 -1
  229. package/dist/paths/index.js.map +1 -1
  230. package/dist/reference-resolver.d.ts +6 -2
  231. package/dist/reference-resolver.d.ts.map +1 -1
  232. package/dist/reference-resolver.js +8 -1
  233. package/dist/reference-resolver.js.map +1 -1
  234. package/dist/schema/meta-loader.d.ts.map +1 -1
  235. package/dist/schema/meta-loader.js +10 -2
  236. package/dist/schema/meta-loader.js.map +1 -1
  237. package/dist/schema/schema-store.d.ts +11 -2
  238. package/dist/schema/schema-store.d.ts.map +1 -1
  239. package/dist/schema/schema-store.js +23 -11
  240. package/dist/schema/schema-store.js.map +1 -1
  241. package/dist/settings-workspace.d.ts +0 -15
  242. package/dist/settings-workspace.d.ts.map +1 -1
  243. package/dist/settings-workspace.js +97 -1
  244. package/dist/settings-workspace.js.map +1 -1
  245. package/dist/types.d.ts +63 -2
  246. package/dist/types.d.ts.map +1 -1
  247. package/dist/utils/debug.d.ts +11 -0
  248. package/dist/utils/debug.d.ts.map +1 -1
  249. package/dist/utils/debug.js +12 -1
  250. package/dist/utils/debug.js.map +1 -1
  251. package/dist/utils/git.d.ts +38 -0
  252. package/dist/utils/git.d.ts.map +1 -1
  253. package/dist/utils/git.js +69 -0
  254. package/dist/utils/git.js.map +1 -1
  255. package/dist/utils/logger.d.ts +71 -0
  256. package/dist/utils/logger.d.ts.map +1 -0
  257. package/dist/utils/logger.js +85 -0
  258. package/dist/utils/logger.js.map +1 -0
  259. package/dist/validation/entry-type-reference-validator.d.ts +33 -0
  260. package/dist/validation/entry-type-reference-validator.d.ts.map +1 -0
  261. package/dist/validation/entry-type-reference-validator.js +110 -0
  262. package/dist/validation/entry-type-reference-validator.js.map +1 -0
  263. package/dist/worker/cms-worker.d.ts +232 -3
  264. package/dist/worker/cms-worker.d.ts.map +1 -1
  265. package/dist/worker/cms-worker.js +856 -87
  266. package/dist/worker/cms-worker.js.map +1 -1
  267. package/dist/worker/log.d.ts +61 -0
  268. package/dist/worker/log.d.ts.map +1 -0
  269. package/dist/worker/log.js +74 -0
  270. package/dist/worker/log.js.map +1 -0
  271. package/package.json +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACjC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,8BAA8B,EAAmB,MAAM,gBAAgB,CAAA;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAwBjE;;;GAGG;AACH,KAAK,UAAU,SAAS,CACtB,QAAgB,EAChB,OAAe,EACf,OAAoD;IAEpD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAA;IAE3D,IAAI,MAAM,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,oCAAoC;QACtC,CAAC;aAAM,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAClC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,YAAY,mBAAmB,CAAC,CAAA;YACpD,OAAO,KAAK,CAAA;QACd,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC;gBAChC,OAAO,EAAE,GAAG,YAAY,6BAA6B;gBACrD,YAAY,EAAE,KAAK;aACpB,CAAC,CAAA;YACF,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACxC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,YAAY,EAAE,CAAC,CAAA;gBACnC,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3D,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAC9C,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,YAAY,EAAE,CAAC,CAAA;IACzC,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,MAAc,EAAE,OAAe;IACvD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAA;IACzD,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAA;IACrC,OAAO,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,kBAAkB,CAAA;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,OAAoB;IAC7C,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,OAAO,CAAA;IACvE,MAAM,SAAS,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,CAAA;IAC3C,MAAM,EACJ,eAAe,EACf,aAAa,EACb,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,UAAU,EACV,UAAU,GACX,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;IAE/B,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;IAEzB,2BAA2B;IAC3B,IAAI,YAA0B,CAAA;IAC9B,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,YAAY,GAAG,OAAO,CAAC,YAAY,CAAA;IACrC,CAAC;SAAM,IAAI,cAAc,EAAE,CAAC;QAC1B,YAAY,GAAG,KAAK,CAAA;IACtB,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC;YAC5B,OAAO,EAAE,iDAAiD;YAC1D,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,0CAA0C,EAAE;gBACrE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE;aACzC;YACD,YAAY,EAAE,KAAqB;SACpC,CAAC,CAAA;QACF,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;YAC1B,OAAM;QACR,CAAC;QACD,YAAY,GAAG,MAAM,CAAA;IACvB,CAAC;IAED,0BAA0B;IAC1B,IAAI,WAAoB,CAAA;IACxB,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACtC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAA;IACnC,CAAC;SAAM,IAAI,cAAc,EAAE,CAAC;QAC1B,WAAW,GAAG,KAAK,CAAA;IACrB,CAAC;SAAM,CAAC;QACN,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC;YAC7B,OAAO,EAAE,kEAAkE;YAC3E,YAAY,EAAE,KAAK;SACpB,CAAC,CAAA;QACF,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;YAC1B,OAAM;QACR,CAAC;QACD,WAAW,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,yEAAyE;IACzE,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAA;IAClE,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAA;IAEnE,iBAAiB;IACjB,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,qBAAqB,CAAC,EAC5C,MAAM,eAAe,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAC5C,SAAS,CACV,CAAA;IACD,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,EAC9C,MAAM,aAAa,CAAC,EAAE,YAAY,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAChF,SAAS,CACV,CAAA;IACD,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,eAAe,EAAE,EAAE,SAAS,CAAC,CAAA;IAChG,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,gCAAgC,cAAc,EAAE,CAAC,EAC/E,MAAM,QAAQ,CAAC;QACb,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,YAAY;KAC7C,CAAC,EACF,SAAS,CACV,CAAA;IACD,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,aAAa,EAAE,CAAC,EACtD,MAAM,QAAQ,CAAC,EAAE,YAAY,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAC3E,SAAS,CACV,CAAA;IACD,IAAI,EAAE,EAAE,CAAC;QACP,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAA;QAC3F,gGAAgG;QAChG,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,gBAAgB,cAAc,EAAE,CAAC,EAC/D,MAAM,OAAO,CAAC,EAAE,YAAY,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAC5D,SAAS,CACV,CAAA;IACH,CAAC;IACD,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,EACvC,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC,EACjC,SAAS,CACV,CAAA;IACD,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,EACtC,MAAM,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC,EAClC,SAAS,CACV,CAAA;IAED,oBAAoB;IACpB,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAA;IACzD,IAAI,MAAM,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;QACzD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACrC,MAAM,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,+BAA+B,CAAC,CAAA;YACnE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GACZ,YAAY,KAAK,OAAO;QACtB,CAAC,CAAC,kEAAkE;QACpE,CAAC,CAAC,6CAA6C,CAAA;IAEnD,CAAC,CAAC,IAAI,CACJ;QACE,0BAA0B;QAC1B,kBAAkB,QAAQ,EAAE;QAC5B,EAAE;QACF,eAAe,GAAG,MAAM,GAAG,sCAAsC;QACjE,EAAE;QACF,qBAAqB;QACrB,sCAAsC;QACtC,GAAG,CAAC,WAAW;YACb,CAAC,CAAC;gBACE,EAAE;gBACF,sBAAsB;gBACtB,+DAA+D;gBAC/D,2DAA2D;aAC5D;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,YAAY,CACb,CAAA;IAED,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;AAClB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAA0B;IAC5D,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,OAAO,CAAA;IACrD,MAAM,SAAS,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,CAAA;IAC3C,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,GACjF,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;IAC7B,MAAM,EACJ,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,sBAAsB,EACtB,gBAAgB,GACjB,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;IAEpC,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAEpC,2EAA2E;IAC3E,2EAA2E;IAC3E,6DAA6D;IAC7D,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAA;IAC7D,MAAM,EAAE,GAAG,WAAW,CAAC,cAAc,CAAC,CAAA;IACtC,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAC3D,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,UAAU,CAAC,CAAA;IAE/C,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,EACvC,MAAM,aAAa,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,EACxF,SAAS,CACV,CAAA;IACD,MAAM,mBAAmB,GAAG,MAAM,SAAS,CACzC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,EACtC,MAAM,YAAY,EAAE,EACpB,SAAS,CACV,CAAA;IACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,CAAC,CAAC,GAAG,CAAC,IAAI,CACR,kFAAkF;YAChF,uEAAuE;YACvE,+CAA+C,CAClD,CAAA;IACH,CAAC;IACD,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,kCAAkC,CAAC,EACzD,MAAM,iBAAiB,CAAC;QACtB,aAAa;QACb,QAAQ,EAAE,EAAE,CAAC,QAAQ;QACrB,SAAS,EAAE,EAAE,CAAC,SAAS;QACvB,MAAM,EAAE,EAAE,CAAC,MAAM;KAClB,CAAC,EACF,SAAS,CACV,CAAA;IAED,yEAAyE;IACzE,yEAAyE;IACzE,2EAA2E;IAC3E,mCAAmC;IACnC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IACrD,MAAM,eAAe,GAAG,CAAC,MAAM,cAAc,CAAC,WAAW,CAAC,CAAC;QACzD,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;QACzC,CAAC,CAAC,IAAI,CAAA;IACR,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE,MAAM,OAAO,EAAE,EAAE,SAAS,CAAC,CAAA;IAE/E,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,2BAA2B,CAAC,EAClD,MAAM,MAAM,CAAC;QACX,WAAW,EAAE,IAAI,EAAE,KAAK,IAAI,UAAU;QACtC,UAAU,EAAE,IAAI,EAAE,IAAI,IAAI,gBAAgB;KAC3C,CAAC,EACF,SAAS,CACV,CAAA;IACD,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,iCAAiC,CAAC,EACxD,MAAM,QAAQ,EAAE,EAChB,SAAS,CACV,CAAA;IAED,6EAA6E;IAC7E,6EAA6E;IAC7E,4EAA4E;IAC5E,wEAAwE;IACxE,IACE,CAAC,cAAc;QACf,eAAe;QACf,CAAC,eAAe,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EACtD,CAAC;QACD,CAAC,CAAC,GAAG,CAAC,IAAI,CACR,mFAAmF;YACjF,kFAAkF;YAClF,0DAA0D,CAC7D,CAAA;IACH,CAAC;IAED,wDAAwD;IACxD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAA;IAC9D,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAA;IAClE,MAAM,UAAU,GAAG,CAAC,MAAM,cAAc,CAAC,cAAc,CAAC,CAAC;QACvD,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,iBAAiB,CAAC,CAAC;YACzC,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,IAAI,CAAA;IAEV,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACtD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACtC,CAAC,CAAC,IAAI,CACJ;gBACE,6BAA6B,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG;gBACzD,EAAE;gBACF,yEAAyE;aAC1E,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,aAAa,CACd,CAAA;QACH,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,6EAA6E;IAC7E,2EAA2E;IAC3E,qEAAqE;IACrE,IAAI,cAAc,KAAK,MAAM,IAAI,cAAc,KAAK,YAAY,EAAE,CAAC;QACjE,CAAC,CAAC,GAAG,CAAC,IAAI,CACR,kBAAkB,cAAc,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,mBAAmB;YACxF,yFAAyF;YACzF,yDAAyD;YACzD,CAAC,cAAc,KAAK,YAAY;gBAC9B,CAAC,CAAC,kFAAkF;oBAClF,uEAAuE;gBACzE,CAAC,CAAC,EAAE,CAAC,CACV,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,UAAU,CAAC,CAAA;IACxD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,yEAAyE;QACzE,wDAAwD;QACxD,CAAC,CAAC,GAAG,CAAC,IAAI,CACR,kBAAkB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB;YACpD,oFAAoF;YACpF,MAAM,EAAE,CAAC,MAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAClD,CAAA;IACH,CAAC;IAED,CAAC,CAAC,IAAI,CACJ;QACE,4DAA4D;QAC5D,MAAM,EAAE,CAAC,MAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAC/C,EAAE;QACF,0EAA0E;QAC1E,oCAAoC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,yBAAyB,GAAG;QACtG,EAAE;QACF,8DAA8D;QAC9D,EAAE;QACF,kEAAkE;QAClE,+EAA+E;QAC/E,EAAE;QACF,iCAAiC,aAAa,sCAAsC;QACpF,EAAE;QACF,4CAA4C;KAC7C,CAAC,IAAI,CAAC,IAAI,CAAC,EACZ,gBAAgB,CACjB,CAAA;IAED,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;AAClB,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,KAAK,UAAU,UAAU,CAAC,UAAkB;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAA;IAE5D,sDAAsD;IACtD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,eAAe,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAA;QACtC,MAAM,GAAG,CAAA;IACX,CAAC;IAED,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACxC,IAAI,YAAqC,CAAA;IACzC,IAAI,CAAC;QACH,YAAY,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAA4B,CAAA;IACxE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,sCAAsC,OAAO,KAAK,eAAe,CAAC,GAAG,CAAC,IAAI;YACxE,yEAAyE;YACzE,gFAAgF,CACnF,CAAA;IACH,CAAC;IAED,2FAA2F;IAC3F,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,MAAM,IAAI,YAAY,CAAA;IAChF,MAAM,YAAY,GAChB,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,IAAI,IAAI,QAAQ,IAAI,YAAY;QACnF,CAAC,CAAE,YAAoC,CAAC,MAAM;QAC9C,CAAC,CAAC,YAAY,CAAA;IAElB,IACE,CAAC,YAAY;QACb,OAAO,YAAY,KAAK,QAAQ;QAChC,CAAC,CAAC,MAAM,IAAI,YAAY,CAAC;QACzB,OAAQ,YAAkC,CAAC,IAAI,KAAK,QAAQ,EAC5D,CAAC;QACD,MAAM,IAAI,KAAK,CACb,+BAA+B,OAAO,yCAAyC;YAC7E,mEAAmE,CACtE,CAAA;IACH,CAAC;IAED,MAAM,IAAI,GAAI,YAAiC,CAAC,IAAI,CAAA;IACpD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,+BAA+B,OAAO,wCAAwC,IAAI,IAAI,CACvF,CAAA;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAGnC;IACC,8DAA8D;IAC9D,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAA;IAEvE,kFAAkF;IAClF,qFAAqF;IACrF,mFAAmF;IACnF,mFAAmF;IACnF,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAEjD,qFAAqF;IACrF,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,8BAA8B,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IAC1D,CAAC;IAED,MAAM,OAAO,GAAG,eAAe,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAEzC,uDAAuD;IACvD,MAAM,SAAS,GACb,OAAO,CAAC,GAAG,CAAC,sBAAsB;QAClC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAA;IAEnF,IAAI,gBAAmD,CAAA;IACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,KAAK,CAAA;IAEtD,IAAI,OAAO,CAAC,UAAU,EAAE,oBAAoB,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAA;QACpE,IAAI,SAAS,EAAE,CAAC;YACd,gBAAgB,GAAG,KAAK,IAAI,EAAE;gBAC5B,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAA;gBAChC,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,SAAS,WAAW,MAAM,CAAC,UAAU,SAAS,CAAC,CAAA;YACzE,CAAC,CAAA;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,sCAAsC,IAAI,WAAW,QAAQ,KAAK,CAAC,CAAA;IAE/E,yEAAyE;IACzE,4EAA4E;IAC5E,yEAAyE;IACzE,iEAAiE;IACjE,uDAAuD;IACvD,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;QACvC,IAAI,CAAC;YACH,MAAM,gBAAgB,EAAE,CAAA;YACxB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;QACrC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,6BAA6B,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAClE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACtB,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAA;IAErF,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,iFAAiF;QACjF,0EAA0E;QAC1E,iFAAiF;QACjF,+EAA+E;QAC/E,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QACnD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,uBAAuB,OAAO,CAAC,MAAM,yDAAyD;gBAC5F,yDAAyD,CAC5D,CAAA;QACH,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;IACjC,CAAC;SAAM,CAAC;QACN,wEAAwE;QACxE,IAAI,SAAS,GAAG,CAAC,CAAA;QACjB,IAAI,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAA;QACrC,OAAO,IAAI,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;YAC3D,OAAO,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAA;YAC1F,MAAM,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;YACvD,SAAS,EAAE,CAAA;YACX,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAA;QACnC,CAAC;QACD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAClB,OAAO,CAAC,GAAG,CAAC,aAAa,SAAS,UAAU,CAAC,CAAA;QAC/C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AACvB,CAAC"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Detection of adopter-project facts that `init-deploy aws` bakes into the
3
+ * generated deployment artifacts.
4
+ *
5
+ * Everything here is best-effort by design: `init-deploy aws` must never fail
6
+ * because a project has no git remote, no lockfile, or no git binary at all.
7
+ * Each detector falls back to the value the templates used before detection
8
+ * existed, so an npm project in a `main`-default repo gets byte-identical
9
+ * output to what shipped previously.
10
+ */
11
+ export type PackageManager = 'npm' | 'pnpm' | 'yarn' | 'yarn-berry';
12
+ /**
13
+ * The package-manager-specific command and file strings the deployment
14
+ * templates need.
15
+ *
16
+ * These reach two very different places -- a GitHub Actions step and a
17
+ * Dockerfile layer -- so they are kept together: a `Dockerfile.cms` that
18
+ * installs with npm while the workflow installs with pnpm is exactly the
19
+ * half-fix that moves a failure rather than removing it.
20
+ */
21
+ export interface PackageManagerCommands {
22
+ /** Lockfile that identifies this manager, for the workflow's `paths:` filter. */
23
+ lockfile: string;
24
+ /** Install step for CI (runs after actions/setup-node). */
25
+ ciInstall: string;
26
+ /** Dockerfile COPY line bringing the manifest + lockfile into the build. */
27
+ dockerCopy: string;
28
+ /** Dockerfile install line. */
29
+ dockerInstall: string;
30
+ /** How this manager runs the app's build script. */
31
+ build: string;
32
+ /** How this manager adds dev dependencies, for the next-steps note. */
33
+ addDev: string;
34
+ }
35
+ export declare function commandsFor(manager: PackageManager): PackageManagerCommands;
36
+ /**
37
+ * Identify the adopter's package manager.
38
+ *
39
+ * `packageManager` (the corepack field) wins when present -- it is the
40
+ * declared intent. Otherwise the lockfile decides. With neither, we return
41
+ * 'npm', which is what every template hardcoded before this existed.
42
+ *
43
+ * Yarn is split into classic vs Berry because the two need different install
44
+ * flags and a different Docker build context, and `yarn.lock`'s *name* cannot
45
+ * tell them apart -- only its first lines can.
46
+ */
47
+ export declare function detectPackageManager(projectDir: string): Promise<PackageManager>;
48
+ /**
49
+ * The branch the deploy workflow should trigger on.
50
+ *
51
+ * Only `origin/HEAD` counts. The obvious-looking fallback -- "use the branch
52
+ * that's checked out" -- would be worse than the hardcoded `main` it replaces:
53
+ * an adopter scaffolding from a setup branch would get
54
+ * `branches: [add-cms]` baked into the workflow, so the deploy would go quiet
55
+ * the moment that branch merged. That silent-trigger failure is the exact LOW
56
+ * this detection exists to fix, so we do not reintroduce it in a
57
+ * harder-to-predict form.
58
+ */
59
+ export declare function detectDefaultBranch(projectDir: string): Promise<string>;
60
+ export interface GitHubRepo {
61
+ owner: string;
62
+ repo: string;
63
+ }
64
+ /**
65
+ * Owner/repo from the `origin` remote, for the generated stack's worker
66
+ * config. Supports both SSH (`git@github.com:owner/repo.git`) and HTTPS
67
+ * (`https://github.com/owner/repo`) forms.
68
+ */
69
+ export declare function detectGitHubRepo(projectDir: string): Promise<GitHubRepo | null>;
70
+ type PackageJson = Record<string, unknown>;
71
+ /** Read the adopter's package.json, or null when absent/unparseable. */
72
+ export declare function readPackageJson(projectDir: string): Promise<PackageJson | null>;
73
+ /**
74
+ * Dependencies the generated CDK app needs at deploy time.
75
+ *
76
+ * `cdk.json` runs `node --import tsx infrastructure/bin/app.ts`, which imports
77
+ * `canopycms-cdk` / `aws-cdk-lib` / `constructs`; CI resolves `cdk` itself
78
+ * through `npx`, but pinning it is what makes a deploy reproducible.
79
+ */
80
+ export declare const CDK_DEPENDENCIES: readonly ["canopycms-cdk", "aws-cdk-lib", "constructs", "tsx", "aws-cdk"];
81
+ /**
82
+ * Which of {@link CDK_DEPENDENCIES} are missing from the adopter's manifest.
83
+ *
84
+ * Returns them all when there is no package.json to read: a project with no
85
+ * manifest certainly has none of them installed.
86
+ */
87
+ export declare function missingCdkDependencies(projectDir: string): Promise<string[]>;
88
+ export {};
89
+ //# sourceMappingURL=project-detect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-detect.d.ts","sourceRoot":"","sources":["../../src/cli/project-detect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,CAAA;AAEnE;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACrC,iFAAiF;IACjF,QAAQ,EAAE,MAAM,CAAA;IAChB,2DAA2D;IAC3D,SAAS,EAAE,MAAM,CAAA;IACjB,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAA;IAClB,+BAA+B;IAC/B,aAAa,EAAE,MAAM,CAAA;IACrB,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAA;IACb,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAA;CACf;AAqCD,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,sBAAsB,CAE3E;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAWtF;AAsED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ7E;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAOrF;AAmBD,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE1C,wEAAwE;AACxE,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAQrF;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,2EAMnB,CAAA;AAEV;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAUlF"}
@@ -0,0 +1,240 @@
1
+ /**
2
+ * Detection of adopter-project facts that `init-deploy aws` bakes into the
3
+ * generated deployment artifacts.
4
+ *
5
+ * Everything here is best-effort by design: `init-deploy aws` must never fail
6
+ * because a project has no git remote, no lockfile, or no git binary at all.
7
+ * Each detector falls back to the value the templates used before detection
8
+ * existed, so an npm project in a `main`-default repo gets byte-identical
9
+ * output to what shipped previously.
10
+ */
11
+ import fs from 'node:fs/promises';
12
+ import path from 'node:path';
13
+ import { simpleGit } from 'simple-git';
14
+ import { filePathExists } from '../utils/fs.js';
15
+ const COMMANDS = {
16
+ npm: {
17
+ lockfile: 'package-lock.json',
18
+ ciInstall: 'npm ci',
19
+ dockerCopy: 'COPY package*.json ./',
20
+ dockerInstall: 'RUN npm ci',
21
+ build: 'npm run build',
22
+ addDev: 'npm install --save-dev',
23
+ },
24
+ pnpm: {
25
+ lockfile: 'pnpm-lock.yaml',
26
+ ciInstall: 'corepack enable && pnpm install --frozen-lockfile',
27
+ dockerCopy: 'COPY package.json pnpm-lock.yaml ./',
28
+ dockerInstall: 'RUN corepack enable && pnpm install --frozen-lockfile',
29
+ build: 'pnpm run build',
30
+ addDev: 'pnpm add -D',
31
+ },
32
+ yarn: {
33
+ lockfile: 'yarn.lock',
34
+ ciInstall: 'corepack enable && yarn install --frozen-lockfile',
35
+ dockerCopy: 'COPY package.json yarn.lock ./',
36
+ dockerInstall: 'RUN corepack enable && yarn install --frozen-lockfile',
37
+ build: 'yarn build',
38
+ addDev: 'yarn add -D',
39
+ },
40
+ 'yarn-berry': {
41
+ lockfile: 'yarn.lock',
42
+ ciInstall: 'corepack enable && yarn install --immutable',
43
+ dockerCopy: 'COPY package.json yarn.lock .yarnrc.yml ./',
44
+ dockerInstall: 'RUN corepack enable && yarn install --immutable',
45
+ build: 'yarn build',
46
+ addDev: 'yarn add -D',
47
+ },
48
+ };
49
+ export function commandsFor(manager) {
50
+ return COMMANDS[manager];
51
+ }
52
+ /**
53
+ * Identify the adopter's package manager.
54
+ *
55
+ * `packageManager` (the corepack field) wins when present -- it is the
56
+ * declared intent. Otherwise the lockfile decides. With neither, we return
57
+ * 'npm', which is what every template hardcoded before this existed.
58
+ *
59
+ * Yarn is split into classic vs Berry because the two need different install
60
+ * flags and a different Docker build context, and `yarn.lock`'s *name* cannot
61
+ * tell them apart -- only its first lines can.
62
+ */
63
+ export async function detectPackageManager(projectDir) {
64
+ for (const dir of await workspaceSearchPath(projectDir)) {
65
+ const declared = await readDeclaredPackageManager(dir);
66
+ if (declared)
67
+ return declared;
68
+ if (await filePathExists(path.join(dir, 'pnpm-lock.yaml')))
69
+ return 'pnpm';
70
+ if (await filePathExists(path.join(dir, 'yarn.lock'))) {
71
+ return (await isYarnBerryLockfile(dir)) ? 'yarn-berry' : 'yarn';
72
+ }
73
+ }
74
+ return 'npm';
75
+ }
76
+ /** Hard stop on the upward walk, so a pathological tree cannot climb forever. */
77
+ const MAX_WORKSPACE_DEPTH = 8;
78
+ /**
79
+ * Directories to consult for package-manager evidence, nearest first.
80
+ *
81
+ * Normally just `projectDir`. The exception is a monorepo: in a pnpm/npm/yarn
82
+ * workspace the lockfile and `packageManager` field live at the repo root,
83
+ * while the Next.js app -- the directory an adopter naturally runs
84
+ * `init-deploy aws` in, because that is where `canopycms init` told them to
85
+ * run -- is `apps/site` and has neither. Looking only at `projectDir` there
86
+ * returns 'npm' for a pnpm repo and writes `npm ci` into both the workflow and
87
+ * Dockerfile.cms: silently wrong, and the exact failure this detection exists
88
+ * to prevent.
89
+ *
90
+ * The walk starts only when `projectDir` has a package.json but no evidence of
91
+ * its own -- the signal of a workspace member -- and stops at the directory
92
+ * holding `.git`. Both bounds matter: without them a project with no lockfile
93
+ * anywhere would keep climbing into unrelated directories and adopt a
94
+ * stranger's package manager.
95
+ */
96
+ async function workspaceSearchPath(projectDir) {
97
+ const start = path.resolve(projectDir);
98
+ const dirs = [start];
99
+ // No manifest here means this is not a workspace member; treat the directory
100
+ // at face value rather than inheriting from above.
101
+ if (!(await filePathExists(path.join(start, 'package.json'))))
102
+ return dirs;
103
+ let dir = start;
104
+ for (let depth = 0; depth < MAX_WORKSPACE_DEPTH; depth++) {
105
+ if (await filePathExists(path.join(dir, '.git')))
106
+ break;
107
+ const parent = path.dirname(dir);
108
+ if (parent === dir)
109
+ break;
110
+ dir = parent;
111
+ dirs.push(dir);
112
+ }
113
+ return dirs;
114
+ }
115
+ async function readDeclaredPackageManager(projectDir) {
116
+ const pkg = await readPackageJson(projectDir);
117
+ const declared = pkg?.['packageManager'];
118
+ if (typeof declared !== 'string')
119
+ return null;
120
+ if (declared.startsWith('pnpm@'))
121
+ return 'pnpm';
122
+ if (declared.startsWith('npm@'))
123
+ return 'npm';
124
+ if (declared.startsWith('yarn@')) {
125
+ // Berry is 2.x and up. `yarn@1.x` is classic; anything else we treat as
126
+ // Berry, then confirm against the lockfile when there is one.
127
+ const major = Number.parseInt(declared.slice('yarn@'.length), 10);
128
+ if (Number.isFinite(major) && major >= 2)
129
+ return 'yarn-berry';
130
+ if (Number.isFinite(major))
131
+ return 'yarn';
132
+ return (await isYarnBerryLockfile(projectDir)) ? 'yarn-berry' : 'yarn';
133
+ }
134
+ return null;
135
+ }
136
+ /** Berry lockfiles carry a `__metadata:` block; classic ones start with a v1 banner. */
137
+ async function isYarnBerryLockfile(projectDir) {
138
+ try {
139
+ const content = await fs.readFile(path.join(projectDir, 'yarn.lock'), 'utf-8');
140
+ return content.includes('__metadata:');
141
+ }
142
+ catch {
143
+ return false;
144
+ }
145
+ }
146
+ /**
147
+ * The branch the deploy workflow should trigger on.
148
+ *
149
+ * Only `origin/HEAD` counts. The obvious-looking fallback -- "use the branch
150
+ * that's checked out" -- would be worse than the hardcoded `main` it replaces:
151
+ * an adopter scaffolding from a setup branch would get
152
+ * `branches: [add-cms]` baked into the workflow, so the deploy would go quiet
153
+ * the moment that branch merged. That silent-trigger failure is the exact LOW
154
+ * this detection exists to fix, so we do not reintroduce it in a
155
+ * harder-to-predict form.
156
+ */
157
+ export async function detectDefaultBranch(projectDir) {
158
+ const head = await gitRaw(projectDir, ['symbolic-ref', '--short', 'refs/remotes/origin/HEAD']);
159
+ if (!head)
160
+ return 'main';
161
+ // "origin/main" -> "main"
162
+ const slash = head.indexOf('/');
163
+ const branch = slash === -1 ? head : head.slice(slash + 1);
164
+ return branch || 'main';
165
+ }
166
+ /**
167
+ * Owner/repo from the `origin` remote, for the generated stack's worker
168
+ * config. Supports both SSH (`git@github.com:owner/repo.git`) and HTTPS
169
+ * (`https://github.com/owner/repo`) forms.
170
+ */
171
+ export async function detectGitHubRepo(projectDir) {
172
+ const url = await gitRaw(projectDir, ['remote', 'get-url', 'origin']);
173
+ if (!url)
174
+ return null;
175
+ const match = /github\.com[:/]+([^/]+)\/(.+?)(?:\.git)?\/?$/.exec(url);
176
+ if (!match)
177
+ return null;
178
+ return { owner: match[1], repo: match[2] };
179
+ }
180
+ /**
181
+ * Run a git command, returning trimmed stdout or null.
182
+ *
183
+ * Swallows every failure mode on purpose: not a repository, no such ref, no
184
+ * remote, and git not installed at all all surface here as `null` so the
185
+ * caller can fall back to a placeholder.
186
+ */
187
+ async function gitRaw(projectDir, args) {
188
+ try {
189
+ const output = await simpleGit({ baseDir: projectDir }).raw(args);
190
+ const trimmed = output.trim();
191
+ return trimmed.length > 0 ? trimmed : null;
192
+ }
193
+ catch {
194
+ return null;
195
+ }
196
+ }
197
+ /** Read the adopter's package.json, or null when absent/unparseable. */
198
+ export async function readPackageJson(projectDir) {
199
+ try {
200
+ const raw = await fs.readFile(path.join(projectDir, 'package.json'), 'utf-8');
201
+ const parsed = JSON.parse(raw);
202
+ return typeof parsed === 'object' && parsed !== null ? parsed : null;
203
+ }
204
+ catch {
205
+ return null;
206
+ }
207
+ }
208
+ /**
209
+ * Dependencies the generated CDK app needs at deploy time.
210
+ *
211
+ * `cdk.json` runs `node --import tsx infrastructure/bin/app.ts`, which imports
212
+ * `canopycms-cdk` / `aws-cdk-lib` / `constructs`; CI resolves `cdk` itself
213
+ * through `npx`, but pinning it is what makes a deploy reproducible.
214
+ */
215
+ export const CDK_DEPENDENCIES = [
216
+ 'canopycms-cdk',
217
+ 'aws-cdk-lib',
218
+ 'constructs',
219
+ 'tsx',
220
+ 'aws-cdk',
221
+ ];
222
+ /**
223
+ * Which of {@link CDK_DEPENDENCIES} are missing from the adopter's manifest.
224
+ *
225
+ * Returns them all when there is no package.json to read: a project with no
226
+ * manifest certainly has none of them installed.
227
+ */
228
+ export async function missingCdkDependencies(projectDir) {
229
+ const pkg = await readPackageJson(projectDir);
230
+ const declared = new Set();
231
+ for (const field of ['dependencies', 'devDependencies', 'peerDependencies']) {
232
+ const section = pkg?.[field];
233
+ if (typeof section === 'object' && section !== null) {
234
+ for (const name of Object.keys(section))
235
+ declared.add(name);
236
+ }
237
+ }
238
+ return CDK_DEPENDENCIES.filter((name) => !declared.has(name));
239
+ }
240
+ //# sourceMappingURL=project-detect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-detect.js","sourceRoot":"","sources":["../../src/cli/project-detect.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,14 @@
1
1
  FROM public.ecr.aws/docker/library/node:20-slim AS builder
2
2
  WORKDIR /app
3
- COPY package*.json ./
3
+ {{DOCKER_COPY}}
4
4
  # If your app uses `file:` dependencies (e.g. vendored tarballs under vendor/),
5
- # COPY that directory here, before `npm ci` -- otherwise the install fails.
6
- RUN npm ci
5
+ # COPY that directory here, before the install step -- otherwise it fails.
6
+ #
7
+ # This assumes a single-package repository. In a workspace monorepo
8
+ # (pnpm-workspace.yaml, npm/yarn `workspaces`) the manifest and lockfile above
9
+ # are not enough on their own -- copy the workspace manifests and install with
10
+ # the workspace filtered to this app.
11
+ {{DOCKER_INSTALL}}
7
12
  COPY . .
8
13
  # Guard against adopter apps with no public/ directory: Next's standalone
9
14
  # output still expects one, and the runner stage below copies it.
@@ -14,8 +19,8 @@ RUN mkdir -p public
14
19
  # the image builder. Dev-mode reads require the project to be a git
15
20
  # repository, and .git is excluded from the build context by .dockerignore --
16
21
  # so synthesize a single-commit repo from the copied files. node_modules
17
- # (created by npm ci above) is excluded via .git/info/exclude - an adopter
18
- # repo without its own .gitignore would otherwise commit it into the
22
+ # (created by the install step above) is excluded via .git/info/exclude - an
23
+ # adopter repo without its own .gitignore would otherwise commit it into the
19
24
  # snapshot (slow build, bloated builder layer).
20
25
  RUN apt-get update && apt-get install -y --no-install-recommends git && rm -rf /var/lib/apt/lists/* \
21
26
  && git init -q -b main \
@@ -28,7 +33,7 @@ ENV CANOPY_BUILD=cms
28
33
  # publishable key is public material, so it's safe to bake into image layers.
29
34
  ARG NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
30
35
  ENV NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=$NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
31
- RUN npm run build
36
+ RUN {{DOCKER_BUILD}}
32
37
 
33
38
  FROM public.ecr.aws/docker/library/node:20-slim AS runner
34
39
  # Git is required by CanopyCMS for branch operations
@@ -0,0 +1,82 @@
1
+ /**
2
+ * CDK app entry point -- this is what `cdk.json`'s `app` command runs, and
3
+ * therefore what `cdk deploy` and `cdk synth` build their stacks from.
4
+ *
5
+ * Configuration arrives as environment variables rather than literals so the
6
+ * same file works from a laptop and from CI. `.github/workflows/deploy-cms.yml`
7
+ * passes each of them through from repository secrets and variables -- if you
8
+ * add a `required()` call here, add the matching line there too, or the deploy
9
+ * will fail at synth.
10
+ */
11
+
12
+ import { App } from 'aws-cdk-lib'
13
+ import { CmsStack } from '../lib/cms-stack'
14
+
15
+ /**
16
+ * Read a variable that the stack cannot be built without.
17
+ *
18
+ * Failing here is deliberate: every one of these has a silent-failure mode
19
+ * that is far more expensive to diagnose after a successful deploy than a
20
+ * refused synth is now. An unset CLERK_JWT_KEY, for instance, makes Clerk fall
21
+ * back to fetching JWKS over the network, and the CMS Lambda has no internet --
22
+ * so sign-in hangs rather than erroring.
23
+ *
24
+ * Note the empty-string check: GitHub Actions sets an env var to `''` when the
25
+ * repository secret or variable behind it does not exist, so `??` would let a
26
+ * missing secret through as a valid empty value.
27
+ */
28
+ function required(name: string): string {
29
+ const value = process.env[name]
30
+ if (!value) {
31
+ throw new Error(
32
+ `${name} must be set at synth time. In CI, set it as a repository secret ` +
33
+ `or variable and pass it through the Deploy step's env: block in ` +
34
+ `.github/workflows/deploy-cms.yml.`,
35
+ )
36
+ }
37
+ return value
38
+ }
39
+
40
+ const app = new App()
41
+
42
+ new CmsStack(app, '{{STACK_NAME}}', {
43
+ // An explicit account/region is required, not cosmetic: CanopyCmsDistribution
44
+ // resolves your hosted zone with HostedZone.fromLookup, and a context lookup
45
+ // in an environment-agnostic stack throws at synth even with valid
46
+ // credentials. The CDK CLI populates both variables from your resolved
47
+ // profile; leaving them unset keeps a credential-free `cdk synth` working for
48
+ // the no-domain case below.
49
+ env: { account: process.env.CDK_DEFAULT_ACCOUNT, region: process.env.CDK_DEFAULT_REGION },
50
+
51
+ // The repository the EC2 worker pushes branches and opens PRs against.
52
+ githubOwner: '{{GITHUB_OWNER}}',
53
+ githubRepo: '{{GITHUB_REPO}}',
54
+
55
+ // Secrets Manager ARNs. These must be the FULL ARN including the random
56
+ // six-character suffix -- they are written verbatim into the worker's IAM
57
+ // policy, so a name-based ARN silently never matches and the worker gets
58
+ // AccessDenied at boot.
59
+ githubTokenSecretArn: required('GITHUB_TOKEN_SECRET_ARN'),
60
+ clerkSecretKeySecretArn: required('CLERK_SECRET_KEY_SECRET_ARN'),
61
+
62
+ // Clerk's public JWKS PEM, for networkless session verification.
63
+ clerkJwtKey: required('CLERK_JWT_KEY'),
64
+
65
+ // Public material, inlined into the client bundle at image-build time. An
66
+ // empty value deploys successfully and ships an editor that cannot sign in,
67
+ // so it is worth checking after the first deploy.
68
+ clerkPublishableKey: process.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY || '',
69
+
70
+ bootstrapAdminIds: process.env.CANOPY_BOOTSTRAP_ADMIN_IDS || '',
71
+
72
+ // Namespaces this deployment's settings branch. Two stacks pointed at the
73
+ // same GitHub repo MUST use different values. Changing it after the settings
74
+ // workspace is populated is refused at boot -- see docs/deploying-to-aws.md.
75
+ deploymentName: process.env.CANOPYCMS_DEPLOYMENT_NAME || 'prod',
76
+
77
+ // Optional. Set both to put CloudFront + Route53 in front of the Lambda's
78
+ // Function URL; leave them unset to use the Function URL directly, or to
79
+ // point your own existing distribution at it.
80
+ domainName: process.env.CMS_DOMAIN_NAME || undefined,
81
+ hostedZoneDomain: process.env.CMS_HOSTED_ZONE_DOMAIN || undefined,
82
+ })
@@ -0,0 +1,9 @@
1
+ {
2
+ "app": "node --import tsx infrastructure/bin/app.ts",
3
+ "output": "cdk.out",
4
+ "watch": {
5
+ "include": ["infrastructure/**"],
6
+ "exclude": ["cdk.out/**", "node_modules/**", ".next/**", "out/**"]
7
+ },
8
+ "context": {}
9
+ }
@@ -0,0 +1,124 @@
1
+ /**
2
+ * CanopyCMS infrastructure: VPC + EFS + CMS Lambda + EC2 worker, and
3
+ * optionally CloudFront + Route53 in front of the Lambda's Function URL.
4
+ *
5
+ * This file is yours to edit -- `canopycms init-deploy aws` will not overwrite
6
+ * it without `--force`. The comments below mark the settings that have a
7
+ * silent-failure mode; the rest is ordinary CDK.
8
+ *
9
+ * See docs/deploying-to-aws.md for the full walkthrough, including the media
10
+ * (AssetSupport) and multi-deployment cases.
11
+ */
12
+
13
+ import { Stack, StackProps } from 'aws-cdk-lib'
14
+ import { Construct } from 'constructs'
15
+ import * as lambda from 'aws-cdk-lib/aws-lambda'
16
+ import * as secretsmanager from 'aws-cdk-lib/aws-secretsmanager'
17
+ import { Platform } from 'aws-cdk-lib/aws-ecr-assets'
18
+ import { CanopyCmsService, CanopyCmsDistribution } from 'canopycms-cdk'
19
+
20
+ export interface CmsStackProps extends StackProps {
21
+ /** GitHub repository the EC2 worker pushes branches and opens PRs against. */
22
+ githubOwner: string
23
+ githubRepo: string
24
+ /** FULL Secrets Manager ARN, including the random six-character suffix. */
25
+ githubTokenSecretArn: string
26
+ /** FULL Secrets Manager ARN, including the random six-character suffix. */
27
+ clerkSecretKeySecretArn: string
28
+ /** Clerk's public JWKS PEM, for networkless session verification. */
29
+ clerkJwtKey: string
30
+ /** Clerk publishable key, baked into the client bundle at image-build time. */
31
+ clerkPublishableKey: string
32
+ /** Comma-separated Clerk user IDs granted admin on first boot. */
33
+ bootstrapAdminIds: string
34
+ /** Namespaces this deployment's settings branch (`canopycms-settings-{name}`). */
35
+ deploymentName: string
36
+ /** Optional CloudFront domain, e.g. 'cms.docs.example.org'. */
37
+ domainName?: string
38
+ /** Optional Route53 hosted zone domain, e.g. 'example.org'. */
39
+ hostedZoneDomain?: string
40
+ }
41
+
42
+ export class CmsStack extends Stack {
43
+ constructor(scope: Construct, id: string, props: CmsStackProps) {
44
+ super(scope, id, props)
45
+
46
+ // fromSecretCompleteArn, NOT fromSecretNameV2: `secretsArns` below is
47
+ // written verbatim into the worker's IAM policy, so a partial or
48
+ // name-based ARN never matches the real secret and the worker fails with
49
+ // AccessDenied at boot rather than at deploy.
50
+ const githubToken = secretsmanager.Secret.fromSecretCompleteArn(
51
+ this,
52
+ 'GitHubToken',
53
+ props.githubTokenSecretArn,
54
+ )
55
+ const clerkSecretKey = secretsmanager.Secret.fromSecretCompleteArn(
56
+ this,
57
+ 'ClerkSecret',
58
+ props.clerkSecretKeySecretArn,
59
+ )
60
+
61
+ const cmsService = new CanopyCmsService(this, 'CmsService', {
62
+ // `cdk deploy` builds this image and publishes it to the CDK bootstrap
63
+ // assets repository -- it is the ONLY thing that ships CMS code. Do not
64
+ // pair it with a separate ECR push plus `aws lambda
65
+ // update-function-code`: that builds the image twice and leaves the
66
+ // function's image URI out of sync with CloudFormation, so the next
67
+ // `cdk deploy` touching the function silently reverts your code.
68
+ cmsDockerImage: lambda.DockerImageCode.fromImageAsset('.', {
69
+ file: 'Dockerfile.cms',
70
+ // The image platform and the Lambda architecture must agree, or the
71
+ // function fails at invoke with an exec-format error. Building on
72
+ // Apple Silicon defaults to arm64, so arm64 is the pairing that works
73
+ // both locally and on an x86 CI runner.
74
+ platform: Platform.LINUX_ARM64,
75
+ // Next.js inlines NEXT_PUBLIC_* into the CLIENT bundle during
76
+ // `next build`, so this has to reach the image BUILD. A Lambda
77
+ // environment variable would be far too late.
78
+ buildArgs: {
79
+ NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: props.clerkPublishableKey,
80
+ },
81
+ }),
82
+ architecture: lambda.Architecture.ARM_64,
83
+
84
+ githubOwner: props.githubOwner,
85
+ githubRepo: props.githubRepo,
86
+ deploymentName: props.deploymentName,
87
+
88
+ // Secrets the EC2 worker reads. The Lambda needs none of them.
89
+ secretsArns: [githubToken.secretArn, clerkSecretKey.secretArn],
90
+ githubTokenSecretArn: githubToken.secretArn,
91
+ clerkSecretKeySecretArn: clerkSecretKey.secretArn,
92
+
93
+ // Lambda environment: public config only, never secrets.
94
+ environment: {
95
+ CANOPY_AUTH_MODE: 'clerk',
96
+ CLERK_JWT_KEY: props.clerkJwtKey,
97
+ CANOPY_BOOTSTRAP_ADMIN_IDS: props.bootstrapAdminIds,
98
+ },
99
+
100
+ memorySize: 2048,
101
+ reservedConcurrency: 10,
102
+ })
103
+
104
+ // Media support (uploads, on-demand image transforms). Uncomment to give
105
+ // the deployed editor an asset backend, pass `assetBucket:
106
+ // assetSupport.bucket` to CanopyCmsService above, and wire
107
+ // `assetSupport.cloudFrontBehaviors` into the distribution below. See the
108
+ // assets section of docs/deploying-to-aws.md.
109
+ //
110
+ // const assetSupport = new AssetSupport(this, 'Assets', {})
111
+
112
+ // CloudFront + Route53, only when a domain is configured. Skipping this
113
+ // leaves `cmsService.functionUrl` as the entry point, which is enough to
114
+ // exercise the editor and is what keeps a credential-free `cdk synth`
115
+ // working -- HostedZone.fromLookup below needs real AWS context.
116
+ if (props.domainName && props.hostedZoneDomain) {
117
+ new CanopyCmsDistribution(this, 'CmsDist', {
118
+ functionUrl: cmsService.functionUrl,
119
+ domainName: props.domainName,
120
+ hostedZoneDomain: props.hostedZoneDomain,
121
+ })
122
+ }
123
+ }
124
+ }