sst 3.0.0 → 3.0.1-10

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 (460) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.js +2 -0
  3. package/dist/resource.d.ts +4 -0
  4. package/dist/resource.js +15 -0
  5. package/dist/vector-client.d.ts +126 -0
  6. package/dist/vector-client.js +38 -0
  7. package/package.json +16 -137
  8. package/LICENSE +0 -21
  9. package/README.md +0 -43
  10. package/bootstrap.d.ts +0 -5
  11. package/bootstrap.js +0 -318
  12. package/bus.d.ts +0 -20
  13. package/bus.js +0 -52
  14. package/cache.d.ts +0 -4
  15. package/cache.js +0 -31
  16. package/cdk/deploy-stack.d.ts +0 -223
  17. package/cdk/deploy-stack.js +0 -562
  18. package/cdk/deployments-wrapper.d.ts +0 -3
  19. package/cdk/deployments-wrapper.js +0 -135
  20. package/cdk/deployments.d.ts +0 -327
  21. package/cdk/deployments.js +0 -360
  22. package/cdk/util.d.ts +0 -1
  23. package/cdk/util.js +0 -17
  24. package/cli/ci-info.d.ts +0 -4
  25. package/cli/ci-info.js +0 -8
  26. package/cli/colors.d.ts +0 -17
  27. package/cli/colors.js +0 -27
  28. package/cli/commands/bind.d.ts +0 -19
  29. package/cli/commands/bind.js +0 -360
  30. package/cli/commands/bootstrap.d.ts +0 -15
  31. package/cli/commands/bootstrap.js +0 -11
  32. package/cli/commands/build.d.ts +0 -17
  33. package/cli/commands/build.js +0 -25
  34. package/cli/commands/connect.d.ts +0 -17
  35. package/cli/commands/connect.js +0 -55
  36. package/cli/commands/console.d.ts +0 -15
  37. package/cli/commands/console.js +0 -22
  38. package/cli/commands/deploy.d.ts +0 -19
  39. package/cli/commands/deploy.js +0 -112
  40. package/cli/commands/dev.d.ts +0 -25
  41. package/cli/commands/dev.js +0 -351
  42. package/cli/commands/diff.d.ts +0 -19
  43. package/cli/commands/diff.js +0 -89
  44. package/cli/commands/plugins/kysely.d.ts +0 -1
  45. package/cli/commands/plugins/kysely.js +0 -87
  46. package/cli/commands/plugins/pothos.d.ts +0 -1
  47. package/cli/commands/plugins/pothos.js +0 -58
  48. package/cli/commands/plugins/warmer.d.ts +0 -1
  49. package/cli/commands/plugins/warmer.js +0 -33
  50. package/cli/commands/remove.d.ts +0 -19
  51. package/cli/commands/remove.js +0 -62
  52. package/cli/commands/secrets/get.d.ts +0 -19
  53. package/cli/commands/secrets/get.js +0 -27
  54. package/cli/commands/secrets/list.d.ts +0 -19
  55. package/cli/commands/secrets/list.js +0 -69
  56. package/cli/commands/secrets/load.d.ts +0 -17
  57. package/cli/commands/secrets/load.js +0 -47
  58. package/cli/commands/secrets/remove.d.ts +0 -19
  59. package/cli/commands/secrets/remove.js +0 -27
  60. package/cli/commands/secrets/secrets.d.ts +0 -2
  61. package/cli/commands/secrets/secrets.js +0 -16
  62. package/cli/commands/secrets/set.d.ts +0 -21
  63. package/cli/commands/secrets/set.js +0 -54
  64. package/cli/commands/telemetry.d.ts +0 -17
  65. package/cli/commands/telemetry.js +0 -24
  66. package/cli/commands/transform.d.ts +0 -17
  67. package/cli/commands/transform.js +0 -62
  68. package/cli/commands/types.d.ts +0 -15
  69. package/cli/commands/types.js +0 -25
  70. package/cli/commands/update.d.ts +0 -17
  71. package/cli/commands/update.js +0 -116
  72. package/cli/commands/version.d.ts +0 -15
  73. package/cli/commands/version.js +0 -15
  74. package/cli/local/router.d.ts +0 -44
  75. package/cli/local/router.js +0 -43
  76. package/cli/local/server.d.ts +0 -22
  77. package/cli/local/server.js +0 -319
  78. package/cli/program.d.ts +0 -19
  79. package/cli/program.js +0 -87
  80. package/cli/spinner.d.ts +0 -3
  81. package/cli/spinner.js +0 -14
  82. package/cli/sst.d.ts +0 -2
  83. package/cli/sst.js +0 -74
  84. package/cli/telemetry/environment.d.ts +0 -15
  85. package/cli/telemetry/environment.js +0 -27
  86. package/cli/telemetry/post-payload.d.ts +0 -1
  87. package/cli/telemetry/post-payload.js +0 -27
  88. package/cli/telemetry/project-id.d.ts +0 -2
  89. package/cli/telemetry/project-id.js +0 -47
  90. package/cli/telemetry/telemetry.d.ts +0 -19
  91. package/cli/telemetry/telemetry.js +0 -103
  92. package/cli/terminal.d.ts +0 -1
  93. package/cli/terminal.js +0 -8
  94. package/cli/ui/deploy.d.ts +0 -10
  95. package/cli/ui/deploy.js +0 -172
  96. package/cli/ui/functions.d.ts +0 -2
  97. package/cli/ui/functions.js +0 -130
  98. package/cli/ui/header.d.ts +0 -5
  99. package/cli/ui/header.js +0 -16
  100. package/cli/ui/stack.d.ts +0 -1
  101. package/cli/ui/stack.js +0 -6
  102. package/config.d.ts +0 -56
  103. package/config.js +0 -244
  104. package/constructs/Api.d.ts +0 -814
  105. package/constructs/Api.js +0 -743
  106. package/constructs/ApiGatewayV1Api.d.ts +0 -642
  107. package/constructs/ApiGatewayV1Api.js +0 -767
  108. package/constructs/App.d.ts +0 -168
  109. package/constructs/App.js +0 -493
  110. package/constructs/AppSyncApi.d.ts +0 -550
  111. package/constructs/AppSyncApi.js +0 -493
  112. package/constructs/AstroSite.d.ts +0 -39
  113. package/constructs/AstroSite.js +0 -78
  114. package/constructs/AstroSite.tsdoc.d.ts +0 -2
  115. package/constructs/AstroSite.tsdoc.js +0 -2
  116. package/constructs/Auth.d.ts +0 -100
  117. package/constructs/Auth.js +0 -177
  118. package/constructs/BaseSite.d.ts +0 -29
  119. package/constructs/BaseSite.js +0 -43
  120. package/constructs/Bucket.d.ts +0 -364
  121. package/constructs/Bucket.js +0 -327
  122. package/constructs/Cognito.d.ts +0 -232
  123. package/constructs/Cognito.js +0 -370
  124. package/constructs/Config.d.ts +0 -3
  125. package/constructs/Config.js +0 -3
  126. package/constructs/Construct.d.ts +0 -23
  127. package/constructs/Construct.js +0 -46
  128. package/constructs/Cron.d.ts +0 -164
  129. package/constructs/Cron.js +0 -114
  130. package/constructs/Distribution.d.ts +0 -143
  131. package/constructs/Distribution.js +0 -260
  132. package/constructs/EdgeFunction.d.ts +0 -49
  133. package/constructs/EdgeFunction.js +0 -442
  134. package/constructs/EventBus.d.ts +0 -444
  135. package/constructs/EventBus.js +0 -440
  136. package/constructs/Function.d.ts +0 -690
  137. package/constructs/Function.js +0 -583
  138. package/constructs/FunctionalStack.d.ts +0 -13
  139. package/constructs/FunctionalStack.js +0 -62
  140. package/constructs/Job.d.ts +0 -337
  141. package/constructs/Job.js +0 -404
  142. package/constructs/KinesisStream.d.ts +0 -224
  143. package/constructs/KinesisStream.js +0 -207
  144. package/constructs/Metadata.d.ts +0 -60
  145. package/constructs/Metadata.js +0 -1
  146. package/constructs/NextjsSite.d.ts +0 -104
  147. package/constructs/NextjsSite.js +0 -308
  148. package/constructs/Parameter.d.ts +0 -37
  149. package/constructs/Parameter.js +0 -53
  150. package/constructs/Queue.d.ts +0 -194
  151. package/constructs/Queue.js +0 -204
  152. package/constructs/RDS.d.ts +0 -221
  153. package/constructs/RDS.js +0 -363
  154. package/constructs/RemixSite.d.ts +0 -42
  155. package/constructs/RemixSite.js +0 -158
  156. package/constructs/RemixSite.tsdoc.d.ts +0 -2
  157. package/constructs/RemixSite.tsdoc.js +0 -2
  158. package/constructs/Script.d.ts +0 -160
  159. package/constructs/Script.js +0 -179
  160. package/constructs/Secret.d.ts +0 -30
  161. package/constructs/Secret.js +0 -59
  162. package/constructs/Service.d.ts +0 -487
  163. package/constructs/Service.js +0 -655
  164. package/constructs/SolidStartSite.d.ts +0 -37
  165. package/constructs/SolidStartSite.js +0 -66
  166. package/constructs/SolidStartSite.tsdoc.d.ts +0 -2
  167. package/constructs/SolidStartSite.tsdoc.js +0 -2
  168. package/constructs/SsrFunction.d.ts +0 -60
  169. package/constructs/SsrFunction.js +0 -226
  170. package/constructs/SsrSite.d.ts +0 -407
  171. package/constructs/SsrSite.js +0 -850
  172. package/constructs/Stack.d.ts +0 -127
  173. package/constructs/Stack.js +0 -243
  174. package/constructs/StaticSite.d.ts +0 -348
  175. package/constructs/StaticSite.js +0 -468
  176. package/constructs/SvelteKitSite.d.ts +0 -40
  177. package/constructs/SvelteKitSite.js +0 -106
  178. package/constructs/SvelteKitSite.tsdoc.d.ts +0 -2
  179. package/constructs/SvelteKitSite.tsdoc.js +0 -2
  180. package/constructs/Table.d.ts +0 -410
  181. package/constructs/Table.js +0 -425
  182. package/constructs/Topic.d.ts +0 -257
  183. package/constructs/Topic.js +0 -273
  184. package/constructs/WebSocketApi.d.ts +0 -355
  185. package/constructs/WebSocketApi.js +0 -404
  186. package/constructs/cdk/HttpAwsIntegration.d.ts +0 -32
  187. package/constructs/cdk/HttpAwsIntegration.js +0 -24
  188. package/constructs/cdk/certificate-base.d.ts +0 -18
  189. package/constructs/cdk/certificate-base.js +0 -26
  190. package/constructs/cdk/dns-validated-certificate.d.ts +0 -77
  191. package/constructs/cdk/dns-validated-certificate.js +0 -125
  192. package/constructs/cdk/website-redirect.d.ts +0 -53
  193. package/constructs/cdk/website-redirect.js +0 -77
  194. package/constructs/context.d.ts +0 -3
  195. package/constructs/context.js +0 -27
  196. package/constructs/deferred_task.d.ts +0 -6
  197. package/constructs/deferred_task.js +0 -45
  198. package/constructs/deprecated/NextjsSite.d.ts +0 -309
  199. package/constructs/deprecated/NextjsSite.js +0 -1074
  200. package/constructs/deprecated/cross-region-helper.d.ts +0 -7
  201. package/constructs/deprecated/cross-region-helper.js +0 -152
  202. package/constructs/deprecated/index.d.ts +0 -1
  203. package/constructs/deprecated/index.js +0 -1
  204. package/constructs/future/Auth.d.ts +0 -80
  205. package/constructs/future/Auth.js +0 -122
  206. package/constructs/future/index.d.ts +0 -1
  207. package/constructs/future/index.js +0 -1
  208. package/constructs/index.d.ts +0 -32
  209. package/constructs/index.js +0 -32
  210. package/constructs/static-file-list.d.ts +0 -1
  211. package/constructs/static-file-list.js +0 -51
  212. package/constructs/util/apiGatewayV1AccessLog.d.ts +0 -15
  213. package/constructs/util/apiGatewayV1AccessLog.js +0 -76
  214. package/constructs/util/apiGatewayV2AccessLog.d.ts +0 -10
  215. package/constructs/util/apiGatewayV2AccessLog.js +0 -107
  216. package/constructs/util/apiGatewayV2Cors.d.ts +0 -67
  217. package/constructs/util/apiGatewayV2Cors.js +0 -21
  218. package/constructs/util/apiGatewayV2Domain.d.ts +0 -47
  219. package/constructs/util/apiGatewayV2Domain.js +0 -208
  220. package/constructs/util/appSyncApiDomain.d.ts +0 -41
  221. package/constructs/util/appSyncApiDomain.js +0 -176
  222. package/constructs/util/builder.d.ts +0 -3
  223. package/constructs/util/builder.js +0 -9
  224. package/constructs/util/duration.d.ts +0 -3
  225. package/constructs/util/duration.js +0 -19
  226. package/constructs/util/functionBinding.d.ts +0 -31
  227. package/constructs/util/functionBinding.js +0 -104
  228. package/constructs/util/functionUrlCors.d.ts +0 -67
  229. package/constructs/util/functionUrlCors.js +0 -23
  230. package/constructs/util/permission.d.ts +0 -8
  231. package/constructs/util/permission.js +0 -228
  232. package/constructs/util/size.d.ts +0 -3
  233. package/constructs/util/size.js +0 -12
  234. package/constructs/util/warning.d.ts +0 -11
  235. package/constructs/util/warning.js +0 -21
  236. package/context/context.d.ts +0 -13
  237. package/context/context.js +0 -69
  238. package/context/context2.d.ts +0 -16
  239. package/context/context2.js +0 -108
  240. package/context/handler.d.ts +0 -25
  241. package/context/handler.js +0 -21
  242. package/context/index.d.ts +0 -2
  243. package/context/index.js +0 -2
  244. package/credentials.d.ts +0 -9
  245. package/credentials.js +0 -145
  246. package/error.d.ts +0 -6
  247. package/error.js +0 -10
  248. package/index.d.ts +0 -1
  249. package/index.js +0 -1
  250. package/iot.d.ts +0 -6
  251. package/iot.js +0 -163
  252. package/logger.d.ts +0 -3
  253. package/logger.js +0 -32
  254. package/node/actor/index.d.ts +0 -29
  255. package/node/actor/index.js +0 -17
  256. package/node/api/index.d.ts +0 -64
  257. package/node/api/index.js +0 -179
  258. package/node/auth/adapter/adapter.d.ts +0 -3
  259. package/node/auth/adapter/adapter.js +0 -3
  260. package/node/auth/adapter/facebook.d.ts +0 -2
  261. package/node/auth/adapter/facebook.js +0 -26
  262. package/node/auth/adapter/github.d.ts +0 -2
  263. package/node/auth/adapter/github.js +0 -21
  264. package/node/auth/adapter/google.d.ts +0 -9
  265. package/node/auth/adapter/google.js +0 -18
  266. package/node/auth/adapter/link.d.ts +0 -8
  267. package/node/auth/adapter/link.js +0 -39
  268. package/node/auth/adapter/oauth.d.ts +0 -25
  269. package/node/auth/adapter/oauth.js +0 -52
  270. package/node/auth/adapter/oidc.d.ts +0 -17
  271. package/node/auth/adapter/oidc.js +0 -50
  272. package/node/auth/adapter/twitch.d.ts +0 -2
  273. package/node/auth/adapter/twitch.js +0 -11
  274. package/node/auth/auth.d.ts +0 -24
  275. package/node/auth/auth.js +0 -74
  276. package/node/auth/index.d.ts +0 -13
  277. package/node/auth/index.js +0 -12
  278. package/node/auth/session.d.ts +0 -76
  279. package/node/auth/session.js +0 -121
  280. package/node/bucket/index.d.ts +0 -3
  281. package/node/bucket/index.js +0 -2
  282. package/node/config/index.d.ts +0 -13
  283. package/node/config/index.js +0 -22
  284. package/node/event-bus/index.d.ts +0 -51
  285. package/node/event-bus/index.js +0 -76
  286. package/node/function/index.d.ts +0 -3
  287. package/node/function/index.js +0 -3
  288. package/node/future/auth/adapter/adapter.d.ts +0 -10
  289. package/node/future/auth/adapter/adapter.js +0 -1
  290. package/node/future/auth/adapter/code.d.ts +0 -17
  291. package/node/future/auth/adapter/code.js +0 -68
  292. package/node/future/auth/adapter/facebook.d.ts +0 -16
  293. package/node/future/auth/adapter/facebook.js +0 -27
  294. package/node/future/auth/adapter/github.d.ts +0 -23
  295. package/node/future/auth/adapter/github.js +0 -23
  296. package/node/future/auth/adapter/google.d.ts +0 -28
  297. package/node/future/auth/adapter/google.js +0 -22
  298. package/node/future/auth/adapter/link.d.ts +0 -13
  299. package/node/future/auth/adapter/link.js +0 -47
  300. package/node/future/auth/adapter/microsoft.d.ts +0 -22
  301. package/node/future/auth/adapter/microsoft.js +0 -16
  302. package/node/future/auth/adapter/oauth.d.ts +0 -41
  303. package/node/future/auth/adapter/oauth.js +0 -67
  304. package/node/future/auth/adapter/oidc.d.ts +0 -30
  305. package/node/future/auth/adapter/oidc.js +0 -63
  306. package/node/future/auth/adapter/spotify.d.ts +0 -23
  307. package/node/future/auth/adapter/spotify.js +0 -22
  308. package/node/future/auth/encryption.d.ts +0 -2
  309. package/node/future/auth/encryption.js +0 -30
  310. package/node/future/auth/handler.d.ts +0 -46
  311. package/node/future/auth/handler.js +0 -280
  312. package/node/future/auth/index.d.ts +0 -17
  313. package/node/future/auth/index.js +0 -15
  314. package/node/future/auth/session.d.ts +0 -71
  315. package/node/future/auth/session.js +0 -146
  316. package/node/graphql/index.d.ts +0 -15
  317. package/node/graphql/index.js +0 -32
  318. package/node/job/index.d.ts +0 -37
  319. package/node/job/index.js +0 -64
  320. package/node/kinesis-stream/index.d.ts +0 -3
  321. package/node/kinesis-stream/index.js +0 -3
  322. package/node/queue/index.d.ts +0 -3
  323. package/node/queue/index.js +0 -2
  324. package/node/rds/index.d.ts +0 -3
  325. package/node/rds/index.js +0 -2
  326. package/node/service/index.d.ts +0 -3
  327. package/node/service/index.js +0 -4
  328. package/node/site/index.d.ts +0 -18
  329. package/node/site/index.js +0 -18
  330. package/node/table/index.d.ts +0 -3
  331. package/node/table/index.js +0 -4
  332. package/node/topic/index.d.ts +0 -3
  333. package/node/topic/index.js +0 -4
  334. package/node/util/index.d.ts +0 -2
  335. package/node/util/index.js +0 -196
  336. package/node/util/loader.d.ts +0 -2
  337. package/node/util/loader.js +0 -51
  338. package/node/websocket-api/index.d.ts +0 -23
  339. package/node/websocket-api/index.js +0 -48
  340. package/pothos.d.ts +0 -7
  341. package/pothos.js +0 -160
  342. package/project.d.ts +0 -75
  343. package/project.js +0 -188
  344. package/runtime/handlers/container.d.ts +0 -2
  345. package/runtime/handlers/container.js +0 -263
  346. package/runtime/handlers/dotnet.d.ts +0 -2
  347. package/runtime/handlers/dotnet.js +0 -115
  348. package/runtime/handlers/go.d.ts +0 -2
  349. package/runtime/handlers/go.js +0 -126
  350. package/runtime/handlers/java.d.ts +0 -2
  351. package/runtime/handlers/java.js +0 -103
  352. package/runtime/handlers/node.d.ts +0 -2
  353. package/runtime/handlers/node.js +0 -269
  354. package/runtime/handlers/python.d.ts +0 -2
  355. package/runtime/handlers/python.js +0 -141
  356. package/runtime/handlers/pythonBundling.d.ts +0 -82
  357. package/runtime/handlers/pythonBundling.js +0 -80
  358. package/runtime/handlers/rust.d.ts +0 -2
  359. package/runtime/handlers/rust.js +0 -110
  360. package/runtime/handlers.d.ts +0 -74
  361. package/runtime/handlers.js +0 -151
  362. package/runtime/iot.d.ts +0 -1
  363. package/runtime/iot.js +0 -17
  364. package/runtime/runtime.d.ts +0 -32
  365. package/runtime/runtime.js +0 -1
  366. package/runtime/server.d.ts +0 -6
  367. package/runtime/server.js +0 -150
  368. package/runtime/workers.d.ts +0 -37
  369. package/runtime/workers.js +0 -85
  370. package/stacks/app-metadata.d.ts +0 -7
  371. package/stacks/app-metadata.js +0 -75
  372. package/stacks/assembly.d.ts +0 -1
  373. package/stacks/assembly.js +0 -4
  374. package/stacks/build.d.ts +0 -9
  375. package/stacks/build.js +0 -110
  376. package/stacks/deploy.d.ts +0 -9
  377. package/stacks/deploy.js +0 -240
  378. package/stacks/diff.d.ts +0 -8
  379. package/stacks/diff.js +0 -62
  380. package/stacks/index.d.ts +0 -10
  381. package/stacks/index.js +0 -10
  382. package/stacks/metadata.d.ts +0 -11
  383. package/stacks/metadata.js +0 -83
  384. package/stacks/monitor.d.ts +0 -32
  385. package/stacks/monitor.js +0 -151
  386. package/stacks/remove.d.ts +0 -8
  387. package/stacks/remove.js +0 -76
  388. package/stacks/synth.d.ts +0 -12
  389. package/stacks/synth.js +0 -94
  390. package/support/base-site-archiver.mjs +0 -99
  391. package/support/base-site-custom-resource/s3-handler.py +0 -195
  392. package/support/base-site-custom-resource/s3-upload.py +0 -89
  393. package/support/bootstrap-metadata-function/index.mjs +0 -58011
  394. package/support/bridge/Dockerfile +0 -3
  395. package/support/bridge/bridge.mjs +0 -146
  396. package/support/certificate-requestor/index.js +0 -549
  397. package/support/custom-resources/index.mjs +0 -180627
  398. package/support/dotnet31-bootstrap/Program.cs +0 -17
  399. package/support/dotnet31-bootstrap/dotnet-bootstrap.csproj +0 -12
  400. package/support/dotnet31-bootstrap/release/Amazon.Lambda.Core.dll +0 -0
  401. package/support/dotnet31-bootstrap/release/Amazon.Lambda.RuntimeSupport.dll +0 -0
  402. package/support/dotnet31-bootstrap/release/System.Runtime.CompilerServices.Unsafe.dll +0 -0
  403. package/support/dotnet31-bootstrap/release/System.Text.Encodings.Web.dll +0 -0
  404. package/support/dotnet31-bootstrap/release/System.Text.Json.dll +0 -0
  405. package/support/dotnet31-bootstrap/release/dotnet-bootstrap +0 -0
  406. package/support/dotnet31-bootstrap/release/dotnet-bootstrap.deps.json +0 -230
  407. package/support/dotnet31-bootstrap/release/dotnet-bootstrap.dll +0 -0
  408. package/support/dotnet31-bootstrap/release/dotnet-bootstrap.pdb +0 -0
  409. package/support/dotnet31-bootstrap/release/dotnet-bootstrap.runtimeconfig.json +0 -9
  410. package/support/dotnet6-bootstrap/Program.cs +0 -17
  411. package/support/dotnet6-bootstrap/dotnet-bootstrap.csproj +0 -12
  412. package/support/dotnet6-bootstrap/release/Amazon.Lambda.Core.dll +0 -0
  413. package/support/dotnet6-bootstrap/release/Amazon.Lambda.RuntimeSupport.dll +0 -0
  414. package/support/dotnet6-bootstrap/release/dotnet-bootstrap +0 -0
  415. package/support/dotnet6-bootstrap/release/dotnet-bootstrap.deps.json +0 -59
  416. package/support/dotnet6-bootstrap/release/dotnet-bootstrap.dll +0 -0
  417. package/support/dotnet6-bootstrap/release/dotnet-bootstrap.pdb +0 -0
  418. package/support/dotnet6-bootstrap/release/dotnet-bootstrap.runtimeconfig.json +0 -12
  419. package/support/edge-function/edge-lambda-version.mjs +0 -3
  420. package/support/edge-function/edge-lambda.mjs +0 -3
  421. package/support/edge-function/s3-bucket.mjs +0 -3
  422. package/support/event-bus-retrier/index.mjs +0 -75
  423. package/support/java-runtime/install.sh +0 -25
  424. package/support/java-runtime/pom.xml +0 -39
  425. package/support/java-runtime/release/aws-lambda-java-core-1.2.0.jar +0 -0
  426. package/support/java-runtime/release/aws-lambda-java-runtime-interface-client-1.1.0.jar +0 -0
  427. package/support/java-runtime/release/aws-lambda-java-serialization-1.0.0.jar +0 -0
  428. package/support/job-manager/index.mjs +0 -57679
  429. package/support/nixpacks/Dockerfile +0 -6
  430. package/support/nodejs-runtime/index.mjs +0 -169
  431. package/support/python-runtime/Dockerfile +0 -9
  432. package/support/python-runtime/Dockerfile.custom +0 -21
  433. package/support/python-runtime/Dockerfile.dependencies +0 -26
  434. package/support/python-runtime/runtime.py +0 -127
  435. package/support/rds-migrator/index.mjs +0 -49
  436. package/support/remix-site-function/edge-server.js +0 -161
  437. package/support/remix-site-function/polyfill.js +0 -24
  438. package/support/remix-site-function/regional-server.js +0 -164
  439. package/support/script-function/index.mjs +0 -48760
  440. package/support/service-dev-function/index.js +0 -1
  441. package/support/signing-function/index.mjs +0 -3769
  442. package/support/sls-nextjs-site-build-helper/build.cjs +0 -91
  443. package/support/sls-nextjs-site-build-helper/index-wrapper.js +0 -19
  444. package/support/sls-nextjs-site-function-code-replacer/lambda-code-updater.py +0 -156
  445. package/support/sls-nextjs-site-stub/index.html +0 -99
  446. package/support/ssr-site-function-archiver.mjs +0 -96
  447. package/support/ssr-site-function-stub/index.js +0 -5
  448. package/support/ssr-warmer/index.mjs +0 -34235
  449. package/util/error.d.ts +0 -3
  450. package/util/error.js +0 -6
  451. package/util/fs.d.ts +0 -4
  452. package/util/fs.js +0 -46
  453. package/util/lazy.d.ts +0 -1
  454. package/util/lazy.js +0 -11
  455. package/util/module.d.ts +0 -1
  456. package/util/module.js +0 -5
  457. package/util/process.d.ts +0 -2
  458. package/util/process.js +0 -3
  459. package/watcher.d.ts +0 -14
  460. package/watcher.js +0 -35
@@ -1,655 +0,0 @@
1
- import path from "path";
2
- import url from "url";
3
- import fs from "fs";
4
- import { VisibleError } from "../error.js";
5
- import { execAsync } from "../util/process.js";
6
- import { existsAsync } from "../util/fs.js";
7
- import { Colors } from "../cli/colors.js";
8
- import { Construct } from "constructs";
9
- import { Duration as CdkDuration, IgnoreMode } from "aws-cdk-lib/core";
10
- import { Role, Effect, PolicyStatement, AccountPrincipal, ServicePrincipal, CompositePrincipal, } from "aws-cdk-lib/aws-iam";
11
- import { ViewerProtocolPolicy, AllowedMethods, CachedMethods, CachePolicy, CacheQueryStringBehavior, CacheHeaderBehavior, CacheCookieBehavior, OriginProtocolPolicy, OriginRequestPolicy, } from "aws-cdk-lib/aws-cloudfront";
12
- import { HttpOrigin } from "aws-cdk-lib/aws-cloudfront-origins";
13
- import { Stack } from "./Stack.js";
14
- import { Distribution } from "./Distribution.js";
15
- import { Function } from "./Function.js";
16
- import { Secret } from "./Secret.js";
17
- import { useDeferredTasks } from "./deferred_task.js";
18
- import { attachPermissionsToRole } from "./util/permission.js";
19
- import { bindEnvironment, bindPermissions, getParameterPath, getReferencedSecrets, } from "./util/functionBinding.js";
20
- import { useProject } from "../project.js";
21
- import { Vpc, } from "aws-cdk-lib/aws-ec2";
22
- import { AwsLogDriver, Cluster, ContainerImage, CpuArchitecture, FargateService, FargateTaskDefinition, } from "aws-cdk-lib/aws-ecs";
23
- import { LogGroup, LogRetention, RetentionDays } from "aws-cdk-lib/aws-logs";
24
- import { Platform } from "aws-cdk-lib/aws-ecr-assets";
25
- import { ApplicationLoadBalancer, } from "aws-cdk-lib/aws-elasticloadbalancingv2";
26
- import { createAppContext } from "./context.js";
27
- const __dirname = url.fileURLToPath(new URL(".", import.meta.url));
28
- const NIXPACKS_IMAGE_NAME = "sst-nixpacks";
29
- const supportedCpus = {
30
- "0.25 vCPU": 256,
31
- "0.5 vCPU": 512,
32
- "1 vCPU": 1024,
33
- "2 vCPU": 2048,
34
- "4 vCPU": 4096,
35
- "8 vCPU": 8192,
36
- "16 vCPU": 16384,
37
- };
38
- const supportedMemories = {
39
- "0.25 vCPU": {
40
- "0.5 GB": 512,
41
- "1 GB": 1024,
42
- "2 GB": 2048,
43
- },
44
- "0.5 vCPU": {
45
- "1 GB": 1024,
46
- "2 GB": 2048,
47
- "3 GB": 3072,
48
- "4 GB": 4096,
49
- },
50
- "1 vCPU": {
51
- "2 GB": 2048,
52
- "3 GB": 3072,
53
- "4 GB": 4096,
54
- "5 GB": 5120,
55
- "6 GB": 6144,
56
- "7 GB": 7168,
57
- "8 GB": 8192,
58
- },
59
- "2 vCPU": {
60
- "4 GB": 4096,
61
- "5 GB": 5120,
62
- "6 GB": 6144,
63
- "7 GB": 7168,
64
- "8 GB": 8192,
65
- "9 GB": 9216,
66
- "10 GB": 10240,
67
- "11 GB": 11264,
68
- "12 GB": 12288,
69
- "13 GB": 13312,
70
- "14 GB": 14336,
71
- "15 GB": 15360,
72
- "16 GB": 16384,
73
- },
74
- "4 vCPU": {
75
- "8 GB": 8192,
76
- "9 GB": 9216,
77
- "10 GB": 10240,
78
- "11 GB": 11264,
79
- "12 GB": 12288,
80
- "13 GB": 13312,
81
- "14 GB": 14336,
82
- "15 GB": 15360,
83
- "16 GB": 16384,
84
- "17 GB": 17408,
85
- "18 GB": 18432,
86
- "19 GB": 19456,
87
- "20 GB": 20480,
88
- "21 GB": 21504,
89
- "22 GB": 22528,
90
- "23 GB": 23552,
91
- "24 GB": 24576,
92
- "25 GB": 25600,
93
- "26 GB": 26624,
94
- "27 GB": 27648,
95
- "28 GB": 28672,
96
- "29 GB": 29696,
97
- "30 GB": 30720,
98
- },
99
- "8 vCPU": {
100
- "16 GB": 16384,
101
- "20 GB": 20480,
102
- "24 GB": 24576,
103
- "28 GB": 28672,
104
- "32 GB": 32768,
105
- "36 GB": 36864,
106
- "40 GB": 40960,
107
- "44 GB": 45056,
108
- "48 GB": 49152,
109
- "52 GB": 53248,
110
- "56 GB": 57344,
111
- "60 GB": 61440,
112
- },
113
- "16 vCPU": {
114
- "32 GB": 32768,
115
- "40 GB": 40960,
116
- "48 GB": 49152,
117
- "56 GB": 57344,
118
- "64 GB": 65536,
119
- "72 GB": 73728,
120
- "80 GB": 81920,
121
- "88 GB": 90112,
122
- "96 GB": 98304,
123
- "104 GB": 106496,
124
- "112 GB": 114688,
125
- "120 GB": 122880,
126
- },
127
- };
128
- /**
129
- * The `Service` construct is a higher level CDK construct that makes it easy to create modern web apps with Server Side Rendering capabilities.
130
- * @example
131
- * Deploys a service in the `app` directory.
132
- *
133
- * ```js
134
- * new Service(stack, "myApp", {
135
- * path: "app",
136
- * });
137
- * ```
138
- */
139
- export class Service extends Construct {
140
- id;
141
- props;
142
- doNotDeploy;
143
- devFunction;
144
- vpc;
145
- cluster;
146
- container;
147
- taskDefinition;
148
- distribution;
149
- constructor(scope, id, props) {
150
- super(scope, id);
151
- const app = scope.node.root;
152
- const stack = Stack.of(this);
153
- this.id = id;
154
- this.props = {
155
- path: ".",
156
- architecture: props?.architecture || "x86_64",
157
- cpu: props?.cpu || "0.25 vCPU",
158
- memory: props?.memory || "0.5 GB",
159
- port: props?.port || 3000,
160
- logRetention: props?.logRetention || "infinite",
161
- waitForInvalidation: false,
162
- ...props,
163
- };
164
- this.doNotDeploy =
165
- !stack.isActive || (app.mode === "dev" && !this.props.dev?.deploy);
166
- this.validateServiceExists();
167
- this.validateMemoryAndCpu();
168
- useServices().add(stack.stackName, id, this.props);
169
- if (this.doNotDeploy) {
170
- // @ts-expect-error
171
- this.vpc = this.cluster = this.container = this.taskDefinition = null;
172
- // @ts-expect-error
173
- this.distribution = null;
174
- this.devFunction = this.createDevFunction();
175
- return;
176
- }
177
- // Create ECS cluster
178
- const vpc = this.createVpc();
179
- const { cluster, container, taskDefinition, service } = this.createService(vpc);
180
- const { alb, target } = this.createLoadBalancer(vpc, service);
181
- this.createAutoScaling(service, target);
182
- // Create Distribution
183
- this.distribution = this.createDistribution(alb);
184
- this.vpc = vpc;
185
- this.cluster = cluster;
186
- this.container = container;
187
- this.taskDefinition = taskDefinition;
188
- this.bindForService(props?.bind || []);
189
- this.attachPermissionsForService(props?.permissions || []);
190
- Object.entries(props?.environment || {}).map(([key, value]) => this.addEnvironmentForService(key, value));
191
- useDeferredTasks().add(async () => {
192
- if (!app.isRunningSSTTest() && !props?.cdk?.container?.image) {
193
- Colors.line(`➜ Building the container image for the "${this.node.id}" service...`);
194
- // Build app
195
- let dockerfile;
196
- // case: custom Dockerfile provided
197
- if (this.props.file) {
198
- dockerfile = this.props.file;
199
- }
200
- // case: default Dockerfile found
201
- else if (await existsAsync(path.join(this.props.path, "Dockerfile"))) {
202
- dockerfile = "Dockerfile";
203
- }
204
- // case: nixpack
205
- else {
206
- await this.createNixpacksBuilder();
207
- dockerfile = await this.runNixpacksBuild();
208
- }
209
- await this.runDockerBuild(dockerfile);
210
- this.updateContainerImage(dockerfile, taskDefinition, container);
211
- }
212
- // Invalidate CloudFront
213
- this.distribution?.createInvalidation();
214
- });
215
- }
216
- /////////////////////
217
- // Public Properties
218
- /////////////////////
219
- /**
220
- * The CloudFront URL of the website.
221
- */
222
- get url() {
223
- if (this.doNotDeploy)
224
- return this.props.dev?.url;
225
- return this.distribution?.url;
226
- }
227
- /**
228
- * If the custom domain is enabled, this is the URL of the website with the
229
- * custom domain.
230
- */
231
- get customDomainUrl() {
232
- if (this.doNotDeploy)
233
- return;
234
- return this.distribution?.customDomainUrl;
235
- }
236
- /**
237
- * The internally created CDK resources.
238
- */
239
- get cdk() {
240
- if (this.doNotDeploy)
241
- return;
242
- return {
243
- vpc: this.vpc,
244
- cluster: this.cluster,
245
- distribution: this.distribution?.cdk.distribution,
246
- hostedZone: this.distribution?.cdk.hostedZone,
247
- certificate: this.distribution?.cdk.certificate,
248
- };
249
- }
250
- /////////////////////
251
- // Public Methods
252
- /////////////////////
253
- getConstructMetadata() {
254
- return {
255
- type: "Service",
256
- data: {
257
- mode: this.doNotDeploy
258
- ? "placeholder"
259
- : "deployed",
260
- path: this.props.path,
261
- customDomainUrl: this.customDomainUrl,
262
- url: this.url,
263
- devFunction: this.devFunction?.functionArn,
264
- task: this.taskDefinition?.taskDefinitionArn,
265
- container: this.container?.containerName,
266
- secrets: (this.props.bind || [])
267
- .filter((c) => c instanceof Secret)
268
- .map((c) => c.name),
269
- },
270
- };
271
- }
272
- /** @internal */
273
- getFunctionBinding() {
274
- const app = this.node.root;
275
- return this.distribution
276
- ? {
277
- clientPackage: "service",
278
- variables: {
279
- url: this.doNotDeploy
280
- ? {
281
- type: "plain",
282
- value: this.props.dev?.url ?? "localhost",
283
- }
284
- : {
285
- // Do not set real value b/c we don't want to make the Lambda function
286
- // depend on the Site. B/c often the site depends on the Api, causing
287
- // a CloudFormation circular dependency if the Api and the Site belong
288
- // to different stacks.
289
- type: "site_url",
290
- value: this.customDomainUrl || this.url,
291
- },
292
- },
293
- permissions: {
294
- "ssm:GetParameters": [
295
- `arn:${Stack.of(this).partition}:ssm:${app.region}:${app.account}:parameter${getParameterPath(this, "url")}`,
296
- ],
297
- },
298
- }
299
- : {
300
- clientPackage: "service",
301
- variables: {},
302
- permissions: {},
303
- };
304
- }
305
- /**
306
- * Binds additional resources to service.
307
- *
308
- * @example
309
- * ```js
310
- * service.bind([STRIPE_KEY, bucket]);
311
- * ```
312
- */
313
- bind(constructs) {
314
- this.devFunction?.bind(constructs);
315
- this.bindForService(constructs);
316
- }
317
- /**
318
- * Attaches the given list of permissions to allow the service
319
- * to access other AWS resources.
320
- *
321
- * @example
322
- * ```js
323
- * service.attachPermissions(["sns"]);
324
- * ```
325
- */
326
- attachPermissions(permissions) {
327
- this.devFunction?.attachPermissions(permissions);
328
- this.attachPermissionsForService(permissions);
329
- }
330
- /**
331
- * Attaches additional environment variable to the service.
332
- *
333
- * @example
334
- * ```js
335
- * service.addEnvironment({
336
- * DEBUG: "*"
337
- * });
338
- * ```
339
- */
340
- addEnvironment(name, value) {
341
- this.devFunction?.addEnvironment(name, value);
342
- this.addEnvironmentForService(name, value);
343
- }
344
- /////////////////////
345
- // Bundle Cluster
346
- /////////////////////
347
- validateServiceExists() {
348
- const { path: servicePath, file } = this.props;
349
- // Validate path exists
350
- if (!fs.existsSync(servicePath)) {
351
- throw new VisibleError(`In the "${this.node.id}" Service, path is not found at "${path.resolve(servicePath)}"`);
352
- }
353
- // Validate path is a directory
354
- if (fs.statSync(servicePath).isFile()) {
355
- throw new VisibleError([
356
- `In the "${this.node.id}" Service, the path "${path.resolve(servicePath)}" should be a directory.`,
357
- `Did you mean:`,
358
- ``,
359
- ` {`,
360
- ` path: "${path.dirname(servicePath)}",`,
361
- ` file: "${path.basename(servicePath)}",`,
362
- ` }`,
363
- ].join("\n"));
364
- }
365
- // Validate path exists
366
- if (file) {
367
- const dockerfilePath = path.join(servicePath, file);
368
- if (!fs.existsSync(dockerfilePath)) {
369
- throw new VisibleError(`In the "${this.node.id}" Service, no Dockerfile is found at "${dockerfilePath}". Make sure to set the "file" property to the path of the Dockerfile relative to "${servicePath}".`);
370
- }
371
- }
372
- }
373
- validateMemoryAndCpu() {
374
- const { memory, cpu } = this.props;
375
- if (!supportedCpus[cpu]) {
376
- throw new VisibleError(`In the "${this.node.id}" Service, only the following "cpu" settings are supported: ${Object.keys(supportedCpus).join(", ")}`);
377
- }
378
- // @ts-ignore
379
- if (!supportedMemories[cpu][memory]) {
380
- throw new VisibleError(`In the "${this.node.id}" Service, only the following "memory" settings are supported with "${cpu}": ${Object.keys(supportedMemories[cpu]).join(", ")}`);
381
- }
382
- }
383
- createVpc() {
384
- const { cdk } = this.props;
385
- return (cdk?.vpc ??
386
- new Vpc(this, "Vpc", {
387
- natGateways: 1,
388
- }));
389
- }
390
- createService(vpc) {
391
- const { architecture, cpu, memory, port, logRetention, cdk } = this.props;
392
- const app = this.node.root;
393
- const clusterName = app.logicalPrefixedName(this.node.id);
394
- const logGroup = new LogRetention(this, "LogRetention", {
395
- logGroupName: `/sst/service/${clusterName}`,
396
- retention: RetentionDays[logRetention.toUpperCase()],
397
- logRetentionRetryOptions: {
398
- maxRetries: 100,
399
- },
400
- });
401
- const cluster = new Cluster(this, "Cluster", {
402
- clusterName,
403
- vpc,
404
- });
405
- const taskDefinition = new FargateTaskDefinition(this, `TaskDefinition`, {
406
- // @ts-ignore
407
- memoryLimitMiB: supportedMemories[cpu][memory],
408
- cpu: supportedCpus[cpu],
409
- runtimePlatform: {
410
- cpuArchitecture: architecture === "arm64"
411
- ? CpuArchitecture.ARM64
412
- : CpuArchitecture.X86_64,
413
- },
414
- });
415
- const container = taskDefinition.addContainer("Container", {
416
- logging: new AwsLogDriver({
417
- logGroup: LogGroup.fromLogGroupArn(this, "LogGroup", logGroup.logGroupArn),
418
- streamPrefix: "service",
419
- }),
420
- portMappings: [{ containerPort: port }],
421
- environment: {
422
- SST_APP: app.name,
423
- SST_STAGE: app.stage,
424
- SST_SSM_PREFIX: useProject().config.ssmPrefix,
425
- },
426
- ...cdk?.container,
427
- image: cdk?.container?.image ?? {
428
- bind: () => ({ imageName: "placeholder" }),
429
- },
430
- });
431
- const service = new FargateService(this, "Service", {
432
- cluster,
433
- taskDefinition,
434
- ...cdk?.fargateService,
435
- });
436
- return { cluster, taskDefinition, container, service };
437
- }
438
- createLoadBalancer(vpc, service) {
439
- const { cdk } = this.props;
440
- // Do not create load balancer if disabled
441
- if (cdk?.applicationLoadBalancer === false) {
442
- if (cdk?.applicationLoadBalancerTargetGroup)
443
- throw new VisibleError(`In the "${this.node.id}" Service, the "cdk.applicationLoadBalancerTargetGroup" cannot be applied if the Application Load Balancer is diabled.`);
444
- return {};
445
- }
446
- const alb = new ApplicationLoadBalancer(this, "LoadBalancer", {
447
- vpc,
448
- internetFacing: true,
449
- });
450
- const listener = alb.addListener("Listener", { port: 80 });
451
- const target = listener.addTargets("TargetGroup", {
452
- port: 80,
453
- targets: [service],
454
- ...cdk?.applicationLoadBalancerTargetGroup,
455
- });
456
- return { alb, target };
457
- }
458
- createAutoScaling(service, target) {
459
- const { minContainers, maxContainers, cpuUtilization, memoryUtilization, requestsPerContainer, } = this.props.scaling ?? {};
460
- const scaling = service.autoScaleTaskCount({
461
- minCapacity: minContainers ?? 1,
462
- maxCapacity: maxContainers ?? 1,
463
- });
464
- scaling.scaleOnCpuUtilization("CpuScaling", {
465
- targetUtilizationPercent: cpuUtilization ?? 70,
466
- scaleOutCooldown: CdkDuration.seconds(300),
467
- });
468
- scaling.scaleOnMemoryUtilization("MemoryScaling", {
469
- targetUtilizationPercent: memoryUtilization ?? 70,
470
- scaleOutCooldown: CdkDuration.seconds(300),
471
- });
472
- if (target) {
473
- scaling.scaleOnRequestCount("RequestScaling", {
474
- requestsPerTarget: requestsPerContainer ?? 500,
475
- targetGroup: target,
476
- });
477
- }
478
- }
479
- createDistribution(alb) {
480
- const { cdk, customDomain } = this.props;
481
- // Do not create distribution if disabled or if ALB was not created (ie. disabled)
482
- if (!alb || cdk?.cloudfrontDistribution === false)
483
- return;
484
- const cachePolicy = new CachePolicy(this, "CachePolicy", {
485
- queryStringBehavior: CacheQueryStringBehavior.all(),
486
- headerBehavior: CacheHeaderBehavior.none(),
487
- cookieBehavior: CacheCookieBehavior.none(),
488
- defaultTtl: CdkDuration.days(0),
489
- maxTtl: CdkDuration.days(365),
490
- minTtl: CdkDuration.days(0),
491
- enableAcceptEncodingBrotli: true,
492
- enableAcceptEncodingGzip: true,
493
- comment: "SST server response cache policy",
494
- });
495
- return new Distribution(this, "CDN", {
496
- customDomain,
497
- cdk: {
498
- distribution: {
499
- defaultRootObject: "",
500
- defaultBehavior: {
501
- viewerProtocolPolicy: ViewerProtocolPolicy.REDIRECT_TO_HTTPS,
502
- origin: new HttpOrigin(alb.loadBalancerDnsName, {
503
- protocolPolicy: OriginProtocolPolicy.HTTP_ONLY,
504
- readTimeout: CdkDuration.seconds(60),
505
- }),
506
- allowedMethods: AllowedMethods.ALLOW_ALL,
507
- cachedMethods: CachedMethods.CACHE_GET_HEAD_OPTIONS,
508
- compress: true,
509
- cachePolicy,
510
- originRequestPolicy: OriginRequestPolicy.ALL_VIEWER,
511
- },
512
- },
513
- },
514
- });
515
- }
516
- createDevFunction() {
517
- const { permissions, environment, bind } = this.props;
518
- const app = this.node.root;
519
- const role = new Role(this, "ServerFunctionRole", {
520
- assumedBy: new CompositePrincipal(new AccountPrincipal(app.account), new ServicePrincipal("lambda.amazonaws.com")),
521
- maxSessionDuration: CdkDuration.hours(12),
522
- });
523
- const fn = new Function(this, `ServerFunction`, {
524
- description: "Service dev function",
525
- handler: path.join(__dirname, "../support/service-dev-function", "index.handler"),
526
- runtime: "nodejs18.x",
527
- memorySize: "512 MB",
528
- timeout: "10 seconds",
529
- role,
530
- bind,
531
- environment,
532
- permissions,
533
- });
534
- fn._doNotAllowOthersToBind = true;
535
- return fn;
536
- }
537
- bindForService(constructs) {
538
- // Get referenced secrets
539
- const referencedSecrets = [];
540
- constructs.forEach((c) => referencedSecrets.push(...getReferencedSecrets(c)));
541
- [...constructs, ...referencedSecrets].forEach((c) => {
542
- // Bind environment
543
- const env = bindEnvironment(c);
544
- Object.entries(env).forEach(([key, value]) => this.addEnvironmentForService(key, value));
545
- // Bind permissions
546
- const permissions = bindPermissions(c);
547
- Object.entries(permissions).forEach(([action, resources]) => this.attachPermissionsForService([
548
- new PolicyStatement({
549
- actions: [action],
550
- effect: Effect.ALLOW,
551
- resources,
552
- }),
553
- ]));
554
- });
555
- }
556
- addEnvironmentForService(name, value) {
557
- this.container.addEnvironment(name, value);
558
- }
559
- attachPermissionsForService(permissions) {
560
- attachPermissionsToRole(this.taskDefinition.taskRole, permissions);
561
- }
562
- /////////////////////
563
- // Build App
564
- /////////////////////
565
- async createNixpacksBuilder() {
566
- try {
567
- await execAsync([
568
- "docker",
569
- "build",
570
- `-t ${NIXPACKS_IMAGE_NAME}`,
571
- "--platform=linux/amd64",
572
- path.resolve(__dirname, "../support/nixpacks"),
573
- ].join(" "), {
574
- env: {
575
- ...process.env,
576
- },
577
- });
578
- }
579
- catch (e) {
580
- console.error(e);
581
- throw new VisibleError(`Failed to setup Nixpacks builder for the ${this.node.id} service`);
582
- }
583
- }
584
- async runNixpacksBuild() {
585
- const { path: servicePath } = this.props;
586
- try {
587
- await execAsync([
588
- "docker",
589
- "run",
590
- "--rm",
591
- "--network=host",
592
- `--name=sst-${this.node.id}-service`,
593
- `-v=${path.resolve(servicePath)}:/service`,
594
- `-w="/service"`,
595
- NIXPACKS_IMAGE_NAME,
596
- `build . --out .`,
597
- ].join(" "), {
598
- env: {
599
- ...process.env,
600
- },
601
- });
602
- }
603
- catch (e) {
604
- console.error(e);
605
- throw new VisibleError(`Failed to run Nixpacks build for the ${this.node.id} service`);
606
- }
607
- return ".nixpacks/Dockerfile";
608
- }
609
- async runDockerBuild(dockerfile) {
610
- const { path: servicePath, architecture, build } = this.props;
611
- const platform = architecture === "arm64" ? "linux/arm64" : "linux/amd64";
612
- try {
613
- await execAsync([
614
- "docker",
615
- "build",
616
- `-t sst-build:service-${this.node.id}`,
617
- `--platform ${platform}`,
618
- `-f ${path.join(servicePath, dockerfile)}`,
619
- ...Object.entries(build?.buildArgs || {}).map(([k, v]) => `--build-arg ${k}=${v}`),
620
- this.props.path,
621
- ].join(" "), {
622
- env: {
623
- ...process.env,
624
- },
625
- });
626
- }
627
- catch (e) {
628
- console.error(e);
629
- throw new VisibleError(`Failed to build the ${this.node.id} service`);
630
- }
631
- }
632
- updateContainerImage(dockerfile, taskDefinition, container) {
633
- const { path: servicePath, architecture, build } = this.props;
634
- const image = ContainerImage.fromAsset(servicePath, {
635
- platform: architecture === "arm64" ? Platform.LINUX_ARM64 : Platform.LINUX_AMD64,
636
- file: dockerfile,
637
- buildArgs: build?.buildArgs,
638
- exclude: [".sst"],
639
- ignoreMode: IgnoreMode.GLOB,
640
- });
641
- const cfnTask = taskDefinition.node.defaultChild;
642
- cfnTask.addPropertyOverride("ContainerDefinitions.0.Image", image.bind(this, container).imageName);
643
- }
644
- }
645
- export const useServices = createAppContext(() => {
646
- const sites = [];
647
- return {
648
- add(stack, name, props) {
649
- sites.push({ stack, name, props });
650
- },
651
- get all() {
652
- return sites;
653
- },
654
- };
655
- });
@@ -1,37 +0,0 @@
1
- import { SsrSite } from "./SsrSite.js";
2
- import { SsrFunction } from "./SsrFunction.js";
3
- import { EdgeFunction } from "./EdgeFunction.js";
4
- /**
5
- * The `SolidStartSite` construct is a higher level CDK construct that makes it easy to create a SolidStart app.
6
- * @example
7
- * Deploys a SolidStart app in the `my-solid-start-app` directory.
8
- *
9
- * ```js
10
- * new SolidStartSite(stack, "web", {
11
- * path: "my-solid-start-app/",
12
- * });
13
- * ```
14
- */
15
- export declare class SolidStartSite extends SsrSite {
16
- protected initBuildConfig(): {
17
- typesPath: string;
18
- serverBuildOutputFile: string;
19
- clientBuildOutputDir: string;
20
- clientBuildVersionedSubDir: string;
21
- };
22
- protected createFunctionForRegional(): SsrFunction;
23
- protected createFunctionForEdge(): EdgeFunction;
24
- getConstructMetadata(): {
25
- data: {
26
- mode: "placeholder" | "deployed";
27
- path: string;
28
- runtime: "nodejs14.x" | "nodejs16.x" | "nodejs18.x";
29
- customDomainUrl: string | undefined;
30
- url: string | undefined;
31
- edge: boolean | undefined;
32
- server: string;
33
- secrets: string[];
34
- };
35
- type: "SolidStartSite";
36
- };
37
- }