@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,184 @@
1
+ # {{appName}}
2
+
3
+ Lambda DynamoDB 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-dynamo-api.drawio)
10
+
11
+ View the [architecture diagram](https://github.com/CityOfPhiladelphia/phila-ctl/blob/main/packages/constructs/docs/diagrams/lambda-dynamo-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 with DynamoDB operations
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
+ ## DynamoDB Operations
87
+
88
+ The template includes example CRUD operations using AWS SDK v3:
89
+
90
+ ```typescript
91
+ import { DynamoDBDocumentClient, GetCommand, PutCommand, DeleteCommand } from '@aws-sdk/lib-dynamodb';
92
+
93
+ // Get item
94
+ const result = await docClient.send(new GetCommand({
95
+ TableName: TABLE_NAME,
96
+ Key: { pk: id },
97
+ }));
98
+
99
+ // Put item
100
+ await docClient.send(new PutCommand({
101
+ TableName: TABLE_NAME,
102
+ Item: { pk: id, ...data },
103
+ }));
104
+
105
+ // Delete item
106
+ await docClient.send(new DeleteCommand({
107
+ TableName: TABLE_NAME,
108
+ Key: { pk: id },
109
+ }));
110
+ ```
111
+
112
+ ## Routing with philaroute
113
+
114
+ This template uses [@phila/philaroute](https://www.npmjs.com/package/@phila/philaroute) for HTTP routing with composable pipelines.
115
+
116
+ ### Validation
117
+
118
+ Use built-in validation utilities:
119
+
120
+ ```typescript
121
+ import { validate } from '@phila/philaroute';
122
+
123
+ items.post([
124
+ validate.body(['id', 'name']), // Validates required body fields
125
+ validate.params(['id']), // Validates required path params
126
+ async (acc) => { ... }
127
+ ]);
128
+ ```
129
+
130
+ ### Assertions
131
+
132
+ Use `validate.assert` for conditional checks - throws 400 for assertion failures:
133
+
134
+ ```typescript
135
+ validate.assert(item, 'Item not found', 404);
136
+ ```
137
+
138
+ ## Environment Variables
139
+
140
+ Lambda functions automatically receive:
141
+ - `APP_NAME` - Application name ({{appName}})
142
+ - `ENVIRONMENT` - Current environment (dev/test/prod)
143
+ - `TABLE_NAME` - DynamoDB table name
144
+ - `TABLE_ARN` - DynamoDB table ARN
145
+
146
+ ## DynamoDB Table Configuration
147
+
148
+ The default table uses a single partition key (`pk`). To modify:
149
+
150
+ 1. Edit `cdk/app.ts` to change key schema:
151
+ ```typescript
152
+ partitionKey: { name: 'pk', type: 'S' },
153
+ sortKey: { name: 'sk', type: 'S' }, // Uncomment for composite key
154
+ enableStream: true, // Uncomment for streams
155
+ ```
156
+
157
+ 2. Update handler code to match your key schema
158
+
159
+ ## Resources Created
160
+
161
+ This application creates:
162
+ - **API Gateway REST API** - HTTP endpoint for your application
163
+ - **Lambda Function** - Serverless compute for handling requests
164
+ - **DynamoDB Table** - NoSQL database with pay-per-request billing
165
+ - **VPC Security Group** - Network security for Lambda
166
+ - **IAM Role** - Permissions for Lambda execution (DynamoDB read/write)
167
+ - **SSM Parameters** - Resource discovery (API URL, Table Name, Lambda ARN)
168
+ - **CloudWatch Logs** - Application logs
169
+
170
+ ## Next Steps
171
+
172
+ 1. Define your data model and update key schema in `cdk/app.ts`
173
+ 2. Implement your routes in `apps/{{lambdaName}}/index.ts`
174
+ 3. Add validation and business logic using philaroute pipelines
175
+ 4. Write tests for your handlers
176
+ 5. Set up CI/CD pipeline
177
+
178
+ ## Support
179
+
180
+ For issues or questions:
181
+ - [Philadelphia Infrastructure Library Documentation](https://github.com/CityOfPhiladelphia/phila-ctl)
182
+ - [philaroute Documentation](https://www.npmjs.com/package/@phila/philaroute)
183
+ - [DynamoDB Developer Guide](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/)
184
+ - [AWS SDK v3 DynamoDB](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/dynamodb/)
@@ -0,0 +1,109 @@
1
+ // ABOUTME: Lambda API handler with DynamoDB database connection
2
+ // ABOUTME: Uses philaroute for routing with DynamoDB DocumentClient
3
+
4
+ /**
5
+ * HTTP routing using @phila/philaroute
6
+ * @see https://github.com/CityOfPhiladelphia/philaroute
7
+ *
8
+ * DynamoDB integration using AWS SDK v3 DocumentClient
9
+ */
10
+
11
+ import type { APIGWV1Payload } from '@phila/philaroute/dist/types';
12
+ import type { RestAccumulator } from '@phila/philaroute/dist/types';
13
+ import { Router, http, validate } from '@phila/philaroute';
14
+ import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
15
+ import {
16
+ DynamoDBDocumentClient,
17
+ GetCommand,
18
+ PutCommand,
19
+ DeleteCommand,
20
+ } from '@aws-sdk/lib-dynamodb';
21
+
22
+ const client = new DynamoDBClient({});
23
+ const docClient = DynamoDBDocumentClient.from(client);
24
+
25
+ const TABLE_NAME = process.env.TABLE_NAME!;
26
+
27
+ const router = Router({
28
+ cors: {
29
+ 'Access-Control-Allow-Origin': '*',
30
+ 'Access-Control-Allow-Method': 'GET,POST,PUT,DELETE,OPTIONS',
31
+ 'Access-Control-Allow-Headers': 'Content-Type,Authorization',
32
+ },
33
+ });
34
+
35
+ const health = {
36
+ check: async (acc: RestAccumulator) => {
37
+ acc.data.status = 'healthy';
38
+ acc.data.timestamp = new Date().toISOString();
39
+ return acc;
40
+ },
41
+ };
42
+
43
+ const items = {
44
+ get: async (acc: RestAccumulator) => {
45
+ const id = acc.data.valid.parameters.id;
46
+ const result = await docClient.send(
47
+ new GetCommand({
48
+ TableName: TABLE_NAME,
49
+ Key: { pk: id },
50
+ })
51
+ );
52
+
53
+ validate.assert(result.Item, 'Item not found', 404);
54
+
55
+ acc.data.item = result.Item;
56
+ return acc;
57
+ },
58
+
59
+ create: async (acc: RestAccumulator) => {
60
+ const body = acc.data.valid.body;
61
+ const item = {
62
+ pk: body.id,
63
+ ...body,
64
+ createdAt: new Date().toISOString(),
65
+ updatedAt: new Date().toISOString(),
66
+ };
67
+
68
+ await docClient.send(
69
+ new PutCommand({
70
+ TableName: TABLE_NAME,
71
+ Item: item,
72
+ })
73
+ );
74
+
75
+ acc.data.message = 'Item created';
76
+ acc.data.item = item;
77
+ return acc;
78
+ },
79
+
80
+ delete: async (acc: RestAccumulator) => {
81
+ const id = acc.data.valid.parameters.id;
82
+
83
+ await docClient.send(
84
+ new DeleteCommand({
85
+ TableName: TABLE_NAME,
86
+ Key: { pk: id },
87
+ })
88
+ );
89
+
90
+ acc.data.message = 'Item deleted';
91
+ return acc;
92
+ },
93
+ };
94
+
95
+ // Route definitions
96
+ // The router automatically responds with 200 and acc.data as body.
97
+ // Use http.response({ statusCode }) only when overriding (e.g., 201 for POST).
98
+
99
+ router.path('/health').get([health.check]);
100
+
101
+ router.path('/items/:id').get([validate.parameters(['id']), items.get]);
102
+
103
+ router
104
+ .path('/items')
105
+ .post([validate.body({ id: 'string' }), items.create, http.response({ statusCode: 201 })]);
106
+
107
+ router.path('/items/:id').delete([validate.parameters(['id']), items.delete]);
108
+
109
+ export const handler = async (event: APIGWV1Payload) => router.routeToPath(event);
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "{{lambdaName}}",
3
+ "version": "1.0.0",
4
+ "description": "Lambda function handler with DynamoDB",
5
+ "private": true,
6
+ "scripts": {
7
+ "build": "npx tsc",
8
+ "watch": "npx tsc -w"
9
+ },
10
+ "dependencies": {
11
+ "@phila/philaroute": "^1.0.12",
12
+ "@aws-sdk/client-dynamodb": "^3.0.0",
13
+ "@aws-sdk/lib-dynamodb": "^3.0.0",
14
+ "@types/aws-lambda": "^8.10.0"
15
+ },
16
+ "devDependencies": {
17
+ "typescript": "^5.3.0"
18
+ }
19
+ }
@@ -0,0 +1,24 @@
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
+ "outDir": "./dist",
21
+ "rootDir": "./"
22
+ },
23
+ "exclude": ["node_modules", "dist"]
24
+ }
@@ -0,0 +1,59 @@
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 { LambdaDynamoApi, 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 LambdaDynamoApi construct
41
+ new LambdaDynamoApi(stack, '{{appName}}Api', {
42
+ ...context,
43
+ apiId: 'main',
44
+ runtime: 'nodejs20',
45
+ handler: 'index.handler',
46
+ codeDir: '../apps/{{lambdaName}}',
47
+ // DynamoDB table configuration
48
+ partitionKey: { name: 'pk', type: 'S' },
49
+ // Uncomment for composite key (partition + sort):
50
+ // sortKey: { name: 'sk', type: 'S' },
51
+ // Uncomment to enable DynamoDB streams:
52
+ // enableStream: true,
53
+ });
54
+
55
+ // Apply compliance checks
56
+ Aspects.of(app).add(new NIST80053R5Checks({ verbose: true }));
57
+ Aspects.of(app).add(new AwsSolutionsChecks({ verbose: true }));
58
+
59
+ app.synth();
@@ -0,0 +1,73 @@
1
+ {
2
+ "app": "npx ts-node --prefer-ts-exts app.ts",
3
+ "watch": {
4
+ "include": [
5
+ "**"
6
+ ],
7
+ "exclude": [
8
+ "README.md",
9
+ "cdk*.json",
10
+ "**/*.d.ts",
11
+ "**/*.js",
12
+ "tsconfig.json",
13
+ "package*.json",
14
+ "yarn.lock",
15
+ "node_modules",
16
+ "test"
17
+ ]
18
+ },
19
+ "context": {
20
+ "@aws-cdk/aws-lambda:recognizeLayerVersion": true,
21
+ "@aws-cdk/core:checkSecretUsage": true,
22
+ "@aws-cdk/core:target-partitions": [
23
+ "aws",
24
+ "aws-cn"
25
+ ],
26
+ "@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver": true,
27
+ "@aws-cdk/aws-ec2:uniqueImdsv2TemplateName": true,
28
+ "@aws-cdk/aws-ecs:arnFormatIncludesClusterName": true,
29
+ "@aws-cdk/aws-iam:minimizePolicies": true,
30
+ "@aws-cdk/core:validateSnapshotRemovalPolicy": true,
31
+ "@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName": true,
32
+ "@aws-cdk/aws-s3:createDefaultLoggingPolicy": true,
33
+ "@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption": true,
34
+ "@aws-cdk/aws-apigateway:disableCloudWatchRole": false,
35
+ "@aws-cdk/core:enablePartitionLiterals": true,
36
+ "@aws-cdk/aws-events:eventsTargetQueueSameAccount": true,
37
+ "@aws-cdk/aws-iam:standardizedServicePrincipals": true,
38
+ "@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": true,
39
+ "@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": true,
40
+ "@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": true,
41
+ "@aws-cdk/aws-route53-patters:useCertificate": true,
42
+ "@aws-cdk/customresources:installLatestAwsSdkDefault": false,
43
+ "@aws-cdk/aws-rds:databaseProxyUniqueResourceName": true,
44
+ "@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup": true,
45
+ "@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId": true,
46
+ "@aws-cdk/aws-ec2:launchTemplateDefaultUserData": true,
47
+ "@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments": true,
48
+ "@aws-cdk/aws-redshift:columnId": true,
49
+ "@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2": true,
50
+ "@aws-cdk/aws-ec2:restrictDefaultSecurityGroup": true,
51
+ "@aws-cdk/aws-apigateway:requestValidatorUniqueId": true,
52
+ "@aws-cdk/aws-kms:aliasNameRef": true,
53
+ "@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig": true,
54
+ "@aws-cdk/core:includePrefixInUniqueNameGeneration": true,
55
+ "@aws-cdk/aws-efs:denyAnonymousAccess": true,
56
+ "@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby": true,
57
+ "@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion": true,
58
+ "@aws-cdk/aws-efs:mountTargetOrderInsensitiveLogicalId": true,
59
+ "@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters": true,
60
+ "@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": true,
61
+ "@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": true,
62
+ "@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": true,
63
+ "@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": true,
64
+ "@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": true,
65
+ "@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2": true,
66
+ "@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope": true,
67
+ "@aws-cdk/aws-eks:nodegroupNameAttribute": true,
68
+ "@aws-cdk/aws-ec2:ebsDefaultGp3Volume": true,
69
+ "@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm": true,
70
+ "@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault": false,
71
+ "@aws-cdk/aws-s3:keepNotificationInImportedBucket": false
72
+ }
73
+ }
@@ -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,14 @@
1
+ {
2
+ "extends": "../tsconfig.json",
3
+ "compilerOptions": {
4
+ "outDir": "dist",
5
+ "rootDir": "."
6
+ },
7
+ "include": [
8
+ "*.ts"
9
+ ],
10
+ "exclude": [
11
+ "node_modules",
12
+ "cdk.out"
13
+ ]
14
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "{{appName}}",
3
+ "version": "1.0.0",
4
+ "description": "Lambda DynamoDB 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
+ }