@phila/cli 0.0.1

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 (278) hide show
  1. package/dist/commands/config.d.ts +30 -0
  2. package/dist/commands/config.d.ts.map +1 -0
  3. package/dist/commands/config.js +135 -0
  4. package/dist/commands/config.js.map +1 -0
  5. package/dist/commands/deploy.d.ts +2 -0
  6. package/dist/commands/deploy.d.ts.map +1 -0
  7. package/dist/commands/deploy.js +224 -0
  8. package/dist/commands/deploy.js.map +1 -0
  9. package/dist/commands/destroy.d.ts +3 -0
  10. package/dist/commands/destroy.d.ts.map +1 -0
  11. package/dist/commands/destroy.js +110 -0
  12. package/dist/commands/destroy.js.map +1 -0
  13. package/dist/commands/init.d.ts +25 -0
  14. package/dist/commands/init.d.ts.map +1 -0
  15. package/dist/commands/init.js +513 -0
  16. package/dist/commands/init.js.map +1 -0
  17. package/dist/commands/map.d.ts +8 -0
  18. package/dist/commands/map.d.ts.map +1 -0
  19. package/dist/commands/map.js +186 -0
  20. package/dist/commands/map.js.map +1 -0
  21. package/dist/commands/ship.d.ts +20 -0
  22. package/dist/commands/ship.d.ts.map +1 -0
  23. package/dist/commands/ship.js +445 -0
  24. package/dist/commands/ship.js.map +1 -0
  25. package/dist/commands/templates.d.ts +3 -0
  26. package/dist/commands/templates.d.ts.map +1 -0
  27. package/dist/commands/templates.js +120 -0
  28. package/dist/commands/templates.js.map +1 -0
  29. package/dist/index.d.ts +3 -0
  30. package/dist/index.d.ts.map +1 -0
  31. package/dist/index.js +82 -0
  32. package/dist/index.js.map +1 -0
  33. package/dist/templates/_shared/city.config.json.tmpl +24 -0
  34. package/dist/templates/_shared/dotnet-api/Api.csproj +17 -0
  35. package/dist/templates/_shared/dotnet-api/Program.cs +58 -0
  36. package/dist/templates/_shared/dotnet-api/aws-lambda-tools-defaults.json +10 -0
  37. package/dist/templates/_shared/dotnet-api/obj/Api.csproj.nuget.dgspec.json +80 -0
  38. package/dist/templates/_shared/dotnet-api/obj/Api.csproj.nuget.g.props +15 -0
  39. package/dist/templates/_shared/dotnet-api/obj/Api.csproj.nuget.g.targets +2 -0
  40. package/dist/templates/_shared/dotnet-api/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs +4 -0
  41. package/dist/templates/_shared/dotnet-api/obj/Debug/net8.0/Api.AssemblyInfo.cs +22 -0
  42. package/dist/templates/_shared/dotnet-api/obj/Debug/net8.0/Api.AssemblyInfoInputs.cache +1 -0
  43. package/dist/templates/_shared/dotnet-api/obj/Debug/net8.0/Api.GeneratedMSBuildEditorConfig.editorconfig +19 -0
  44. package/dist/templates/_shared/dotnet-api/obj/Debug/net8.0/Api.GlobalUsings.g.cs +17 -0
  45. package/dist/templates/_shared/dotnet-api/obj/Debug/net8.0/Api.assets.cache +0 -0
  46. package/dist/templates/_shared/dotnet-api/obj/Debug/net8.0/Api.csproj.AssemblyReference.cache +0 -0
  47. package/dist/templates/_shared/dotnet-api/obj/project.assets.json +708 -0
  48. package/dist/templates/_shared/dotnet-api/obj/project.nuget.cache +35 -0
  49. package/dist/templates/_shared/dotnet-api-postgres/Api.csproj +19 -0
  50. package/dist/templates/_shared/dotnet-api-postgres/Program.cs +167 -0
  51. package/dist/templates/_shared/dotnet-api-postgres/aws-lambda-tools-defaults.json +10 -0
  52. package/dist/templates/_shared/dotnet-api-postgres/obj/Api.csproj.nuget.dgspec.json +88 -0
  53. package/dist/templates/_shared/dotnet-api-postgres/obj/Api.csproj.nuget.g.props +15 -0
  54. package/dist/templates/_shared/dotnet-api-postgres/obj/Api.csproj.nuget.g.targets +2 -0
  55. package/dist/templates/_shared/dotnet-api-postgres/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs +4 -0
  56. package/dist/templates/_shared/dotnet-api-postgres/obj/Debug/net8.0/Api.AssemblyInfo.cs +22 -0
  57. package/dist/templates/_shared/dotnet-api-postgres/obj/Debug/net8.0/Api.AssemblyInfoInputs.cache +1 -0
  58. package/dist/templates/_shared/dotnet-api-postgres/obj/Debug/net8.0/Api.GeneratedMSBuildEditorConfig.editorconfig +19 -0
  59. package/dist/templates/_shared/dotnet-api-postgres/obj/Debug/net8.0/Api.GlobalUsings.g.cs +17 -0
  60. package/dist/templates/_shared/dotnet-api-postgres/obj/Debug/net8.0/Api.assets.cache +0 -0
  61. package/dist/templates/_shared/dotnet-api-postgres/obj/project.assets.json +106 -0
  62. package/dist/templates/_shared/dotnet-api-postgres/obj/project.nuget.cache +15 -0
  63. package/dist/templates/_shared/nuxt-frontend/app.vue +3 -0
  64. package/dist/templates/_shared/nuxt-frontend/nuxt.config.ts +25 -0
  65. package/dist/templates/_shared/nuxt-frontend/package.json.tmpl +19 -0
  66. package/dist/templates/_shared/nuxt-frontend/pages/index.vue +6 -0
  67. package/dist/templates/_shared/nuxt-frontend/public/.gitkeep +0 -0
  68. package/dist/templates/_shared/nuxt-frontend/tsconfig.json +3 -0
  69. package/dist/templates/_shared/webapp-cdk-package.json.tmpl +23 -0
  70. package/dist/templates/_shared/webapp-frontend/app.vue +3 -0
  71. package/dist/templates/_shared/webapp-frontend/nuxt.config.ts +25 -0
  72. package/dist/templates/_shared/webapp-frontend/package.json.tmpl +19 -0
  73. package/dist/templates/_shared/webapp-frontend/pages/index.vue +7 -0
  74. package/dist/templates/_shared/webapp-frontend/public/.gitkeep +0 -0
  75. package/dist/templates/_shared/webapp-frontend/tsconfig.json +3 -0
  76. package/dist/templates/lambda-api-nodejs/README.md.tmpl +203 -0
  77. package/dist/templates/lambda-api-nodejs/apps/__lambdaName__/index.ts +89 -0
  78. package/dist/templates/lambda-api-nodejs/apps/__lambdaName__/package.json +17 -0
  79. package/dist/templates/lambda-api-nodejs/apps/__lambdaName__/tsconfig.json +8 -0
  80. package/dist/templates/lambda-api-nodejs/cdk/app.ts.tmpl +53 -0
  81. package/dist/templates/lambda-api-nodejs/cdk/cdk.json +68 -0
  82. package/dist/templates/lambda-api-nodejs/cdk/package.json +23 -0
  83. package/dist/templates/lambda-api-nodejs/cdk/tsconfig.json +9 -0
  84. package/dist/templates/lambda-api-nodejs/package.json.tmpl +20 -0
  85. package/dist/templates/lambda-api-nodejs/tsconfig.json +27 -0
  86. package/dist/templates/lambda-dynamo-api/README.md.tmpl +184 -0
  87. package/dist/templates/lambda-dynamo-api/apps/__lambdaName__/index.ts +109 -0
  88. package/dist/templates/lambda-dynamo-api/apps/__lambdaName__/package.json +19 -0
  89. package/dist/templates/lambda-dynamo-api/apps/__lambdaName__/tsconfig.json +24 -0
  90. package/dist/templates/lambda-dynamo-api/cdk/app.ts.tmpl +59 -0
  91. package/dist/templates/lambda-dynamo-api/cdk/cdk.json +73 -0
  92. package/dist/templates/lambda-dynamo-api/cdk/package.json +23 -0
  93. package/dist/templates/lambda-dynamo-api/cdk/tsconfig.json +14 -0
  94. package/dist/templates/lambda-dynamo-api/package.json.tmpl +20 -0
  95. package/dist/templates/lambda-dynamo-api/tsconfig.json +27 -0
  96. package/dist/templates/lambda-postgres-api/README.md.tmpl +234 -0
  97. package/dist/templates/lambda-postgres-api/apps/__lambdaName__/index.ts +76 -0
  98. package/dist/templates/lambda-postgres-api/apps/__lambdaName__/package.json +18 -0
  99. package/dist/templates/lambda-postgres-api/apps/__lambdaName__/tsconfig.json +26 -0
  100. package/dist/templates/lambda-postgres-api/cdk/app.ts.tmpl +55 -0
  101. package/dist/templates/lambda-postgres-api/cdk/cdk.json +4 -0
  102. package/dist/templates/lambda-postgres-api/cdk/package.json +23 -0
  103. package/dist/templates/lambda-postgres-api/cdk/tsconfig.json +25 -0
  104. package/dist/templates/lambda-postgres-api/package.json.tmpl +20 -0
  105. package/dist/templates/lambda-postgres-api/tsconfig.json +11 -0
  106. package/dist/templates/static-site/README.md.tmpl +72 -0
  107. package/dist/templates/static-site/cdk/app.ts.tmpl +50 -0
  108. package/dist/templates/static-site/cdk/cdk.json +68 -0
  109. package/dist/templates/static-site/cdk/package.json +23 -0
  110. package/dist/templates/static-site/cdk/tsconfig.json +9 -0
  111. package/dist/templates/static-site/frontend/.gitkeep +0 -0
  112. package/dist/templates/static-site/frontend/README.md +41 -0
  113. package/dist/templates/static-site/frontend/package.json +9 -0
  114. package/dist/templates/static-site/package.json.tmpl +19 -0
  115. package/dist/templates/static-site/tsconfig.json +27 -0
  116. package/dist/templates/webapp-ecs-dotnet/README.md.tmpl +213 -0
  117. package/dist/templates/webapp-ecs-dotnet/apps/api/Api.csproj +12 -0
  118. package/dist/templates/webapp-ecs-dotnet/apps/api/Dockerfile +30 -0
  119. package/dist/templates/webapp-ecs-dotnet/apps/api/Program.cs +85 -0
  120. package/dist/templates/webapp-ecs-dotnet/apps/api/obj/Api.csproj.nuget.dgspec.json +70 -0
  121. package/dist/templates/webapp-ecs-dotnet/apps/api/obj/Api.csproj.nuget.g.props +15 -0
  122. package/dist/templates/webapp-ecs-dotnet/apps/api/obj/Api.csproj.nuget.g.targets +2 -0
  123. package/dist/templates/webapp-ecs-dotnet/apps/api/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs +4 -0
  124. package/dist/templates/webapp-ecs-dotnet/apps/api/obj/Debug/net8.0/Api.AssemblyInfo.cs +22 -0
  125. package/dist/templates/webapp-ecs-dotnet/apps/api/obj/Debug/net8.0/Api.AssemblyInfoInputs.cache +1 -0
  126. package/dist/templates/webapp-ecs-dotnet/apps/api/obj/Debug/net8.0/Api.GeneratedMSBuildEditorConfig.editorconfig +19 -0
  127. package/dist/templates/webapp-ecs-dotnet/apps/api/obj/Debug/net8.0/Api.GlobalUsings.g.cs +17 -0
  128. package/dist/templates/webapp-ecs-dotnet/apps/api/obj/Debug/net8.0/Api.assets.cache +0 -0
  129. package/dist/templates/webapp-ecs-dotnet/apps/api/obj/project.assets.json +75 -0
  130. package/dist/templates/webapp-ecs-dotnet/apps/api/obj/project.nuget.cache +8 -0
  131. package/dist/templates/webapp-ecs-dotnet/cdk/app.ts.tmpl +60 -0
  132. package/dist/templates/webapp-ecs-dotnet/cdk/cdk.json +38 -0
  133. package/dist/templates/webapp-ecs-dotnet/cdk/tsconfig.json +25 -0
  134. package/dist/templates/webapp-ecs-dotnet/package.json.tmpl +23 -0
  135. package/dist/templates/webapp-ecs-dotnet/tsconfig.json +26 -0
  136. package/dist/templates/webapp-ecs-node/README.md.tmpl +207 -0
  137. package/dist/templates/webapp-ecs-node/apps/api/Dockerfile +33 -0
  138. package/dist/templates/webapp-ecs-node/apps/api/index.ts +74 -0
  139. package/dist/templates/webapp-ecs-node/apps/api/package.json +22 -0
  140. package/dist/templates/webapp-ecs-node/apps/api/tsconfig.json +18 -0
  141. package/dist/templates/webapp-ecs-node/cdk/app.ts.tmpl +60 -0
  142. package/dist/templates/webapp-ecs-node/cdk/cdk.json +38 -0
  143. package/dist/templates/webapp-ecs-node/cdk/tsconfig.json +25 -0
  144. package/dist/templates/webapp-ecs-node/package.json.tmpl +25 -0
  145. package/dist/templates/webapp-ecs-node/tsconfig.json +26 -0
  146. package/dist/templates/webapp-ecs-postgres-dotnet/README.md.tmpl +271 -0
  147. package/dist/templates/webapp-ecs-postgres-dotnet/apps/api/Api.csproj +17 -0
  148. package/dist/templates/webapp-ecs-postgres-dotnet/apps/api/Dockerfile +30 -0
  149. package/dist/templates/webapp-ecs-postgres-dotnet/apps/api/Program.cs +194 -0
  150. package/dist/templates/webapp-ecs-postgres-dotnet/apps/api/obj/Api.csproj.nuget.dgspec.json +80 -0
  151. package/dist/templates/webapp-ecs-postgres-dotnet/apps/api/obj/Api.csproj.nuget.g.props +19 -0
  152. package/dist/templates/webapp-ecs-postgres-dotnet/apps/api/obj/Api.csproj.nuget.g.targets +6 -0
  153. package/dist/templates/webapp-ecs-postgres-dotnet/apps/api/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs +4 -0
  154. package/dist/templates/webapp-ecs-postgres-dotnet/apps/api/obj/Debug/net8.0/Api.AssemblyInfo.cs +22 -0
  155. package/dist/templates/webapp-ecs-postgres-dotnet/apps/api/obj/Debug/net8.0/Api.AssemblyInfoInputs.cache +1 -0
  156. package/dist/templates/webapp-ecs-postgres-dotnet/apps/api/obj/Debug/net8.0/Api.GeneratedMSBuildEditorConfig.editorconfig +19 -0
  157. package/dist/templates/webapp-ecs-postgres-dotnet/apps/api/obj/Debug/net8.0/Api.GlobalUsings.g.cs +17 -0
  158. package/dist/templates/webapp-ecs-postgres-dotnet/apps/api/obj/Debug/net8.0/Api.assets.cache +0 -0
  159. package/dist/templates/webapp-ecs-postgres-dotnet/apps/api/obj/Debug/net8.0/Api.csproj.AssemblyReference.cache +0 -0
  160. package/dist/templates/webapp-ecs-postgres-dotnet/apps/api/obj/project.assets.json +395 -0
  161. package/dist/templates/webapp-ecs-postgres-dotnet/apps/api/obj/project.nuget.cache +49 -0
  162. package/dist/templates/webapp-ecs-postgres-dotnet/cdk/app.ts.tmpl +62 -0
  163. package/dist/templates/webapp-ecs-postgres-dotnet/cdk/cdk.json +38 -0
  164. package/dist/templates/webapp-ecs-postgres-dotnet/cdk/tsconfig.json +25 -0
  165. package/dist/templates/webapp-ecs-postgres-dotnet/package.json.tmpl +23 -0
  166. package/dist/templates/webapp-ecs-postgres-dotnet/tsconfig.json +26 -0
  167. package/dist/templates/webapp-ecs-postgres-node/README.md.tmpl +261 -0
  168. package/dist/templates/webapp-ecs-postgres-node/apps/api/Dockerfile +33 -0
  169. package/dist/templates/webapp-ecs-postgres-node/apps/api/index.ts +160 -0
  170. package/dist/templates/webapp-ecs-postgres-node/apps/api/package.json +25 -0
  171. package/dist/templates/webapp-ecs-postgres-node/apps/api/tsconfig.json +18 -0
  172. package/dist/templates/webapp-ecs-postgres-node/cdk/app.ts.tmpl +62 -0
  173. package/dist/templates/webapp-ecs-postgres-node/cdk/cdk.json +38 -0
  174. package/dist/templates/webapp-ecs-postgres-node/cdk/tsconfig.json +25 -0
  175. package/dist/templates/webapp-ecs-postgres-node/package.json.tmpl +25 -0
  176. package/dist/templates/webapp-ecs-postgres-node/tsconfig.json +26 -0
  177. package/dist/templates/webapp-lambda-dotnet/README.md.tmpl +188 -0
  178. package/dist/templates/webapp-lambda-dotnet/apps/api/Api.csproj +17 -0
  179. package/dist/templates/webapp-lambda-dotnet/apps/api/Program.cs +58 -0
  180. package/dist/templates/webapp-lambda-dotnet/apps/api/aws-lambda-tools-defaults.json +10 -0
  181. package/dist/templates/webapp-lambda-dotnet/apps/api/obj/Api.csproj.nuget.dgspec.json +80 -0
  182. package/dist/templates/webapp-lambda-dotnet/apps/api/obj/Api.csproj.nuget.g.props +15 -0
  183. package/dist/templates/webapp-lambda-dotnet/apps/api/obj/Api.csproj.nuget.g.targets +2 -0
  184. package/dist/templates/webapp-lambda-dotnet/apps/api/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs +4 -0
  185. package/dist/templates/webapp-lambda-dotnet/apps/api/obj/Debug/net8.0/Api.AssemblyInfo.cs +22 -0
  186. package/dist/templates/webapp-lambda-dotnet/apps/api/obj/Debug/net8.0/Api.AssemblyInfoInputs.cache +1 -0
  187. package/dist/templates/webapp-lambda-dotnet/apps/api/obj/Debug/net8.0/Api.GeneratedMSBuildEditorConfig.editorconfig +19 -0
  188. package/dist/templates/webapp-lambda-dotnet/apps/api/obj/Debug/net8.0/Api.GlobalUsings.g.cs +17 -0
  189. package/dist/templates/webapp-lambda-dotnet/apps/api/obj/Debug/net8.0/Api.assets.cache +0 -0
  190. package/dist/templates/webapp-lambda-dotnet/apps/api/obj/Debug/net8.0/Api.csproj.AssemblyReference.cache +0 -0
  191. package/dist/templates/webapp-lambda-dotnet/apps/api/obj/project.assets.json +708 -0
  192. package/dist/templates/webapp-lambda-dotnet/apps/api/obj/project.nuget.cache +35 -0
  193. package/dist/templates/webapp-lambda-dotnet/cdk/app.ts.tmpl +59 -0
  194. package/dist/templates/webapp-lambda-dotnet/cdk/cdk.json +68 -0
  195. package/dist/templates/webapp-lambda-dotnet/cdk/tsconfig.json +9 -0
  196. package/dist/templates/webapp-lambda-dotnet/package.json.tmpl +23 -0
  197. package/dist/templates/webapp-lambda-dotnet/tsconfig.json +27 -0
  198. package/dist/templates/webapp-lambda-dynamo-dotnet/README.md.tmpl +223 -0
  199. package/dist/templates/webapp-lambda-dynamo-dotnet/apps/api/Api.csproj +18 -0
  200. package/dist/templates/webapp-lambda-dynamo-dotnet/apps/api/Program.cs +155 -0
  201. package/dist/templates/webapp-lambda-dynamo-dotnet/apps/api/aws-lambda-tools-defaults.json +10 -0
  202. package/dist/templates/webapp-lambda-dynamo-dotnet/apps/api/obj/Api.csproj.nuget.dgspec.json +84 -0
  203. package/dist/templates/webapp-lambda-dynamo-dotnet/apps/api/obj/Api.csproj.nuget.g.props +19 -0
  204. package/dist/templates/webapp-lambda-dynamo-dotnet/apps/api/obj/Api.csproj.nuget.g.targets +2 -0
  205. package/dist/templates/webapp-lambda-dynamo-dotnet/apps/api/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs +4 -0
  206. package/dist/templates/webapp-lambda-dynamo-dotnet/apps/api/obj/Debug/net8.0/Api.AssemblyInfo.cs +22 -0
  207. package/dist/templates/webapp-lambda-dynamo-dotnet/apps/api/obj/Debug/net8.0/Api.AssemblyInfoInputs.cache +1 -0
  208. package/dist/templates/webapp-lambda-dynamo-dotnet/apps/api/obj/Debug/net8.0/Api.GeneratedMSBuildEditorConfig.editorconfig +19 -0
  209. package/dist/templates/webapp-lambda-dynamo-dotnet/apps/api/obj/Debug/net8.0/Api.GlobalUsings.g.cs +17 -0
  210. package/dist/templates/webapp-lambda-dynamo-dotnet/apps/api/obj/Debug/net8.0/Api.assets.cache +0 -0
  211. package/dist/templates/webapp-lambda-dynamo-dotnet/apps/api/obj/Debug/net8.0/Api.csproj.AssemblyReference.cache +0 -0
  212. package/dist/templates/webapp-lambda-dynamo-dotnet/apps/api/obj/project.assets.json +989 -0
  213. package/dist/templates/webapp-lambda-dynamo-dotnet/apps/api/obj/project.nuget.cache +223 -0
  214. package/dist/templates/webapp-lambda-dynamo-dotnet/cdk/app.ts.tmpl +65 -0
  215. package/dist/templates/webapp-lambda-dynamo-dotnet/cdk/cdk.json +68 -0
  216. package/dist/templates/webapp-lambda-dynamo-dotnet/cdk/tsconfig.json +9 -0
  217. package/dist/templates/webapp-lambda-dynamo-dotnet/package.json.tmpl +23 -0
  218. package/dist/templates/webapp-lambda-dynamo-dotnet/tsconfig.json +27 -0
  219. package/dist/templates/webapp-lambda-dynamo-node/README.md.tmpl +189 -0
  220. package/dist/templates/webapp-lambda-dynamo-node/apps/api/index.ts +109 -0
  221. package/dist/templates/webapp-lambda-dynamo-node/apps/api/package.json +19 -0
  222. package/dist/templates/webapp-lambda-dynamo-node/apps/api/tsconfig.json +8 -0
  223. package/dist/templates/webapp-lambda-dynamo-node/cdk/app.ts.tmpl +65 -0
  224. package/dist/templates/webapp-lambda-dynamo-node/cdk/cdk.json +68 -0
  225. package/dist/templates/webapp-lambda-dynamo-node/cdk/tsconfig.json +9 -0
  226. package/dist/templates/webapp-lambda-dynamo-node/package.json.tmpl +24 -0
  227. package/dist/templates/webapp-lambda-dynamo-node/tsconfig.json +27 -0
  228. package/dist/templates/webapp-lambda-node/README.md.tmpl +179 -0
  229. package/dist/templates/webapp-lambda-node/apps/api/index.ts +100 -0
  230. package/dist/templates/webapp-lambda-node/apps/api/package.json +17 -0
  231. package/dist/templates/webapp-lambda-node/apps/api/tsconfig.json +8 -0
  232. package/dist/templates/webapp-lambda-node/cdk/app.ts.tmpl +59 -0
  233. package/dist/templates/webapp-lambda-node/cdk/cdk.json +68 -0
  234. package/dist/templates/webapp-lambda-node/cdk/tsconfig.json +9 -0
  235. package/dist/templates/webapp-lambda-node/package.json.tmpl +24 -0
  236. package/dist/templates/webapp-lambda-node/tsconfig.json +27 -0
  237. package/dist/templates/webapp-lambda-postgres-dotnet/README.md.tmpl +240 -0
  238. package/dist/templates/webapp-lambda-postgres-dotnet/apps/api/Api.csproj +19 -0
  239. package/dist/templates/webapp-lambda-postgres-dotnet/apps/api/Program.cs +167 -0
  240. package/dist/templates/webapp-lambda-postgres-dotnet/apps/api/aws-lambda-tools-defaults.json +10 -0
  241. package/dist/templates/webapp-lambda-postgres-dotnet/apps/api/obj/Api.csproj.nuget.dgspec.json +88 -0
  242. package/dist/templates/webapp-lambda-postgres-dotnet/apps/api/obj/Api.csproj.nuget.g.props +15 -0
  243. package/dist/templates/webapp-lambda-postgres-dotnet/apps/api/obj/Api.csproj.nuget.g.targets +2 -0
  244. package/dist/templates/webapp-lambda-postgres-dotnet/apps/api/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs +4 -0
  245. package/dist/templates/webapp-lambda-postgres-dotnet/apps/api/obj/Debug/net8.0/Api.AssemblyInfo.cs +22 -0
  246. package/dist/templates/webapp-lambda-postgres-dotnet/apps/api/obj/Debug/net8.0/Api.AssemblyInfoInputs.cache +1 -0
  247. package/dist/templates/webapp-lambda-postgres-dotnet/apps/api/obj/Debug/net8.0/Api.GeneratedMSBuildEditorConfig.editorconfig +19 -0
  248. package/dist/templates/webapp-lambda-postgres-dotnet/apps/api/obj/Debug/net8.0/Api.GlobalUsings.g.cs +17 -0
  249. package/dist/templates/webapp-lambda-postgres-dotnet/apps/api/obj/Debug/net8.0/Api.assets.cache +0 -0
  250. package/dist/templates/webapp-lambda-postgres-dotnet/apps/api/obj/project.assets.json +106 -0
  251. package/dist/templates/webapp-lambda-postgres-dotnet/apps/api/obj/project.nuget.cache +15 -0
  252. package/dist/templates/webapp-lambda-postgres-dotnet/cdk/app.ts.tmpl +61 -0
  253. package/dist/templates/webapp-lambda-postgres-dotnet/cdk/cdk.json +68 -0
  254. package/dist/templates/webapp-lambda-postgres-dotnet/cdk/tsconfig.json +9 -0
  255. package/dist/templates/webapp-lambda-postgres-dotnet/package.json.tmpl +23 -0
  256. package/dist/templates/webapp-lambda-postgres-dotnet/tsconfig.json +27 -0
  257. package/dist/templates/webapp-lambda-postgres-node/README.md.tmpl +190 -0
  258. package/dist/templates/webapp-lambda-postgres-node/apps/api/index.ts +76 -0
  259. package/dist/templates/webapp-lambda-postgres-node/apps/api/package.json +18 -0
  260. package/dist/templates/webapp-lambda-postgres-node/apps/api/tsconfig.json +8 -0
  261. package/dist/templates/webapp-lambda-postgres-node/cdk/app.ts.tmpl +61 -0
  262. package/dist/templates/webapp-lambda-postgres-node/cdk/cdk.json +68 -0
  263. package/dist/templates/webapp-lambda-postgres-node/cdk/tsconfig.json +9 -0
  264. package/dist/templates/webapp-lambda-postgres-node/package.json.tmpl +24 -0
  265. package/dist/templates/webapp-lambda-postgres-node/tsconfig.json +27 -0
  266. package/dist/utils/aws.d.ts +4 -0
  267. package/dist/utils/aws.d.ts.map +1 -0
  268. package/dist/utils/aws.js +90 -0
  269. package/dist/utils/aws.js.map +1 -0
  270. package/dist/utils/dependencies.d.ts +27 -0
  271. package/dist/utils/dependencies.d.ts.map +1 -0
  272. package/dist/utils/dependencies.js +267 -0
  273. package/dist/utils/dependencies.js.map +1 -0
  274. package/dist/utils/template.d.ts +23 -0
  275. package/dist/utils/template.d.ts.map +1 -0
  276. package/dist/utils/template.js +115 -0
  277. package/dist/utils/template.js.map +1 -0
  278. package/package.json +48 -0
@@ -0,0 +1,25 @@
1
+ // ABOUTME: Nuxt 3 configuration for Static Site Generation
2
+ // ABOUTME: Outputs static files to dist/ for S3/CloudFront deployment
3
+
4
+ export default defineNuxtConfig({
5
+ // Enable SSR for static generation
6
+ ssr: true,
7
+
8
+ // Static site generation preset
9
+ nitro: {
10
+ preset: 'static',
11
+ output: {
12
+ publicDir: 'dist',
13
+ },
14
+ },
15
+
16
+ // TypeScript support
17
+ typescript: {
18
+ strict: true,
19
+ },
20
+
21
+ // Disable telemetry
22
+ telemetry: false,
23
+
24
+ compatibilityDate: '2025-01-01',
25
+ });
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "{{appName}}-frontend",
3
+ "version": "0.0.1",
4
+ "private": true,
5
+ "type": "module",
6
+ "scripts": {
7
+ "build": "nuxt generate",
8
+ "dev": "nuxt dev",
9
+ "preview": "nuxt preview",
10
+ "postinstall": "nuxt prepare"
11
+ },
12
+ "dependencies": {
13
+ "vue": "^3.5.13"
14
+ },
15
+ "devDependencies": {
16
+ "nuxt": "^3.14.0",
17
+ "typescript": "^5.7.0"
18
+ }
19
+ }
@@ -0,0 +1,7 @@
1
+ <template>
2
+ <div>
3
+ <h1>Welcome</h1>
4
+ <p>Your web application is ready. Edit this page in pages/index.vue.</p>
5
+ <p>API endpoint: <code>/api</code></p>
6
+ </div>
7
+ </template>
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "./.nuxt/tsconfig.json"
3
+ }
@@ -0,0 +1,203 @@
1
+ # {{appName}}
2
+
3
+ Lambda API application using Philadelphia constructs and philaroute.
4
+
5
+ Generated on {{timestamp}}
6
+
7
+ ## Architecture
8
+
9
+ ![Architecture Diagram](https://github.com/CityOfPhiladelphia/phila-ctl/blob/main/packages/constructs/docs/diagrams/lambda-api.drawio)
10
+
11
+ View the [architecture diagram](https://github.com/CityOfPhiladelphia/phila-ctl/blob/main/packages/constructs/docs/diagrams/lambda-api.drawio) in draw.io or VS Code with the Draw.io extension.
12
+
13
+ ## Quick Start
14
+
15
+ ### Prerequisites
16
+
17
+ - Node.js 20+
18
+ - AWS CLI configured with SSO
19
+ - AWS profile named `phila-{{appName}}`
20
+
21
+ ### Setup
22
+
23
+ ```bash
24
+ # Install dependencies
25
+ npm install
26
+
27
+ # Build all packages
28
+ npm run build
29
+ ```
30
+
31
+ ### Deployment
32
+
33
+ ```bash
34
+ # Configure AWS profile
35
+ export AWS_PROFILE=phila-{{appName}}
36
+
37
+ # Deploy to dev environment
38
+ city deploy dev
39
+
40
+ # Deploy to test environment
41
+ city deploy test
42
+
43
+ # Deploy to production (requires confirmation)
44
+ city deploy prod
45
+ ```
46
+
47
+ ### Development
48
+
49
+ ```bash
50
+ # Build TypeScript
51
+ npm run build
52
+
53
+ # View CDK diff before deploying
54
+ npm run diff
55
+
56
+ # Synthesize CloudFormation template
57
+ npm run synth
58
+ ```
59
+
60
+ ## Project Structure
61
+
62
+ ```
63
+ .
64
+ ├── cdk/ # CDK infrastructure code
65
+ │ └── app.ts # Main CDK application
66
+ ├── apps/ # Lambda function code
67
+ │ └── {{lambdaName}}/ # Lambda handler
68
+ │ └── index.ts # Handler implementation
69
+ └── city.config.json # City CLI configuration
70
+ ```
71
+
72
+ ## API Usage
73
+
74
+ After deployment, the API URL is available in SSM Parameter Store:
75
+
76
+ ```bash
77
+ aws ssm get-parameter --name "/dev/{{appName}}/api/main/url" --query Parameter.Value --output text
78
+ ```
79
+
80
+ Or use the City CLI:
81
+
82
+ ```bash
83
+ city config list --env dev
84
+ ```
85
+
86
+ ## Routing with philaroute
87
+
88
+ This template uses [@phila/philaroute](https://www.npmjs.com/package/@phila/philaroute) for HTTP routing. Routes are defined using a composable pipeline pattern.
89
+
90
+ ### Defining Routes
91
+
92
+ ```typescript
93
+ import { Router, http } from '@phila/philaroute';
94
+
95
+ const router = Router({ cors: { 'Access-Control-Allow-Origin': '*' } });
96
+
97
+ // Simple response
98
+ const health = router.path('/health');
99
+ health.get([
100
+ http.response({
101
+ statusCode: 200,
102
+ body: { status: 'healthy' },
103
+ }),
104
+ ]);
105
+
106
+ // With request handling
107
+ const items = router.path('/items/:id');
108
+ items.get([
109
+ async (acc) => {
110
+ const id = acc.request?.params?.id;
111
+ // ... fetch item from database
112
+ return {
113
+ ...acc,
114
+ response: {
115
+ statusCode: 200,
116
+ body: { id, name: 'Example' },
117
+ },
118
+ };
119
+ },
120
+ ]);
121
+ ```
122
+
123
+ ### Pipeline Functions
124
+
125
+ Each route handler is an array of pipeline functions. Each function receives an accumulator and returns a modified accumulator:
126
+
127
+ ```typescript
128
+ type RestAccumulator = {
129
+ request?: {
130
+ params?: { [key: string]: string }; // Path and query parameters
131
+ body?: any; // Parsed request body
132
+ headers?: { [key: string]: string }; // Request headers
133
+ };
134
+ data?: { [key: string]: any }; // Shared data between pipeline steps
135
+ response: {
136
+ statusCode?: number;
137
+ headers?: { [key: string]: string };
138
+ body?: string | Record<string, any> | any[];
139
+ };
140
+ };
141
+ ```
142
+
143
+ ### Composable Middleware
144
+
145
+ Create reusable pipeline functions:
146
+
147
+ ```typescript
148
+ const validateAuth = async (acc: RestAccumulator) => {
149
+ const token = acc.request?.headers?.authorization;
150
+ if (!token) {
151
+ return {
152
+ ...acc,
153
+ response: { statusCode: 401, body: { error: 'Unauthorized' } },
154
+ };
155
+ }
156
+ return { ...acc, data: { ...acc.data, userId: 'decoded-user-id' } };
157
+ };
158
+
159
+ // Use in routes
160
+ items.post([validateAuth, createItem]);
161
+ ```
162
+
163
+ ## Environment Variables
164
+
165
+ Lambda functions automatically receive:
166
+ - `APP_NAME` - Application name ({{appName}})
167
+ - `ENVIRONMENT` - Current environment (dev/test/prod)
168
+
169
+ ## Adding a Database
170
+
171
+ To add a database to your API:
172
+
173
+ 1. Update to use a different template:
174
+ - `lambda-postgres-api` - For PostgreSQL database
175
+ - `lambda-dynamo-api` - For DynamoDB table
176
+
177
+ 2. Or manually update your CDK code to use composed constructs like `LambdaPostgresApi`
178
+
179
+ ## Resources Created
180
+
181
+ This application creates:
182
+ - **API Gateway REST API** - HTTP endpoint for your application
183
+ - **Lambda Function** - Serverless compute for handling requests
184
+ - **VPC Security Group** - Network security for Lambda
185
+ - **IAM Role** - Permissions for Lambda execution
186
+ - **SSM Parameters** - Resource discovery (API URL, Lambda ARN)
187
+ - **CloudWatch Logs** - Application logs
188
+
189
+ ## Next Steps
190
+
191
+ 1. Define your routes in `apps/{{lambdaName}}/index.ts`
192
+ 2. Create pipeline functions for validation and business logic
193
+ 3. Add shared middleware for authentication, logging, etc.
194
+ 4. Write tests for your handlers
195
+ 5. Set up CI/CD pipeline
196
+
197
+ ## Support
198
+
199
+ For issues or questions:
200
+ - [Philadelphia Infrastructure Library Documentation](https://github.com/CityOfPhiladelphia/phila-ctl)
201
+ - [philaroute Documentation](https://www.npmjs.com/package/@phila/philaroute)
202
+ - [AWS CDK Documentation](https://docs.aws.amazon.com/cdk/)
203
+ - [API Gateway Developer Guide](https://docs.aws.amazon.com/apigateway/)
@@ -0,0 +1,89 @@
1
+ // ABOUTME: Lambda API handler using philaroute HTTP router
2
+ // ABOUTME: Provides REST endpoint scaffolding with optional database connection patterns
3
+
4
+ /**
5
+ * HTTP routing using @phila/philaroute
6
+ * @see https://github.com/CityOfPhiladelphia/philaroute
7
+ *
8
+ * Database connections (when needed):
9
+ *
10
+ * PostgreSQL using @phila/db-postgres
11
+ * @see https://github.com/CityOfPhiladelphia/db-postgres
12
+ *
13
+ * import { getPool } from '@phila/db-postgres';
14
+ *
15
+ * const items = {
16
+ * list: async (acc: RestAccumulator) => {
17
+ * const pool = await getPool();
18
+ * const result = await pool.query('SELECT * FROM items');
19
+ * acc.data.items = result.rows;
20
+ * return acc;
21
+ * }
22
+ * };
23
+ *
24
+ * Oracle using @phila/db-oracle
25
+ * @see https://github.com/CityOfPhiladelphia/db-oracle
26
+ *
27
+ * import { getConnection } from '@phila/db-oracle';
28
+ *
29
+ * const items = {
30
+ * list: async (acc: RestAccumulator) => {
31
+ * const conn = await getConnection();
32
+ * const result = await conn.execute('SELECT * FROM items');
33
+ * acc.data.items = result.rows;
34
+ * return acc;
35
+ * }
36
+ * };
37
+ *
38
+ * Environment variables (DB_SECRET_ARN, DB_NAME) are set automatically
39
+ * by the CDK construct when a database is attached to the stack.
40
+ */
41
+
42
+ import type { APIGWV1Payload } from '@phila/philaroute/dist/types';
43
+ import type { RestAccumulator } from '@phila/philaroute/dist/types';
44
+ import { Router, http, validate } from '@phila/philaroute';
45
+
46
+ const router = Router({
47
+ cors: {
48
+ 'Access-Control-Allow-Origin': '*',
49
+ 'Access-Control-Allow-Method': 'GET,POST,PUT,DELETE,OPTIONS',
50
+ 'Access-Control-Allow-Headers': 'Content-Type,Authorization',
51
+ },
52
+ });
53
+
54
+ const health = {
55
+ check: async (acc: RestAccumulator) => {
56
+ acc.data.status = 'healthy';
57
+ acc.data.timestamp = new Date().toISOString();
58
+ return acc;
59
+ },
60
+ };
61
+
62
+ const hello = {
63
+ greet: async (acc: RestAccumulator) => {
64
+ acc.data.message = `Hello, ${acc.data.valid.parameters.name}!`;
65
+ return acc;
66
+ },
67
+ };
68
+
69
+ const items = {
70
+ create: async (acc: RestAccumulator) => {
71
+ acc.data.item = { id: '123', ...acc.data.valid.body };
72
+ acc.data.message = 'Item created';
73
+ return acc;
74
+ },
75
+ };
76
+
77
+ // Route definitions
78
+ // The router automatically responds with 200 and acc.data as body.
79
+ // Use http.response({ statusCode }) only when overriding (e.g., 201 for POST).
80
+
81
+ router.path('/health').get([health.check]);
82
+
83
+ router.path('/hello').get([validate.parameters(['name']), hello.greet]);
84
+
85
+ router
86
+ .path('/items')
87
+ .post([validate.body({ name: 'string' }), items.create, http.response({ statusCode: 201 })]);
88
+
89
+ export const handler = async (event: APIGWV1Payload) => router.routeToPath(event);
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "{{lambdaName}}",
3
+ "version": "1.0.0",
4
+ "description": "Lambda function handler",
5
+ "private": true,
6
+ "scripts": {
7
+ "build": "npx tsc",
8
+ "watch": "npx tsc -w"
9
+ },
10
+ "dependencies": {
11
+ "@phila/philaroute": "^1.0.12",
12
+ "@types/aws-lambda": "^8.10.0"
13
+ },
14
+ "devDependencies": {
15
+ "typescript": "^5.3.0"
16
+ }
17
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "dist",
5
+ "rootDir": "."
6
+ },
7
+ "include": ["*.ts"]
8
+ }
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/env node
2
+ import 'source-map-support/register';
3
+ import { App, Aspects, Stack } from 'aws-cdk-lib';
4
+ import { AwsSolutionsChecks, NIST80053R5Checks } from 'cdk-nag';
5
+ import { LambdaApi, Confidentiality, Environment } from '@phila/constructs';
6
+
7
+ const app = new App();
8
+
9
+ // Environment is determined by CDK context
10
+ const environment = app.node.tryGetContext('environment') as Environment;
11
+
12
+ if (!environment) {
13
+ throw new Error('Environment must be specified via context. Use: cdk deploy -c environment=dev');
14
+ }
15
+
16
+ // Read compliance frameworks from context
17
+ const compliance = app.node.tryGetContext('compliance');
18
+ const complianceFrameworks = compliance ? compliance.split(',') : [];
19
+
20
+ // Application context with governance metadata
21
+ const context = {
22
+ appName: '{{appName}}',
23
+ environment,
24
+ department: '{{department}}',
25
+ team: '{{team}}',
26
+ contact: '{{contact}}',
27
+ compliance: complianceFrameworks,
28
+ confidentiality: Confidentiality.{{CONFIDENTIALITY}},
29
+ };
30
+
31
+ // Stack name follows pattern: {appName}-{environment}
32
+ const stack = new Stack(app, '{{appName}}-' + environment, {
33
+ env: {
34
+ account: process.env.CDK_DEFAULT_ACCOUNT,
35
+ region: process.env.CDK_DEFAULT_REGION || 'us-east-1',
36
+ },
37
+ stackName: '{{appName}}-' + environment,
38
+ });
39
+
40
+ // Create the LambdaApi construct
41
+ new LambdaApi(stack, '{{appName}}Api', {
42
+ ...context,
43
+ apiId: 'main',
44
+ runtime: 'nodejs20',
45
+ handler: 'index.handler',
46
+ codeDir: '../apps/{{lambdaName}}',
47
+ });
48
+
49
+ // Apply compliance checks
50
+ Aspects.of(app).add(new NIST80053R5Checks({ verbose: true }));
51
+ Aspects.of(app).add(new AwsSolutionsChecks({ verbose: true }));
52
+
53
+ app.synth();
@@ -0,0 +1,68 @@
1
+ {
2
+ "app": "npx ts-node --prefer-ts-exts app.ts",
3
+ "watch": {
4
+ "include": ["**"],
5
+ "exclude": [
6
+ "README.md",
7
+ "cdk*.json",
8
+ "**/*.d.ts",
9
+ "**/*.js",
10
+ "tsconfig.json",
11
+ "package*.json",
12
+ "yarn.lock",
13
+ "node_modules",
14
+ "test"
15
+ ]
16
+ },
17
+ "context": {
18
+ "@aws-cdk/aws-lambda:recognizeLayerVersion": true,
19
+ "@aws-cdk/core:checkSecretUsage": true,
20
+ "@aws-cdk/core:target-partitions": ["aws", "aws-cn"],
21
+ "@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver": true,
22
+ "@aws-cdk/aws-ec2:uniqueImdsv2TemplateName": true,
23
+ "@aws-cdk/aws-ecs:arnFormatIncludesClusterName": true,
24
+ "@aws-cdk/aws-iam:minimizePolicies": true,
25
+ "@aws-cdk/core:validateSnapshotRemovalPolicy": true,
26
+ "@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName": true,
27
+ "@aws-cdk/aws-s3:createDefaultLoggingPolicy": true,
28
+ "@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption": true,
29
+ "@aws-cdk/aws-apigateway:disableCloudWatchRole": false,
30
+ "@aws-cdk/core:enablePartitionLiterals": true,
31
+ "@aws-cdk/aws-events:eventsTargetQueueSameAccount": true,
32
+ "@aws-cdk/aws-iam:standardizedServicePrincipals": true,
33
+ "@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": true,
34
+ "@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": true,
35
+ "@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": true,
36
+ "@aws-cdk/aws-route53-patters:useCertificate": true,
37
+ "@aws-cdk/customresources:installLatestAwsSdkDefault": false,
38
+ "@aws-cdk/aws-rds:databaseProxyUniqueResourceName": true,
39
+ "@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup": true,
40
+ "@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId": true,
41
+ "@aws-cdk/aws-ec2:launchTemplateDefaultUserData": true,
42
+ "@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments": true,
43
+ "@aws-cdk/aws-redshift:columnId": true,
44
+ "@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2": true,
45
+ "@aws-cdk/aws-ec2:restrictDefaultSecurityGroup": true,
46
+ "@aws-cdk/aws-apigateway:requestValidatorUniqueId": true,
47
+ "@aws-cdk/aws-kms:aliasNameRef": true,
48
+ "@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig": true,
49
+ "@aws-cdk/core:includePrefixInUniqueNameGeneration": true,
50
+ "@aws-cdk/aws-efs:denyAnonymousAccess": true,
51
+ "@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby": true,
52
+ "@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion": true,
53
+ "@aws-cdk/aws-efs:mountTargetOrderInsensitiveLogicalId": true,
54
+ "@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters": true,
55
+ "@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": true,
56
+ "@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": true,
57
+ "@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": true,
58
+ "@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": true,
59
+ "@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": true,
60
+ "@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2": true,
61
+ "@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope": true,
62
+ "@aws-cdk/aws-eks:nodegroupNameAttribute": true,
63
+ "@aws-cdk/aws-ec2:ebsDefaultGp3Volume": true,
64
+ "@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm": true,
65
+ "@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault": false,
66
+ "@aws-cdk/aws-s3:keepNotificationInImportedBucket": false
67
+ }
68
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "cdk",
3
+ "version": "1.0.0",
4
+ "private": true,
5
+ "scripts": {
6
+ "build": "tsc",
7
+ "watch": "tsc -w",
8
+ "cdk": "cdk"
9
+ },
10
+ "dependencies": {
11
+ "@phila/constructs": "file:{{constructsPath}}",
12
+ "aws-cdk-lib": "^2.100.0",
13
+ "cdk-nag": "^2.28.0",
14
+ "constructs": "^10.0.0",
15
+ "source-map-support": "^0.5.21"
16
+ },
17
+ "devDependencies": {
18
+ "@types/node": "^20.10.0",
19
+ "aws-cdk": "^2.100.0",
20
+ "ts-node": "^10.9.0",
21
+ "typescript": "^5.3.0"
22
+ }
23
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "../tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "dist",
5
+ "rootDir": "."
6
+ },
7
+ "include": ["*.ts"],
8
+ "exclude": ["node_modules", "cdk.out"]
9
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "{{appName}}",
3
+ "version": "1.0.0",
4
+ "description": "Lambda API application using Philadelphia constructs",
5
+ "private": true,
6
+ "scripts": {
7
+ "build": "npm run build --workspaces",
8
+ "test": "npm test --workspaces",
9
+ "synth": "cd cdk && cdk synth",
10
+ "deploy": "cd cdk && cdk deploy",
11
+ "diff": "cd cdk && cdk diff"
12
+ },
13
+ "workspaces": [
14
+ "cdk",
15
+ "apps/*"
16
+ ],
17
+ "devDependencies": {
18
+ "typescript": "^5.3.0"
19
+ }
20
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2020",
4
+ "module": "commonjs",
5
+ "lib": ["ES2020"],
6
+ "declaration": true,
7
+ "strict": true,
8
+ "noImplicitAny": true,
9
+ "strictNullChecks": true,
10
+ "noImplicitThis": true,
11
+ "alwaysStrict": true,
12
+ "noUnusedLocals": false,
13
+ "noUnusedParameters": false,
14
+ "noImplicitReturns": true,
15
+ "noFallthroughCasesInSwitch": false,
16
+ "inlineSourceMap": true,
17
+ "inlineSources": true,
18
+ "experimentalDecorators": true,
19
+ "strictPropertyInitialization": false,
20
+ "typeRoots": ["./node_modules/@types"],
21
+ "skipLibCheck": true,
22
+ "esModuleInterop": true,
23
+ "forceConsistentCasingInFileNames": true,
24
+ "resolveJsonModule": true
25
+ },
26
+ "exclude": ["node_modules", "cdk.out"]
27
+ }