@sst-community/sst 4.19.0 → 5.0.0-alpha.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 (832) hide show
  1. package/README.md +92 -52
  2. package/package.json +35 -11
  3. package/platform/js/chunks/chunk-HIZZCEDS.js +328 -0
  4. package/platform/js/chunks/chunk-HIZZCEDS.js.map +6 -0
  5. package/platform/js/chunks/chunk-KOKHGKJ2.js +639 -0
  6. package/platform/js/chunks/chunk-KOKHGKJ2.js.map +6 -0
  7. package/platform/js/chunks/chunk-ONNI4XNK.js +367 -0
  8. package/platform/js/chunks/chunk-ONNI4XNK.js.map +6 -0
  9. package/platform/js/chunks/chunk-VIFHC73J.js +108 -0
  10. package/platform/js/chunks/chunk-VIFHC73J.js.map +6 -0
  11. package/platform/js/chunks/chunk-WJ6BVA46.js +10 -0
  12. package/platform/js/chunks/chunk-WJ6BVA46.js.map +6 -0
  13. package/platform/js/chunks/chunk-ZOXXXME5.js +472 -0
  14. package/platform/js/chunks/chunk-ZOXXXME5.js.map +6 -0
  15. package/platform/js/chunks/component-32FCLIRK.js +26 -0
  16. package/platform/js/chunks/component-32FCLIRK.js.map +6 -0
  17. package/platform/js/chunks/config-DMGMTLNB.js +10 -0
  18. package/platform/js/chunks/config-DMGMTLNB.js.map +6 -0
  19. package/platform/js/chunks/link-OJ3RNGQ3.js +9 -0
  20. package/platform/js/chunks/link-OJ3RNGQ3.js.map +6 -0
  21. package/platform/js/components/aws/index.js +35362 -0
  22. package/platform/js/components/aws/index.js.map +6 -0
  23. package/platform/js/components/cloudflare/index.js +3246 -0
  24. package/platform/js/components/cloudflare/index.js.map +6 -0
  25. package/platform/js/components/core.js +114 -0
  26. package/platform/js/components/core.js.map +6 -0
  27. package/platform/js/components/vercel/index.js +120 -0
  28. package/platform/js/components/vercel/index.js.map +6 -0
  29. package/platform/js/testing/index.js +569 -0
  30. package/platform/js/testing/index.js.map +6 -0
  31. package/platform/package.json +25 -0
  32. package/platform/src/ast/add.mjs +190 -0
  33. package/platform/src/auto/run.ts +109 -0
  34. package/platform/src/components/README.md +652 -0
  35. package/platform/src/components/args.ts +133 -0
  36. package/platform/src/components/aws/alb.ts +577 -0
  37. package/platform/src/components/aws/analog.ts +462 -0
  38. package/platform/src/components/aws/apigateway-websocket-route.ts +206 -0
  39. package/platform/src/components/aws/apigateway-websocket.ts +894 -0
  40. package/platform/src/components/aws/apigatewayv1-api-key.ts +90 -0
  41. package/platform/src/components/aws/apigatewayv1-authorizer.ts +178 -0
  42. package/platform/src/components/aws/apigatewayv1-base-route.ts +78 -0
  43. package/platform/src/components/aws/apigatewayv1-integration-route.ts +92 -0
  44. package/platform/src/components/aws/apigatewayv1-lambda-route.ts +152 -0
  45. package/platform/src/components/aws/apigatewayv1-usage-plan.ts +109 -0
  46. package/platform/src/components/aws/apigatewayv1.ts +1691 -0
  47. package/platform/src/components/aws/apigatewayv2-authorizer.ts +199 -0
  48. package/platform/src/components/aws/apigatewayv2-base-route.ts +69 -0
  49. package/platform/src/components/aws/apigatewayv2-lambda-route.ts +141 -0
  50. package/platform/src/components/aws/apigatewayv2-private-route.ts +101 -0
  51. package/platform/src/components/aws/apigatewayv2-url-route.ts +90 -0
  52. package/platform/src/components/aws/apigatewayv2.ts +1439 -0
  53. package/platform/src/components/aws/app-sync-data-source.ts +264 -0
  54. package/platform/src/components/aws/app-sync-function.ts +79 -0
  55. package/platform/src/components/aws/app-sync-resolver.ts +110 -0
  56. package/platform/src/components/aws/app-sync.ts +849 -0
  57. package/platform/src/components/aws/astro.ts +580 -0
  58. package/platform/src/components/aws/aurora.ts +1356 -0
  59. package/platform/src/components/aws/auth-v1.ts +69 -0
  60. package/platform/src/components/aws/auth.ts +417 -0
  61. package/platform/src/components/aws/bucket-lambda-subscriber.ts +162 -0
  62. package/platform/src/components/aws/bucket-notification.ts +254 -0
  63. package/platform/src/components/aws/bucket-queue-subscriber.ts +122 -0
  64. package/platform/src/components/aws/bucket-topic-subscriber.ts +144 -0
  65. package/platform/src/components/aws/bucket.ts +2046 -0
  66. package/platform/src/components/aws/bus-base-subscriber.ts +52 -0
  67. package/platform/src/components/aws/bus-lambda-subscriber.ts +125 -0
  68. package/platform/src/components/aws/bus-queue-subscriber.ts +88 -0
  69. package/platform/src/components/aws/bus.ts +630 -0
  70. package/platform/src/components/aws/cdn.ts +561 -0
  71. package/platform/src/components/aws/cluster-v1.ts +932 -0
  72. package/platform/src/components/aws/cluster.ts +584 -0
  73. package/platform/src/components/aws/cognito-identity-pool.ts +433 -0
  74. package/platform/src/components/aws/cognito-identity-provider.ts +96 -0
  75. package/platform/src/components/aws/cognito-user-pool-client.ts +114 -0
  76. package/platform/src/components/aws/cognito-user-pool.ts +1089 -0
  77. package/platform/src/components/aws/cron-v2.ts +555 -0
  78. package/platform/src/components/aws/cron.ts +435 -0
  79. package/platform/src/components/aws/dns-validated-certificate.ts +108 -0
  80. package/platform/src/components/aws/dns.ts +221 -0
  81. package/platform/src/components/aws/dsql.ts +741 -0
  82. package/platform/src/components/aws/dynamo-lambda-subscriber.ts +124 -0
  83. package/platform/src/components/aws/dynamo.ts +929 -0
  84. package/platform/src/components/aws/efs.ts +410 -0
  85. package/platform/src/components/aws/email.ts +673 -0
  86. package/platform/src/components/aws/fargate.ts +1279 -0
  87. package/platform/src/components/aws/function.ts +3227 -0
  88. package/platform/src/components/aws/helpers/apigateway-account.ts +78 -0
  89. package/platform/src/components/aws/helpers/apigatewayv2-domain.ts +144 -0
  90. package/platform/src/components/aws/helpers/arn.ts +182 -0
  91. package/platform/src/components/aws/helpers/bootstrap.ts +16 -0
  92. package/platform/src/components/aws/helpers/client.ts +76 -0
  93. package/platform/src/components/aws/helpers/container-builder.ts +33 -0
  94. package/platform/src/components/aws/helpers/custom-domain.ts +128 -0
  95. package/platform/src/components/aws/helpers/event-source.ts +41 -0
  96. package/platform/src/components/aws/helpers/fargate.ts +727 -0
  97. package/platform/src/components/aws/helpers/function-builder.ts +133 -0
  98. package/platform/src/components/aws/helpers/function-code.ts +224 -0
  99. package/platform/src/components/aws/helpers/function-part.ts +202 -0
  100. package/platform/src/components/aws/helpers/function-permission.ts +29 -0
  101. package/platform/src/components/aws/helpers/load-balancer-args.ts +88 -0
  102. package/platform/src/components/aws/helpers/load-balancer.ts +17 -0
  103. package/platform/src/components/aws/helpers/provider.ts +36 -0
  104. package/platform/src/components/aws/helpers/queue-policy.ts +33 -0
  105. package/platform/src/components/aws/helpers/rds.ts +212 -0
  106. package/platform/src/components/aws/helpers/site-builder.ts +41 -0
  107. package/platform/src/components/aws/helpers/subscriber.ts +23 -0
  108. package/platform/src/components/aws/helpers/vpc.ts +27 -0
  109. package/platform/src/components/aws/https-redirect.ts +216 -0
  110. package/platform/src/components/aws/iam-edit.ts +50 -0
  111. package/platform/src/components/aws/index.ts +61 -0
  112. package/platform/src/components/aws/kinesis-stream-lambda-subscriber.ts +122 -0
  113. package/platform/src/components/aws/kinesis-stream.ts +416 -0
  114. package/platform/src/components/aws/linkable.ts +32 -0
  115. package/platform/src/components/aws/logging.ts +25 -0
  116. package/platform/src/components/aws/microvm.ts +988 -0
  117. package/platform/src/components/aws/mysql.ts +1047 -0
  118. package/platform/src/components/aws/nextjs.ts +1052 -0
  119. package/platform/src/components/aws/nuxt.ts +527 -0
  120. package/platform/src/components/aws/open-search.ts +603 -0
  121. package/platform/src/components/aws/opencontrol.ts +235 -0
  122. package/platform/src/components/aws/permission.ts +80 -0
  123. package/platform/src/components/aws/postgres-v1.ts +537 -0
  124. package/platform/src/components/aws/postgres.ts +1074 -0
  125. package/platform/src/components/aws/providers/bucket-files.ts +32 -0
  126. package/platform/src/components/aws/providers/distribution-deployment-waiter.ts +27 -0
  127. package/platform/src/components/aws/providers/distribution-invalidation.ts +24 -0
  128. package/platform/src/components/aws/providers/function-environment-update.ts +46 -0
  129. package/platform/src/components/aws/providers/hosted-zone-lookup.ts +25 -0
  130. package/platform/src/components/aws/providers/kv-keys.ts +15 -0
  131. package/platform/src/components/aws/providers/kv-routes-update.ts +24 -0
  132. package/platform/src/components/aws/providers/microvm-image-prune.ts +48 -0
  133. package/platform/src/components/aws/providers/origin-access-control.ts +21 -0
  134. package/platform/src/components/aws/providers/rds-role-lookup.ts +21 -0
  135. package/platform/src/components/aws/providers/vector-table.ts +25 -0
  136. package/platform/src/components/aws/queue-lambda-subscriber.ts +135 -0
  137. package/platform/src/components/aws/queue.ts +712 -0
  138. package/platform/src/components/aws/react.ts +510 -0
  139. package/platform/src/components/aws/realtime-lambda-subscriber.ts +129 -0
  140. package/platform/src/components/aws/realtime.ts +345 -0
  141. package/platform/src/components/aws/redis-v1.ts +595 -0
  142. package/platform/src/components/aws/redis.ts +1078 -0
  143. package/platform/src/components/aws/remix.ts +576 -0
  144. package/platform/src/components/aws/router-base-route.ts +83 -0
  145. package/platform/src/components/aws/router-bucket-route.ts +63 -0
  146. package/platform/src/components/aws/router-url-route.ts +75 -0
  147. package/platform/src/components/aws/router.ts +3281 -0
  148. package/platform/src/components/aws/service-v1.ts +876 -0
  149. package/platform/src/components/aws/service.ts +2994 -0
  150. package/platform/src/components/aws/sns-topic-lambda-subscriber.ts +127 -0
  151. package/platform/src/components/aws/sns-topic-queue-subscriber.ts +105 -0
  152. package/platform/src/components/aws/sns-topic.ts +700 -0
  153. package/platform/src/components/aws/solid-start.ts +467 -0
  154. package/platform/src/components/aws/ssr-site.ts +2204 -0
  155. package/platform/src/components/aws/static-site.ts +1389 -0
  156. package/platform/src/components/aws/step-functions/choice.ts +123 -0
  157. package/platform/src/components/aws/step-functions/fail.ts +69 -0
  158. package/platform/src/components/aws/step-functions/map.ts +264 -0
  159. package/platform/src/components/aws/step-functions/parallel.ts +170 -0
  160. package/platform/src/components/aws/step-functions/pass.ts +48 -0
  161. package/platform/src/components/aws/step-functions/state.ts +376 -0
  162. package/platform/src/components/aws/step-functions/succeed.ts +31 -0
  163. package/platform/src/components/aws/step-functions/task.ts +538 -0
  164. package/platform/src/components/aws/step-functions/wait.ts +105 -0
  165. package/platform/src/components/aws/step-functions.ts +804 -0
  166. package/platform/src/components/aws/svelte-kit.ts +563 -0
  167. package/platform/src/components/aws/takeover/alb.ts +9 -0
  168. package/platform/src/components/aws/takeover/apigatewayv2.ts +43 -0
  169. package/platform/src/components/aws/takeover/app-sync.ts +45 -0
  170. package/platform/src/components/aws/takeover/aurora.ts +19 -0
  171. package/platform/src/components/aws/takeover/bucket.ts +94 -0
  172. package/platform/src/components/aws/takeover/bus.ts +43 -0
  173. package/platform/src/components/aws/takeover/cognito-user-pool.ts +21 -0
  174. package/platform/src/components/aws/takeover/cron-v2.ts +9 -0
  175. package/platform/src/components/aws/takeover/dsql.ts +12 -0
  176. package/platform/src/components/aws/takeover/dynamo.ts +31 -0
  177. package/platform/src/components/aws/takeover/efs.ts +9 -0
  178. package/platform/src/components/aws/takeover/function.ts +21 -0
  179. package/platform/src/components/aws/takeover/helpers.ts +26 -0
  180. package/platform/src/components/aws/takeover/index.ts +27 -0
  181. package/platform/src/components/aws/takeover/mysql.ts +17 -0
  182. package/platform/src/components/aws/takeover/postgres.ts +17 -0
  183. package/platform/src/components/aws/takeover/queue.ts +21 -0
  184. package/platform/src/components/aws/takeover/redis.ts +10 -0
  185. package/platform/src/components/aws/takeover/service.ts +22 -0
  186. package/platform/src/components/aws/takeover/sns-topic.ts +27 -0
  187. package/platform/src/components/aws/takeover/task.ts +13 -0
  188. package/platform/src/components/aws/tan-stack-start.ts +479 -0
  189. package/platform/src/components/aws/task.ts +571 -0
  190. package/platform/src/components/aws/v5/alb.ts +310 -0
  191. package/platform/src/components/aws/v5/apigatewayv2.ts +845 -0
  192. package/platform/src/components/aws/v5/app-sync.ts +673 -0
  193. package/platform/src/components/aws/v5/aurora.ts +855 -0
  194. package/platform/src/components/aws/v5/bucket.ts +1001 -0
  195. package/platform/src/components/aws/v5/bus.ts +321 -0
  196. package/platform/src/components/aws/v5/cluster.ts +230 -0
  197. package/platform/src/components/aws/v5/cognito-user-pool-client.ts +100 -0
  198. package/platform/src/components/aws/v5/cognito-user-pool.ts +693 -0
  199. package/platform/src/components/aws/v5/cron-v2.ts +316 -0
  200. package/platform/src/components/aws/v5/dsql.ts +665 -0
  201. package/platform/src/components/aws/v5/dynamo.ts +477 -0
  202. package/platform/src/components/aws/v5/efs.ts +311 -0
  203. package/platform/src/components/aws/v5/function.ts +1527 -0
  204. package/platform/src/components/aws/v5/index.ts +26 -0
  205. package/platform/src/components/aws/v5/mysql.ts +604 -0
  206. package/platform/src/components/aws/v5/postgres.ts +612 -0
  207. package/platform/src/components/aws/v5/queue.ts +271 -0
  208. package/platform/src/components/aws/v5/redis.ts +550 -0
  209. package/platform/src/components/aws/v5/service.ts +2209 -0
  210. package/platform/src/components/aws/v5/sns-topic.ts +284 -0
  211. package/platform/src/components/aws/v5/task.ts +549 -0
  212. package/platform/src/components/aws/vector.ts +316 -0
  213. package/platform/src/components/aws/vpc-v1.ts +580 -0
  214. package/platform/src/components/aws/vpc.ts +1641 -0
  215. package/platform/src/components/aws/workflow.ts +421 -0
  216. package/platform/src/components/base/base-site.ts +101 -0
  217. package/platform/src/components/base/base-ssr-site.ts +120 -0
  218. package/platform/src/components/base/base-static-site.ts +314 -0
  219. package/platform/src/components/cloudflare/account-id.ts +1 -0
  220. package/platform/src/components/cloudflare/ai.ts +77 -0
  221. package/platform/src/components/cloudflare/astro.ts +355 -0
  222. package/platform/src/components/cloudflare/auth.ts +69 -0
  223. package/platform/src/components/cloudflare/binding.ts +132 -0
  224. package/platform/src/components/cloudflare/bucket.ts +142 -0
  225. package/platform/src/components/cloudflare/cron.ts +207 -0
  226. package/platform/src/components/cloudflare/d1.ts +230 -0
  227. package/platform/src/components/cloudflare/dns.ts +253 -0
  228. package/platform/src/components/cloudflare/durable-object.ts +144 -0
  229. package/platform/src/components/cloudflare/experimental/index.ts +3 -0
  230. package/platform/src/components/cloudflare/experimental/solid-start.ts +288 -0
  231. package/platform/src/components/cloudflare/experimental/static-site.ts +4 -0
  232. package/platform/src/components/cloudflare/helpers/compatibility.ts +44 -0
  233. package/platform/src/components/cloudflare/helpers/fetch.ts +81 -0
  234. package/platform/src/components/cloudflare/helpers/validation.ts +74 -0
  235. package/platform/src/components/cloudflare/helpers/worker-builder.ts +57 -0
  236. package/platform/src/components/cloudflare/helpers/wrangler.ts +222 -0
  237. package/platform/src/components/cloudflare/hyperdrive.ts +402 -0
  238. package/platform/src/components/cloudflare/index.ts +25 -0
  239. package/platform/src/components/cloudflare/kv.ts +218 -0
  240. package/platform/src/components/cloudflare/providers/dns-record.ts +43 -0
  241. package/platform/src/components/cloudflare/providers/kv-data.ts +107 -0
  242. package/platform/src/components/cloudflare/providers/worker-assets.ts +41 -0
  243. package/platform/src/components/cloudflare/providers/worker-placement.ts +93 -0
  244. package/platform/src/components/cloudflare/providers/worker-script.ts +47 -0
  245. package/platform/src/components/cloudflare/providers/worker-url.ts +109 -0
  246. package/platform/src/components/cloudflare/providers/zone-lookup.ts +85 -0
  247. package/platform/src/components/cloudflare/queue-worker-subscriber.ts +192 -0
  248. package/platform/src/components/cloudflare/queue.ts +310 -0
  249. package/platform/src/components/cloudflare/rate-limit.ts +178 -0
  250. package/platform/src/components/cloudflare/react-router.ts +322 -0
  251. package/platform/src/components/cloudflare/ssr-site.ts +293 -0
  252. package/platform/src/components/cloudflare/static-site-v2.ts +428 -0
  253. package/platform/src/components/cloudflare/static-site.ts +470 -0
  254. package/platform/src/components/cloudflare/tan-stack-start.ts +408 -0
  255. package/platform/src/components/cloudflare/worker.ts +1080 -0
  256. package/platform/src/components/cloudflare/workflow.ts +319 -0
  257. package/platform/src/components/component.ts +242 -0
  258. package/platform/src/components/core.ts +43 -0
  259. package/platform/src/components/cpu.ts +10 -0
  260. package/platform/src/components/dns.ts +82 -0
  261. package/platform/src/components/duration.ts +67 -0
  262. package/platform/src/components/error.ts +5 -0
  263. package/platform/src/components/esbuild.ts +15 -0
  264. package/platform/src/components/experimental/dev-command.ts +127 -0
  265. package/platform/src/components/experimental/index.ts +1 -0
  266. package/platform/src/components/groups.ts +9 -0
  267. package/platform/src/components/index.ts +9 -0
  268. package/platform/src/components/input.ts +2 -0
  269. package/platform/src/components/link.ts +201 -0
  270. package/platform/src/components/linkable.ts +360 -0
  271. package/platform/src/components/naming-rules.ts +299 -0
  272. package/platform/src/components/naming.ts +189 -0
  273. package/platform/src/components/parts-component.ts +662 -0
  274. package/platform/src/components/parts.ts +299 -0
  275. package/platform/src/components/path.ts +5 -0
  276. package/platform/src/components/rpc/rpc.ts +110 -0
  277. package/platform/src/components/secret.ts +159 -0
  278. package/platform/src/components/size.ts +28 -0
  279. package/platform/src/components/takeover.ts +131 -0
  280. package/platform/src/components/transform.ts +107 -0
  281. package/platform/src/components/vercel/account-id.ts +1 -0
  282. package/platform/src/components/vercel/dns.ts +171 -0
  283. package/platform/src/components/vercel/index.ts +2 -0
  284. package/platform/src/components/vercel/providers/dns-record.ts +34 -0
  285. package/platform/src/config.ts +1460 -0
  286. package/platform/src/global-aliases.d.ts +37 -0
  287. package/platform/src/global.d.ts +374 -0
  288. package/platform/src/internal.d.ts +18 -0
  289. package/platform/src/runtime/worker/unenv.d.ts +14 -0
  290. package/platform/src/runtime/worker/unenv.mjs +26 -0
  291. package/platform/src/shim/run.js +25 -0
  292. package/platform/src/testing/global.ts +83 -0
  293. package/platform/src/testing/index.ts +103 -0
  294. package/platform/src/testing/mock.ts +646 -0
  295. package/platform/src/testing/vitest.ts +36 -0
  296. package/platform/src/util/compare-semver.ts +23 -0
  297. package/platform/src/util/fs.ts +49 -0
  298. package/platform/src/util/lazy.ts +12 -0
  299. package/platform/src/util/minify.ts +10 -0
  300. package/platform/src/util/package.ts +29 -0
  301. package/platform/src/util/semaphore.ts +29 -0
  302. package/platform/src/util/warn.ts +7 -0
  303. package/platform/types/auto/run.d.ts +9 -0
  304. package/platform/types/auto/run.d.ts.map +1 -0
  305. package/platform/types/components/args.d.ts +77 -0
  306. package/platform/types/components/args.d.ts.map +1 -0
  307. package/platform/types/components/aws/alb.d.ts +283 -0
  308. package/platform/types/components/aws/alb.d.ts.map +1 -0
  309. package/platform/types/components/aws/analog.d.ts +408 -0
  310. package/platform/types/components/aws/analog.d.ts.map +1 -0
  311. package/platform/types/components/aws/apigateway-websocket-route.d.ts +74 -0
  312. package/platform/types/components/aws/apigateway-websocket-route.d.ts.map +1 -0
  313. package/platform/types/components/aws/apigateway-websocket.d.ts +560 -0
  314. package/platform/types/components/aws/apigateway-websocket.d.ts.map +1 -0
  315. package/platform/types/components/aws/apigatewayv1-api-key.d.ts +48 -0
  316. package/platform/types/components/aws/apigatewayv1-api-key.d.ts.map +1 -0
  317. package/platform/types/components/aws/apigatewayv1-authorizer.d.ts +55 -0
  318. package/platform/types/components/aws/apigatewayv1-authorizer.d.ts.map +1 -0
  319. package/platform/types/components/aws/apigatewayv1-base-route.d.ts +36 -0
  320. package/platform/types/components/aws/apigatewayv1-base-route.d.ts.map +1 -0
  321. package/platform/types/components/aws/apigatewayv1-integration-route.d.ts +39 -0
  322. package/platform/types/components/aws/apigatewayv1-integration-route.d.ts.map +1 -0
  323. package/platform/types/components/aws/apigatewayv1-lambda-route.d.ts +53 -0
  324. package/platform/types/components/aws/apigatewayv1-lambda-route.d.ts.map +1 -0
  325. package/platform/types/components/aws/apigatewayv1-usage-plan.d.ts +53 -0
  326. package/platform/types/components/aws/apigatewayv1-usage-plan.d.ts.map +1 -0
  327. package/platform/types/components/aws/apigatewayv1.d.ts +1028 -0
  328. package/platform/types/components/aws/apigatewayv1.d.ts.map +1 -0
  329. package/platform/types/components/aws/apigatewayv2-authorizer.d.ts +54 -0
  330. package/platform/types/components/aws/apigatewayv2-authorizer.d.ts.map +1 -0
  331. package/platform/types/components/aws/apigatewayv2-base-route.d.ts +28 -0
  332. package/platform/types/components/aws/apigatewayv2-base-route.d.ts.map +1 -0
  333. package/platform/types/components/aws/apigatewayv2-lambda-route.d.ts +59 -0
  334. package/platform/types/components/aws/apigatewayv2-lambda-route.d.ts.map +1 -0
  335. package/platform/types/components/aws/apigatewayv2-private-route.d.ts +54 -0
  336. package/platform/types/components/aws/apigatewayv2-private-route.d.ts.map +1 -0
  337. package/platform/types/components/aws/apigatewayv2-url-route.d.ts +44 -0
  338. package/platform/types/components/aws/apigatewayv2-url-route.d.ts.map +1 -0
  339. package/platform/types/components/aws/apigatewayv2.d.ts +955 -0
  340. package/platform/types/components/aws/apigatewayv2.d.ts.map +1 -0
  341. package/platform/types/components/aws/app-sync-data-source.d.ts +52 -0
  342. package/platform/types/components/aws/app-sync-data-source.d.ts.map +1 -0
  343. package/platform/types/components/aws/app-sync-function.d.ts +33 -0
  344. package/platform/types/components/aws/app-sync-function.d.ts.map +1 -0
  345. package/platform/types/components/aws/app-sync-resolver.d.ts +41 -0
  346. package/platform/types/components/aws/app-sync-resolver.d.ts.map +1 -0
  347. package/platform/types/components/aws/app-sync.d.ts +638 -0
  348. package/platform/types/components/aws/app-sync.d.ts.map +1 -0
  349. package/platform/types/components/aws/astro.d.ts +409 -0
  350. package/platform/types/components/aws/astro.d.ts.map +1 -0
  351. package/platform/types/components/aws/aurora.d.ts +720 -0
  352. package/platform/types/components/aws/aurora.d.ts.map +1 -0
  353. package/platform/types/components/aws/auth-v1.d.ts +26 -0
  354. package/platform/types/components/aws/auth-v1.d.ts.map +1 -0
  355. package/platform/types/components/aws/auth.d.ts +295 -0
  356. package/platform/types/components/aws/auth.d.ts.map +1 -0
  357. package/platform/types/components/aws/bucket-lambda-subscriber.d.ts +61 -0
  358. package/platform/types/components/aws/bucket-lambda-subscriber.d.ts.map +1 -0
  359. package/platform/types/components/aws/bucket-notification.d.ts +47 -0
  360. package/platform/types/components/aws/bucket-notification.d.ts.map +1 -0
  361. package/platform/types/components/aws/bucket-queue-subscriber.d.ts +55 -0
  362. package/platform/types/components/aws/bucket-queue-subscriber.d.ts.map +1 -0
  363. package/platform/types/components/aws/bucket-topic-subscriber.d.ts +55 -0
  364. package/platform/types/components/aws/bucket-topic-subscriber.d.ts.map +1 -0
  365. package/platform/types/components/aws/bucket.d.ts +1356 -0
  366. package/platform/types/components/aws/bucket.d.ts.map +1 -0
  367. package/platform/types/components/aws/bus-base-subscriber.d.ts +20 -0
  368. package/platform/types/components/aws/bus-base-subscriber.d.ts.map +1 -0
  369. package/platform/types/components/aws/bus-lambda-subscriber.d.ts +50 -0
  370. package/platform/types/components/aws/bus-lambda-subscriber.d.ts.map +1 -0
  371. package/platform/types/components/aws/bus-queue-subscriber.d.ts +44 -0
  372. package/platform/types/components/aws/bus-queue-subscriber.d.ts.map +1 -0
  373. package/platform/types/components/aws/bus.d.ts +447 -0
  374. package/platform/types/components/aws/bus.d.ts.map +1 -0
  375. package/platform/types/components/aws/cdn.d.ts +310 -0
  376. package/platform/types/components/aws/cdn.d.ts.map +1 -0
  377. package/platform/types/components/aws/cluster-v1.d.ts +885 -0
  378. package/platform/types/components/aws/cluster-v1.d.ts.map +1 -0
  379. package/platform/types/components/aws/cluster.d.ts +364 -0
  380. package/platform/types/components/aws/cluster.d.ts.map +1 -0
  381. package/platform/types/components/aws/cognito-identity-pool.d.ts +199 -0
  382. package/platform/types/components/aws/cognito-identity-pool.d.ts.map +1 -0
  383. package/platform/types/components/aws/cognito-identity-provider.d.ts +38 -0
  384. package/platform/types/components/aws/cognito-identity-provider.d.ts.map +1 -0
  385. package/platform/types/components/aws/cognito-user-pool-client.d.ts +50 -0
  386. package/platform/types/components/aws/cognito-user-pool-client.d.ts.map +1 -0
  387. package/platform/types/components/aws/cognito-user-pool.d.ts +703 -0
  388. package/platform/types/components/aws/cognito-user-pool.d.ts.map +1 -0
  389. package/platform/types/components/aws/cron-v2.d.ts +325 -0
  390. package/platform/types/components/aws/cron-v2.d.ts.map +1 -0
  391. package/platform/types/components/aws/cron.d.ts +259 -0
  392. package/platform/types/components/aws/cron.d.ts.map +1 -0
  393. package/platform/types/components/aws/dns-validated-certificate.d.ts +27 -0
  394. package/platform/types/components/aws/dns-validated-certificate.d.ts.map +1 -0
  395. package/platform/types/components/aws/dns.d.ts +94 -0
  396. package/platform/types/components/aws/dns.d.ts.map +1 -0
  397. package/platform/types/components/aws/dsql.d.ts +369 -0
  398. package/platform/types/components/aws/dsql.d.ts.map +1 -0
  399. package/platform/types/components/aws/dynamo-lambda-subscriber.d.ts +55 -0
  400. package/platform/types/components/aws/dynamo-lambda-subscriber.d.ts.map +1 -0
  401. package/platform/types/components/aws/dynamo.d.ts +628 -0
  402. package/platform/types/components/aws/dynamo.d.ts.map +1 -0
  403. package/platform/types/components/aws/efs.d.ts +217 -0
  404. package/platform/types/components/aws/efs.d.ts.map +1 -0
  405. package/platform/types/components/aws/email.d.ts +370 -0
  406. package/platform/types/components/aws/email.d.ts.map +1 -0
  407. package/platform/types/components/aws/fargate.d.ts +894 -0
  408. package/platform/types/components/aws/fargate.d.ts.map +1 -0
  409. package/platform/types/components/aws/function.d.ts +1755 -0
  410. package/platform/types/components/aws/function.d.ts.map +1 -0
  411. package/platform/types/components/aws/helpers/apigateway-account.d.ts +3 -0
  412. package/platform/types/components/aws/helpers/apigateway-account.d.ts.map +1 -0
  413. package/platform/types/components/aws/helpers/apigatewayv2-domain.d.ts +144 -0
  414. package/platform/types/components/aws/helpers/apigatewayv2-domain.d.ts.map +1 -0
  415. package/platform/types/components/aws/helpers/arn.d.ts +51 -0
  416. package/platform/types/components/aws/helpers/arn.d.ts.map +1 -0
  417. package/platform/types/components/aws/helpers/bootstrap.d.ts +13 -0
  418. package/platform/types/components/aws/helpers/bootstrap.d.ts.map +1 -0
  419. package/platform/types/components/aws/helpers/client.d.ts +7 -0
  420. package/platform/types/components/aws/helpers/client.d.ts.map +1 -0
  421. package/platform/types/components/aws/helpers/container-builder.d.ts +4 -0
  422. package/platform/types/components/aws/helpers/container-builder.d.ts.map +1 -0
  423. package/platform/types/components/aws/helpers/custom-domain.d.ts +111 -0
  424. package/platform/types/components/aws/helpers/custom-domain.d.ts.map +1 -0
  425. package/platform/types/components/aws/helpers/event-source.d.ts +26 -0
  426. package/platform/types/components/aws/helpers/event-source.d.ts.map +1 -0
  427. package/platform/types/components/aws/helpers/fargate.d.ts +225 -0
  428. package/platform/types/components/aws/helpers/fargate.d.ts.map +1 -0
  429. package/platform/types/components/aws/helpers/function-builder.d.ts +14 -0
  430. package/platform/types/components/aws/helpers/function-builder.d.ts.map +1 -0
  431. package/platform/types/components/aws/helpers/function-code.d.ts +80 -0
  432. package/platform/types/components/aws/helpers/function-code.d.ts.map +1 -0
  433. package/platform/types/components/aws/helpers/function-part.d.ts +61 -0
  434. package/platform/types/components/aws/helpers/function-part.d.ts.map +1 -0
  435. package/platform/types/components/aws/helpers/function-permission.d.ts +17 -0
  436. package/platform/types/components/aws/helpers/function-permission.d.ts.map +1 -0
  437. package/platform/types/components/aws/helpers/load-balancer-args.d.ts +40 -0
  438. package/platform/types/components/aws/helpers/load-balancer-args.d.ts.map +1 -0
  439. package/platform/types/components/aws/helpers/load-balancer.d.ts +9 -0
  440. package/platform/types/components/aws/helpers/load-balancer.d.ts.map +1 -0
  441. package/platform/types/components/aws/helpers/provider.d.ts +3 -0
  442. package/platform/types/components/aws/helpers/provider.d.ts.map +1 -0
  443. package/platform/types/components/aws/helpers/queue-policy.d.ts +11 -0
  444. package/platform/types/components/aws/helpers/queue-policy.d.ts.map +1 -0
  445. package/platform/types/components/aws/helpers/rds.d.ts +98 -0
  446. package/platform/types/components/aws/helpers/rds.d.ts.map +1 -0
  447. package/platform/types/components/aws/helpers/site-builder.d.ts +4 -0
  448. package/platform/types/components/aws/helpers/site-builder.d.ts.map +1 -0
  449. package/platform/types/components/aws/helpers/subscriber.d.ts +6 -0
  450. package/platform/types/components/aws/helpers/subscriber.d.ts.map +1 -0
  451. package/platform/types/components/aws/helpers/vpc.d.ts +14 -0
  452. package/platform/types/components/aws/helpers/vpc.d.ts.map +1 -0
  453. package/platform/types/components/aws/https-redirect.d.ts +38 -0
  454. package/platform/types/components/aws/https-redirect.d.ts.map +1 -0
  455. package/platform/types/components/aws/iam-edit.d.ts +39 -0
  456. package/platform/types/components/aws/iam-edit.d.ts.map +1 -0
  457. package/platform/types/components/aws/index.d.ts +56 -0
  458. package/platform/types/components/aws/index.d.ts.map +1 -0
  459. package/platform/types/components/aws/kinesis-stream-lambda-subscriber.d.ts +49 -0
  460. package/platform/types/components/aws/kinesis-stream-lambda-subscriber.d.ts.map +1 -0
  461. package/platform/types/components/aws/kinesis-stream.d.ts +254 -0
  462. package/platform/types/components/aws/kinesis-stream.d.ts.map +1 -0
  463. package/platform/types/components/aws/linkable.d.ts +17 -0
  464. package/platform/types/components/aws/linkable.d.ts.map +1 -0
  465. package/platform/types/components/aws/logging.d.ts +26 -0
  466. package/platform/types/components/aws/logging.d.ts.map +1 -0
  467. package/platform/types/components/aws/microvm.d.ts +439 -0
  468. package/platform/types/components/aws/microvm.d.ts.map +1 -0
  469. package/platform/types/components/aws/mysql.d.ts +525 -0
  470. package/platform/types/components/aws/mysql.d.ts.map +1 -0
  471. package/platform/types/components/aws/nextjs.d.ts +534 -0
  472. package/platform/types/components/aws/nextjs.d.ts.map +1 -0
  473. package/platform/types/components/aws/nuxt.d.ts +480 -0
  474. package/platform/types/components/aws/nuxt.d.ts.map +1 -0
  475. package/platform/types/components/aws/open-search.d.ts +306 -0
  476. package/platform/types/components/aws/open-search.d.ts.map +1 -0
  477. package/platform/types/components/aws/opencontrol.d.ts +169 -0
  478. package/platform/types/components/aws/opencontrol.d.ts.map +1 -0
  479. package/platform/types/components/aws/permission.d.ts +80 -0
  480. package/platform/types/components/aws/permission.d.ts.map +1 -0
  481. package/platform/types/components/aws/postgres-v1.d.ts +328 -0
  482. package/platform/types/components/aws/postgres-v1.d.ts.map +1 -0
  483. package/platform/types/components/aws/postgres.d.ts +529 -0
  484. package/platform/types/components/aws/postgres.d.ts.map +1 -0
  485. package/platform/types/components/aws/providers/bucket-files.d.ts +18 -0
  486. package/platform/types/components/aws/providers/bucket-files.d.ts.map +1 -0
  487. package/platform/types/components/aws/providers/distribution-deployment-waiter.d.ts +13 -0
  488. package/platform/types/components/aws/providers/distribution-deployment-waiter.d.ts.map +1 -0
  489. package/platform/types/components/aws/providers/distribution-invalidation.d.ts +11 -0
  490. package/platform/types/components/aws/providers/distribution-invalidation.d.ts.map +1 -0
  491. package/platform/types/components/aws/providers/function-environment-update.d.ts +33 -0
  492. package/platform/types/components/aws/providers/function-environment-update.d.ts.map +1 -0
  493. package/platform/types/components/aws/providers/hosted-zone-lookup.d.ts +11 -0
  494. package/platform/types/components/aws/providers/hosted-zone-lookup.d.ts.map +1 -0
  495. package/platform/types/components/aws/providers/kv-keys.d.ts +11 -0
  496. package/platform/types/components/aws/providers/kv-keys.d.ts.map +1 -0
  497. package/platform/types/components/aws/providers/kv-routes-update.d.ts +11 -0
  498. package/platform/types/components/aws/providers/kv-routes-update.d.ts.map +1 -0
  499. package/platform/types/components/aws/providers/microvm-image-prune.d.ts +35 -0
  500. package/platform/types/components/aws/providers/microvm-image-prune.d.ts.map +1 -0
  501. package/platform/types/components/aws/providers/origin-access-control.d.ts +8 -0
  502. package/platform/types/components/aws/providers/origin-access-control.d.ts.map +1 -0
  503. package/platform/types/components/aws/providers/rds-role-lookup.d.ts +8 -0
  504. package/platform/types/components/aws/providers/rds-role-lookup.d.ts.map +1 -0
  505. package/platform/types/components/aws/providers/vector-table.d.ts +12 -0
  506. package/platform/types/components/aws/providers/vector-table.d.ts.map +1 -0
  507. package/platform/types/components/aws/queue-lambda-subscriber.d.ts +53 -0
  508. package/platform/types/components/aws/queue-lambda-subscriber.d.ts.map +1 -0
  509. package/platform/types/components/aws/queue.d.ts +494 -0
  510. package/platform/types/components/aws/queue.d.ts.map +1 -0
  511. package/platform/types/components/aws/react.d.ts +407 -0
  512. package/platform/types/components/aws/react.d.ts.map +1 -0
  513. package/platform/types/components/aws/realtime-lambda-subscriber.d.ts +53 -0
  514. package/platform/types/components/aws/realtime-lambda-subscriber.d.ts.map +1 -0
  515. package/platform/types/components/aws/realtime.d.ts +237 -0
  516. package/platform/types/components/aws/realtime.d.ts.map +1 -0
  517. package/platform/types/components/aws/redis-v1.d.ts +348 -0
  518. package/platform/types/components/aws/redis-v1.d.ts.map +1 -0
  519. package/platform/types/components/aws/redis.d.ts +545 -0
  520. package/platform/types/components/aws/redis.d.ts.map +1 -0
  521. package/platform/types/components/aws/remix.d.ts +408 -0
  522. package/platform/types/components/aws/remix.d.ts.map +1 -0
  523. package/platform/types/components/aws/router-base-route.d.ts +28 -0
  524. package/platform/types/components/aws/router-base-route.d.ts.map +1 -0
  525. package/platform/types/components/aws/router-bucket-route.d.ts +29 -0
  526. package/platform/types/components/aws/router-bucket-route.d.ts.map +1 -0
  527. package/platform/types/components/aws/router-url-route.d.ts +28 -0
  528. package/platform/types/components/aws/router-url-route.d.ts.map +1 -0
  529. package/platform/types/components/aws/router.d.ts +1754 -0
  530. package/platform/types/components/aws/router.d.ts.map +1 -0
  531. package/platform/types/components/aws/service-v1.d.ts +78 -0
  532. package/platform/types/components/aws/service-v1.d.ts.map +1 -0
  533. package/platform/types/components/aws/service.d.ts +1756 -0
  534. package/platform/types/components/aws/service.d.ts.map +1 -0
  535. package/platform/types/components/aws/sns-topic-lambda-subscriber.d.ts +53 -0
  536. package/platform/types/components/aws/sns-topic-lambda-subscriber.d.ts.map +1 -0
  537. package/platform/types/components/aws/sns-topic-queue-subscriber.d.ts +55 -0
  538. package/platform/types/components/aws/sns-topic-queue-subscriber.d.ts.map +1 -0
  539. package/platform/types/components/aws/sns-topic.d.ts +394 -0
  540. package/platform/types/components/aws/sns-topic.d.ts.map +1 -0
  541. package/platform/types/components/aws/solid-start.d.ts +399 -0
  542. package/platform/types/components/aws/solid-start.d.ts.map +1 -0
  543. package/platform/types/components/aws/ssr-site.d.ts +895 -0
  544. package/platform/types/components/aws/ssr-site.d.ts.map +1 -0
  545. package/platform/types/components/aws/static-site.d.ts +744 -0
  546. package/platform/types/components/aws/static-site.d.ts.map +1 -0
  547. package/platform/types/components/aws/step-functions/choice.d.ts +73 -0
  548. package/platform/types/components/aws/step-functions/choice.d.ts.map +1 -0
  549. package/platform/types/components/aws/step-functions/fail.d.ts +63 -0
  550. package/platform/types/components/aws/step-functions/fail.d.ts.map +1 -0
  551. package/platform/types/components/aws/step-functions/map.d.ts +236 -0
  552. package/platform/types/components/aws/step-functions/map.d.ts.map +1 -0
  553. package/platform/types/components/aws/step-functions/parallel.d.ts +127 -0
  554. package/platform/types/components/aws/step-functions/parallel.d.ts.map +1 -0
  555. package/platform/types/components/aws/step-functions/pass.d.ts +39 -0
  556. package/platform/types/components/aws/step-functions/pass.d.ts.map +1 -0
  557. package/platform/types/components/aws/step-functions/state.d.ts +231 -0
  558. package/platform/types/components/aws/step-functions/state.d.ts.map +1 -0
  559. package/platform/types/components/aws/step-functions/succeed.d.ts +26 -0
  560. package/platform/types/components/aws/step-functions/succeed.d.ts.map +1 -0
  561. package/platform/types/components/aws/step-functions/task.d.ts +485 -0
  562. package/platform/types/components/aws/step-functions/task.d.ts.map +1 -0
  563. package/platform/types/components/aws/step-functions/wait.d.ts +91 -0
  564. package/platform/types/components/aws/step-functions/wait.d.ts.map +1 -0
  565. package/platform/types/components/aws/step-functions.d.ts +478 -0
  566. package/platform/types/components/aws/step-functions.d.ts.map +1 -0
  567. package/platform/types/components/aws/svelte-kit.d.ts +456 -0
  568. package/platform/types/components/aws/svelte-kit.d.ts.map +1 -0
  569. package/platform/types/components/aws/takeover/alb.d.ts +2 -0
  570. package/platform/types/components/aws/takeover/alb.d.ts.map +1 -0
  571. package/platform/types/components/aws/takeover/apigatewayv2.d.ts +2 -0
  572. package/platform/types/components/aws/takeover/apigatewayv2.d.ts.map +1 -0
  573. package/platform/types/components/aws/takeover/app-sync.d.ts +2 -0
  574. package/platform/types/components/aws/takeover/app-sync.d.ts.map +1 -0
  575. package/platform/types/components/aws/takeover/aurora.d.ts +2 -0
  576. package/platform/types/components/aws/takeover/aurora.d.ts.map +1 -0
  577. package/platform/types/components/aws/takeover/bucket.d.ts +2 -0
  578. package/platform/types/components/aws/takeover/bucket.d.ts.map +1 -0
  579. package/platform/types/components/aws/takeover/bus.d.ts +2 -0
  580. package/platform/types/components/aws/takeover/bus.d.ts.map +1 -0
  581. package/platform/types/components/aws/takeover/cognito-user-pool.d.ts +2 -0
  582. package/platform/types/components/aws/takeover/cognito-user-pool.d.ts.map +1 -0
  583. package/platform/types/components/aws/takeover/cron-v2.d.ts +2 -0
  584. package/platform/types/components/aws/takeover/cron-v2.d.ts.map +1 -0
  585. package/platform/types/components/aws/takeover/dsql.d.ts +2 -0
  586. package/platform/types/components/aws/takeover/dsql.d.ts.map +1 -0
  587. package/platform/types/components/aws/takeover/dynamo.d.ts +2 -0
  588. package/platform/types/components/aws/takeover/dynamo.d.ts.map +1 -0
  589. package/platform/types/components/aws/takeover/efs.d.ts +2 -0
  590. package/platform/types/components/aws/takeover/efs.d.ts.map +1 -0
  591. package/platform/types/components/aws/takeover/function.d.ts +2 -0
  592. package/platform/types/components/aws/takeover/function.d.ts.map +1 -0
  593. package/platform/types/components/aws/takeover/helpers.d.ts +16 -0
  594. package/platform/types/components/aws/takeover/helpers.d.ts.map +1 -0
  595. package/platform/types/components/aws/takeover/index.d.ts +28 -0
  596. package/platform/types/components/aws/takeover/index.d.ts.map +1 -0
  597. package/platform/types/components/aws/takeover/mysql.d.ts +2 -0
  598. package/platform/types/components/aws/takeover/mysql.d.ts.map +1 -0
  599. package/platform/types/components/aws/takeover/postgres.d.ts +2 -0
  600. package/platform/types/components/aws/takeover/postgres.d.ts.map +1 -0
  601. package/platform/types/components/aws/takeover/queue.d.ts +2 -0
  602. package/platform/types/components/aws/takeover/queue.d.ts.map +1 -0
  603. package/platform/types/components/aws/takeover/redis.d.ts +2 -0
  604. package/platform/types/components/aws/takeover/redis.d.ts.map +1 -0
  605. package/platform/types/components/aws/takeover/service.d.ts +2 -0
  606. package/platform/types/components/aws/takeover/service.d.ts.map +1 -0
  607. package/platform/types/components/aws/takeover/sns-topic.d.ts +2 -0
  608. package/platform/types/components/aws/takeover/sns-topic.d.ts.map +1 -0
  609. package/platform/types/components/aws/takeover/task.d.ts +2 -0
  610. package/platform/types/components/aws/takeover/task.d.ts.map +1 -0
  611. package/platform/types/components/aws/tan-stack-start.d.ts +359 -0
  612. package/platform/types/components/aws/tan-stack-start.d.ts.map +1 -0
  613. package/platform/types/components/aws/task.d.ts +342 -0
  614. package/platform/types/components/aws/task.d.ts.map +1 -0
  615. package/platform/types/components/aws/v5/alb.d.ts +177 -0
  616. package/platform/types/components/aws/v5/alb.d.ts.map +1 -0
  617. package/platform/types/components/aws/v5/apigatewayv2.d.ts +482 -0
  618. package/platform/types/components/aws/v5/apigatewayv2.d.ts.map +1 -0
  619. package/platform/types/components/aws/v5/app-sync.d.ts +424 -0
  620. package/platform/types/components/aws/v5/app-sync.d.ts.map +1 -0
  621. package/platform/types/components/aws/v5/aurora.d.ts +459 -0
  622. package/platform/types/components/aws/v5/aurora.d.ts.map +1 -0
  623. package/platform/types/components/aws/v5/bucket.d.ts +578 -0
  624. package/platform/types/components/aws/v5/bucket.d.ts.map +1 -0
  625. package/platform/types/components/aws/v5/bus.d.ts +255 -0
  626. package/platform/types/components/aws/v5/bus.d.ts.map +1 -0
  627. package/platform/types/components/aws/v5/cluster.d.ts +167 -0
  628. package/platform/types/components/aws/v5/cluster.d.ts.map +1 -0
  629. package/platform/types/components/aws/v5/cognito-user-pool-client.d.ts +69 -0
  630. package/platform/types/components/aws/v5/cognito-user-pool-client.d.ts.map +1 -0
  631. package/platform/types/components/aws/v5/cognito-user-pool.d.ts +396 -0
  632. package/platform/types/components/aws/v5/cognito-user-pool.d.ts.map +1 -0
  633. package/platform/types/components/aws/v5/cron-v2.d.ts +206 -0
  634. package/platform/types/components/aws/v5/cron-v2.d.ts.map +1 -0
  635. package/platform/types/components/aws/v5/dsql.d.ts +453 -0
  636. package/platform/types/components/aws/v5/dsql.d.ts.map +1 -0
  637. package/platform/types/components/aws/v5/dynamo.d.ts +328 -0
  638. package/platform/types/components/aws/v5/dynamo.d.ts.map +1 -0
  639. package/platform/types/components/aws/v5/efs.d.ts +178 -0
  640. package/platform/types/components/aws/v5/efs.d.ts.map +1 -0
  641. package/platform/types/components/aws/v5/function.d.ts +582 -0
  642. package/platform/types/components/aws/v5/function.d.ts.map +1 -0
  643. package/platform/types/components/aws/v5/index.d.ts +27 -0
  644. package/platform/types/components/aws/v5/index.d.ts.map +1 -0
  645. package/platform/types/components/aws/v5/mysql.d.ts +347 -0
  646. package/platform/types/components/aws/v5/mysql.d.ts.map +1 -0
  647. package/platform/types/components/aws/v5/postgres.d.ts +348 -0
  648. package/platform/types/components/aws/v5/postgres.d.ts.map +1 -0
  649. package/platform/types/components/aws/v5/queue.d.ts +190 -0
  650. package/platform/types/components/aws/v5/queue.d.ts.map +1 -0
  651. package/platform/types/components/aws/v5/redis.d.ts +214 -0
  652. package/platform/types/components/aws/v5/redis.d.ts.map +1 -0
  653. package/platform/types/components/aws/v5/service.d.ts +1347 -0
  654. package/platform/types/components/aws/v5/service.d.ts.map +1 -0
  655. package/platform/types/components/aws/v5/sns-topic.d.ts +226 -0
  656. package/platform/types/components/aws/v5/sns-topic.d.ts.map +1 -0
  657. package/platform/types/components/aws/v5/task.d.ts +346 -0
  658. package/platform/types/components/aws/v5/task.d.ts.map +1 -0
  659. package/platform/types/components/aws/vector.d.ts +163 -0
  660. package/platform/types/components/aws/vector.d.ts.map +1 -0
  661. package/platform/types/components/aws/vpc-v1.d.ts +208 -0
  662. package/platform/types/components/aws/vpc-v1.d.ts.map +1 -0
  663. package/platform/types/components/aws/vpc.d.ts +491 -0
  664. package/platform/types/components/aws/vpc.d.ts.map +1 -0
  665. package/platform/types/components/aws/workflow.d.ts +331 -0
  666. package/platform/types/components/aws/workflow.d.ts.map +1 -0
  667. package/platform/types/components/base/base-site.d.ts +53 -0
  668. package/platform/types/components/base/base-site.d.ts.map +1 -0
  669. package/platform/types/components/base/base-ssr-site.d.ts +13 -0
  670. package/platform/types/components/base/base-ssr-site.d.ts.map +1 -0
  671. package/platform/types/components/base/base-static-site.d.ts +199 -0
  672. package/platform/types/components/base/base-static-site.d.ts.map +1 -0
  673. package/platform/types/components/cloudflare/account-id.d.ts +2 -0
  674. package/platform/types/components/cloudflare/account-id.d.ts.map +1 -0
  675. package/platform/types/components/cloudflare/ai.d.ts +68 -0
  676. package/platform/types/components/cloudflare/ai.d.ts.map +1 -0
  677. package/platform/types/components/cloudflare/astro.d.ts +249 -0
  678. package/platform/types/components/cloudflare/astro.d.ts.map +1 -0
  679. package/platform/types/components/cloudflare/auth.d.ts +22 -0
  680. package/platform/types/components/cloudflare/auth.d.ts.map +1 -0
  681. package/platform/types/components/cloudflare/binding.d.ts +109 -0
  682. package/platform/types/components/cloudflare/binding.d.ts.map +1 -0
  683. package/platform/types/components/cloudflare/bucket.d.ts +98 -0
  684. package/platform/types/components/cloudflare/bucket.d.ts.map +1 -0
  685. package/platform/types/components/cloudflare/cron.d.ts +151 -0
  686. package/platform/types/components/cloudflare/cron.d.ts.map +1 -0
  687. package/platform/types/components/cloudflare/d1.d.ts +142 -0
  688. package/platform/types/components/cloudflare/d1.d.ts.map +1 -0
  689. package/platform/types/components/cloudflare/dns.d.ts +100 -0
  690. package/platform/types/components/cloudflare/dns.d.ts.map +1 -0
  691. package/platform/types/components/cloudflare/durable-object.d.ts +125 -0
  692. package/platform/types/components/cloudflare/durable-object.d.ts.map +1 -0
  693. package/platform/types/components/cloudflare/experimental/index.d.ts +4 -0
  694. package/platform/types/components/cloudflare/experimental/index.d.ts.map +1 -0
  695. package/platform/types/components/cloudflare/experimental/solid-start.d.ts +219 -0
  696. package/platform/types/components/cloudflare/experimental/solid-start.d.ts.map +1 -0
  697. package/platform/types/components/cloudflare/experimental/static-site.d.ts +3 -0
  698. package/platform/types/components/cloudflare/experimental/static-site.d.ts.map +1 -0
  699. package/platform/types/components/cloudflare/helpers/compatibility.d.ts +21 -0
  700. package/platform/types/components/cloudflare/helpers/compatibility.d.ts.map +1 -0
  701. package/platform/types/components/cloudflare/helpers/fetch.d.ts +19 -0
  702. package/platform/types/components/cloudflare/helpers/fetch.d.ts.map +1 -0
  703. package/platform/types/components/cloudflare/helpers/validation.d.ts +15 -0
  704. package/platform/types/components/cloudflare/helpers/validation.d.ts.map +1 -0
  705. package/platform/types/components/cloudflare/helpers/worker-builder.d.ts +10 -0
  706. package/platform/types/components/cloudflare/helpers/worker-builder.d.ts.map +1 -0
  707. package/platform/types/components/cloudflare/helpers/wrangler.d.ts +31 -0
  708. package/platform/types/components/cloudflare/helpers/wrangler.d.ts.map +1 -0
  709. package/platform/types/components/cloudflare/hyperdrive.d.ts +302 -0
  710. package/platform/types/components/cloudflare/hyperdrive.d.ts.map +1 -0
  711. package/platform/types/components/cloudflare/index.d.ts +25 -0
  712. package/platform/types/components/cloudflare/index.d.ts.map +1 -0
  713. package/platform/types/components/cloudflare/kv.d.ts +140 -0
  714. package/platform/types/components/cloudflare/kv.d.ts.map +1 -0
  715. package/platform/types/components/cloudflare/providers/dns-record.d.ts +21 -0
  716. package/platform/types/components/cloudflare/providers/dns-record.d.ts.map +1 -0
  717. package/platform/types/components/cloudflare/providers/kv-data.d.ts +23 -0
  718. package/platform/types/components/cloudflare/providers/kv-data.d.ts.map +1 -0
  719. package/platform/types/components/cloudflare/providers/worker-assets.d.ts +19 -0
  720. package/platform/types/components/cloudflare/providers/worker-assets.d.ts.map +1 -0
  721. package/platform/types/components/cloudflare/providers/worker-placement.d.ts +27 -0
  722. package/platform/types/components/cloudflare/providers/worker-placement.d.ts.map +1 -0
  723. package/platform/types/components/cloudflare/providers/worker-script.d.ts +23 -0
  724. package/platform/types/components/cloudflare/providers/worker-script.d.ts.map +1 -0
  725. package/platform/types/components/cloudflare/providers/worker-url.d.ts +24 -0
  726. package/platform/types/components/cloudflare/providers/worker-url.d.ts.map +1 -0
  727. package/platform/types/components/cloudflare/providers/zone-lookup.d.ts +22 -0
  728. package/platform/types/components/cloudflare/providers/zone-lookup.d.ts.map +1 -0
  729. package/platform/types/components/cloudflare/queue-worker-subscriber.d.ts +122 -0
  730. package/platform/types/components/cloudflare/queue-worker-subscriber.d.ts.map +1 -0
  731. package/platform/types/components/cloudflare/queue.d.ts +235 -0
  732. package/platform/types/components/cloudflare/queue.d.ts.map +1 -0
  733. package/platform/types/components/cloudflare/rate-limit.d.ts +117 -0
  734. package/platform/types/components/cloudflare/rate-limit.d.ts.map +1 -0
  735. package/platform/types/components/cloudflare/react-router.d.ts +262 -0
  736. package/platform/types/components/cloudflare/react-router.d.ts.map +1 -0
  737. package/platform/types/components/cloudflare/ssr-site.d.ts +60 -0
  738. package/platform/types/components/cloudflare/ssr-site.d.ts.map +1 -0
  739. package/platform/types/components/cloudflare/static-site-v2.d.ts +302 -0
  740. package/platform/types/components/cloudflare/static-site-v2.d.ts.map +1 -0
  741. package/platform/types/components/cloudflare/static-site.d.ts +270 -0
  742. package/platform/types/components/cloudflare/static-site.d.ts.map +1 -0
  743. package/platform/types/components/cloudflare/tan-stack-start.d.ts +259 -0
  744. package/platform/types/components/cloudflare/tan-stack-start.d.ts.map +1 -0
  745. package/platform/types/components/cloudflare/worker.d.ts +483 -0
  746. package/platform/types/components/cloudflare/worker.d.ts.map +1 -0
  747. package/platform/types/components/cloudflare/workflow.d.ts +248 -0
  748. package/platform/types/components/cloudflare/workflow.d.ts.map +1 -0
  749. package/platform/types/components/component.d.ts +67 -0
  750. package/platform/types/components/component.d.ts.map +1 -0
  751. package/platform/types/components/core.d.ts +16 -0
  752. package/platform/types/components/core.d.ts.map +1 -0
  753. package/platform/types/components/cpu.d.ts +3 -0
  754. package/platform/types/components/cpu.d.ts.map +1 -0
  755. package/platform/types/components/dns.d.ts +63 -0
  756. package/platform/types/components/dns.d.ts.map +1 -0
  757. package/platform/types/components/duration.d.ts +9 -0
  758. package/platform/types/components/duration.d.ts.map +1 -0
  759. package/platform/types/components/error.d.ts +4 -0
  760. package/platform/types/components/error.d.ts.map +1 -0
  761. package/platform/types/components/esbuild.d.ts +3 -0
  762. package/platform/types/components/esbuild.d.ts.map +1 -0
  763. package/platform/types/components/experimental/dev-command.d.ts +99 -0
  764. package/platform/types/components/experimental/dev-command.d.ts.map +1 -0
  765. package/platform/types/components/experimental/index.d.ts +2 -0
  766. package/platform/types/components/experimental/index.d.ts.map +1 -0
  767. package/platform/types/components/groups.d.ts +6 -0
  768. package/platform/types/components/groups.d.ts.map +1 -0
  769. package/platform/types/components/index.d.ts +5 -0
  770. package/platform/types/components/index.d.ts.map +1 -0
  771. package/platform/types/components/input.d.ts +3 -0
  772. package/platform/types/components/input.d.ts.map +1 -0
  773. package/platform/types/components/link.d.ts +41 -0
  774. package/platform/types/components/link.d.ts.map +1 -0
  775. package/platform/types/components/linkable.d.ts +301 -0
  776. package/platform/types/components/linkable.d.ts.map +1 -0
  777. package/platform/types/components/naming-rules.d.ts +32 -0
  778. package/platform/types/components/naming-rules.d.ts.map +1 -0
  779. package/platform/types/components/naming.d.ts +21 -0
  780. package/platform/types/components/naming.d.ts.map +1 -0
  781. package/platform/types/components/parts-component.d.ts +241 -0
  782. package/platform/types/components/parts-component.d.ts.map +1 -0
  783. package/platform/types/components/parts.d.ts +194 -0
  784. package/platform/types/components/parts.d.ts.map +1 -0
  785. package/platform/types/components/path.d.ts +2 -0
  786. package/platform/types/components/path.d.ts.map +1 -0
  787. package/platform/types/components/rpc/rpc.d.ts +19 -0
  788. package/platform/types/components/rpc/rpc.d.ts.map +1 -0
  789. package/platform/types/components/secret.d.ts +123 -0
  790. package/platform/types/components/secret.d.ts.map +1 -0
  791. package/platform/types/components/size.d.ts +5 -0
  792. package/platform/types/components/size.d.ts.map +1 -0
  793. package/platform/types/components/takeover.d.ts +88 -0
  794. package/platform/types/components/takeover.d.ts.map +1 -0
  795. package/platform/types/components/transform.d.ts +34 -0
  796. package/platform/types/components/transform.d.ts.map +1 -0
  797. package/platform/types/components/vercel/account-id.d.ts +2 -0
  798. package/platform/types/components/vercel/account-id.d.ts.map +1 -0
  799. package/platform/types/components/vercel/dns.d.ts +73 -0
  800. package/platform/types/components/vercel/dns.d.ts.map +1 -0
  801. package/platform/types/components/vercel/index.d.ts +3 -0
  802. package/platform/types/components/vercel/index.d.ts.map +1 -0
  803. package/platform/types/components/vercel/providers/dns-record.d.ts +15 -0
  804. package/platform/types/components/vercel/providers/dns-record.d.ts.map +1 -0
  805. package/platform/types/config.d.ts +1437 -0
  806. package/platform/types/config.d.ts.map +1 -0
  807. package/platform/types/global-aliases.d.ts +37 -0
  808. package/platform/types/global.d.ts +374 -0
  809. package/platform/types/internal.d.ts +18 -0
  810. package/platform/types/runtime/worker/unenv.d.ts +14 -0
  811. package/platform/types/testing/global.d.ts +11 -0
  812. package/platform/types/testing/global.d.ts.map +1 -0
  813. package/platform/types/testing/index.d.ts +80 -0
  814. package/platform/types/testing/index.d.ts.map +1 -0
  815. package/platform/types/testing/mock.d.ts +136 -0
  816. package/platform/types/testing/mock.d.ts.map +1 -0
  817. package/platform/types/testing/vitest.d.ts +19 -0
  818. package/platform/types/testing/vitest.d.ts.map +1 -0
  819. package/platform/types/util/compare-semver.d.ts +4 -0
  820. package/platform/types/util/compare-semver.d.ts.map +1 -0
  821. package/platform/types/util/fs.d.ts +5 -0
  822. package/platform/types/util/fs.d.ts.map +1 -0
  823. package/platform/types/util/lazy.d.ts +2 -0
  824. package/platform/types/util/lazy.d.ts.map +1 -0
  825. package/platform/types/util/minify.d.ts +2 -0
  826. package/platform/types/util/minify.d.ts.map +1 -0
  827. package/platform/types/util/package.d.ts +10 -0
  828. package/platform/types/util/package.d.ts.map +1 -0
  829. package/platform/types/util/semaphore.d.ts +9 -0
  830. package/platform/types/util/semaphore.d.ts.map +1 -0
  831. package/platform/types/util/warn.d.ts +2 -0
  832. package/platform/types/util/warn.d.ts.map +1 -0
@@ -0,0 +1,1052 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+ import { ComponentResourceOptions, Output, all, output } from "@pulumi/pulumi";
4
+ import { Size } from "../size.js";
5
+ import { Function, FunctionArgs } from "./function.js";
6
+ import { VisibleError } from "../error.js";
7
+ import type { Input } from "../input.js";
8
+ import { Queue } from "./queue.js";
9
+ import { dynamodb, getRegionOutput, lambda } from "@pulumi/aws";
10
+ import { isALteB, isALtB } from "../../util/compare-semver.js";
11
+ import { Plan, SsrSite, SsrSiteArgs } from "./ssr-site.js";
12
+ import { Bucket, BucketArgs } from "./bucket.js";
13
+ import { CdnArgs } from "./cdn.js";
14
+ import { transform, Transform } from "../component.js";
15
+
16
+ const DEFAULT_OPEN_NEXT_VERSION = "3.9.14";
17
+ const DEFAULT_OPEN_NEXT_VERSION_NEXT14 = "3.6.6";
18
+
19
+ type BaseFunction = {
20
+ handler: string;
21
+ bundle: string;
22
+ };
23
+
24
+ type OpenNextFunctionOrigin = {
25
+ type: "function";
26
+ streaming?: boolean;
27
+ wrapper: string;
28
+ converter: string;
29
+ } & BaseFunction;
30
+
31
+ type OpenNextServerFunctionOrigin = OpenNextFunctionOrigin & {
32
+ queue: string;
33
+ incrementalCache: string;
34
+ tagCache: string;
35
+ };
36
+
37
+ type OpenNextImageOptimizationOrigin = OpenNextFunctionOrigin & {
38
+ imageLoader: string;
39
+ };
40
+
41
+ type OpenNextS3Origin = {
42
+ type: "s3";
43
+ originPath: string;
44
+ copy: {
45
+ from: string;
46
+ to: string;
47
+ cached: boolean;
48
+ versionedSubDir?: string;
49
+ }[];
50
+ };
51
+
52
+ interface OpenNextOutput {
53
+ edgeFunctions: {
54
+ [key: string]: BaseFunction;
55
+ } & {
56
+ middleware?: BaseFunction & { pathResolver: string };
57
+ };
58
+ origins: {
59
+ s3: OpenNextS3Origin;
60
+ default: OpenNextServerFunctionOrigin;
61
+ imageOptimizer: OpenNextImageOptimizationOrigin;
62
+ } & {
63
+ [key: string]: OpenNextServerFunctionOrigin | OpenNextS3Origin;
64
+ };
65
+ behaviors: {
66
+ pattern: string;
67
+ origin?: string;
68
+ edgeFunction?: string;
69
+ }[];
70
+ additionalProps?: {
71
+ disableIncrementalCache?: boolean;
72
+ disableTagCache?: boolean;
73
+ initializationFunction?: BaseFunction;
74
+ warmer?: BaseFunction;
75
+ revalidationFunction?: BaseFunction;
76
+ };
77
+ }
78
+
79
+ export interface NextjsArgs extends SsrSiteArgs {
80
+ /**
81
+ * Configure how this component works in `sst dev`.
82
+ *
83
+ * :::note
84
+ * In `sst dev` your Next.js app is run in dev mode; it's not deployed.
85
+ * :::
86
+ *
87
+ * Instead of deploying your Next.js app, this starts it in dev mode. It's run
88
+ * as a separate process in the `sst dev` multiplexer. Read more about
89
+ * [`sst dev`](/docs/reference/cli/#dev).
90
+ *
91
+ * To disable dev mode, pass in `false`.
92
+ */
93
+ dev?: SsrSiteArgs["dev"];
94
+ /**
95
+ * Permissions and the resources that the [server function](#nodes-server) in your Next.js app needs to access. These permissions are used to create the function's IAM role.
96
+ *
97
+ * :::tip
98
+ * If you `link` the function to a resource, the permissions to access it are
99
+ * automatically added.
100
+ * :::
101
+ *
102
+ * @example
103
+ * Allow reading and writing to an S3 bucket called `my-bucket`.
104
+ * ```js
105
+ * {
106
+ * permissions: [
107
+ * {
108
+ * actions: ["s3:GetObject", "s3:PutObject"],
109
+ * resources: ["arn:aws:s3:::my-bucket/*"]
110
+ * },
111
+ * ]
112
+ * }
113
+ * ```
114
+ *
115
+ * Perform all actions on an S3 bucket called `my-bucket`.
116
+ *
117
+ * ```js
118
+ * {
119
+ * permissions: [
120
+ * {
121
+ * actions: ["s3:*"],
122
+ * resources: ["arn:aws:s3:::my-bucket/*"]
123
+ * },
124
+ * ]
125
+ * }
126
+ * ```
127
+ *
128
+ * Grant permissions to access all resources.
129
+ *
130
+ * ```js
131
+ * {
132
+ * permissions: [
133
+ * {
134
+ * actions: ["*"],
135
+ * resources: ["*"]
136
+ * },
137
+ * ]
138
+ * }
139
+ * ```
140
+ */
141
+ permissions?: SsrSiteArgs["permissions"];
142
+ /**
143
+ * Path to the directory where your Next.js app is located. This path is relative to your `sst.config.ts`.
144
+ *
145
+ * By default this assumes your Next.js app is in the root of your SST app.
146
+ * @default `"."`
147
+ *
148
+ * @example
149
+ *
150
+ * If your Next.js app is in a package in your monorepo.
151
+ *
152
+ * ```js
153
+ * {
154
+ * path: "packages/web"
155
+ * }
156
+ * ```
157
+ */
158
+ path?: SsrSiteArgs["path"];
159
+ /**
160
+ * [Link resources](/docs/linking/) to your Next.js app. This will:
161
+ *
162
+ * 1. Grant the permissions needed to access the resources.
163
+ * 2. Allow you to access it in your site using the [SDK](/docs/reference/sdk/).
164
+ *
165
+ * @example
166
+ *
167
+ * Takes a list of resources to link to the function.
168
+ *
169
+ * ```js
170
+ * {
171
+ * link: [bucket, stripeKey]
172
+ * }
173
+ * ```
174
+ */
175
+ link?: SsrSiteArgs["link"];
176
+ /**
177
+ * Configure how the CloudFront cache invalidations are handled. This is run after your Next.js app has been deployed.
178
+ * :::tip
179
+ * You get 1000 free invalidations per month. After that you pay $0.005 per invalidation path. [Read more here](https://aws.amazon.com/cloudfront/pricing/).
180
+ * :::
181
+ * @default `{paths: "all", wait: false}`
182
+ * @example
183
+ * Turn off invalidations.
184
+ * ```js
185
+ * {
186
+ * invalidation: false
187
+ * }
188
+ * ```
189
+ * Wait for all paths to be invalidated.
190
+ * ```js
191
+ * {
192
+ * invalidation: {
193
+ * paths: "all",
194
+ * wait: true
195
+ * }
196
+ * }
197
+ * ```
198
+ */
199
+ invalidation?: SsrSiteArgs["invalidation"];
200
+ /**
201
+ * The command used internally to build your Next.js app. It uses OpenNext with the `openNextVersion`.
202
+ *
203
+ * @default `"npx --yes open-next@OPEN_NEXT_VERSION build"`
204
+ *
205
+ * @example
206
+ *
207
+ * If you want to use a custom `build` script from your `package.json`. This is useful if you have a custom build process or want to use a different version of OpenNext.
208
+ * OpenNext by default uses the `build` script for building next-js app in your `package.json`. You can customize the build command in OpenNext configuration.
209
+ * ```js
210
+ * {
211
+ * buildCommand: "npm run build:open-next"
212
+ * }
213
+ * ```
214
+ */
215
+ buildCommand?: SsrSiteArgs["buildCommand"];
216
+ /**
217
+ * Set [environment variables](https://nextjs.org/docs/pages/building-your-application/configuring/environment-variables) in your Next.js app. These are made available:
218
+ *
219
+ * 1. In `next build`, they are loaded into `process.env`.
220
+ * 2. Locally while running through `sst dev`.
221
+ *
222
+ * :::tip
223
+ * You can also `link` resources to your Next.js app and access them in a type-safe way with the [SDK](/docs/reference/sdk/). We recommend linking since it's more secure.
224
+ * :::
225
+ *
226
+ * Recall that in Next.js, you need to prefix your environment variables with `NEXT_PUBLIC_` to access these in the browser. [Read more here](https://nextjs.org/docs/pages/building-your-application/configuring/environment-variables#bundling-environment-variables-for-the-browser).
227
+ *
228
+ * @example
229
+ * ```js
230
+ * {
231
+ * environment: {
232
+ * API_URL: api.url,
233
+ * // Accessible in the browser
234
+ * NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY: "pk_test_123"
235
+ * }
236
+ * }
237
+ * ```
238
+ */
239
+ environment?: SsrSiteArgs["environment"];
240
+ /**
241
+ * Serve your Next.js app through a `Router` instead of a standalone CloudFront
242
+ * distribution.
243
+ *
244
+ * By default, this component creates a new CloudFront distribution. But you might
245
+ * want to serve it through the distribution of your `Router` as a:
246
+ *
247
+ * - A path like `/docs`
248
+ * - A subdomain like `docs.example.com`
249
+ * - Or a combined pattern like `dev.example.com/docs`
250
+ *
251
+ * @example
252
+ *
253
+ * To serve your Next.js app **from a path**, you'll need to configure the root domain
254
+ * in your `Router` component.
255
+ *
256
+ * ```ts title="sst.config.ts" {2}
257
+ * const router = new sst.aws.Router("Router", {
258
+ * domain: "example.com"
259
+ * });
260
+ * ```
261
+ *
262
+ * Now set the `router` and the `path`.
263
+ *
264
+ * ```ts {3,4}
265
+ * {
266
+ * router: {
267
+ * instance: router,
268
+ * path: "/docs"
269
+ * }
270
+ * }
271
+ * ```
272
+ *
273
+ * You also need to set the [`basePath`](https://nextjs.org/docs/app/api-reference/config/next-config-js/basePath)
274
+ * in your `next.config.js`.
275
+ *
276
+ * :::caution
277
+ * If routing to a path, you need to set that as the base path in your Next.js
278
+ * app as well.
279
+ * :::
280
+ *
281
+ * ```js title="next.config.js" {2}
282
+ * export default defineConfig({
283
+ * basePath: "/docs"
284
+ * });
285
+ * ```
286
+ *
287
+ * To serve your Next.js app **from a subdomain**, you'll need to configure the
288
+ * domain in your `Router` component to match both the root and the subdomain.
289
+ *
290
+ * ```ts title="sst.config.ts" {3,4}
291
+ * const router = new sst.aws.Router("Router", {
292
+ * domain: {
293
+ * name: "example.com",
294
+ * aliases: ["*.example.com"]
295
+ * }
296
+ * });
297
+ * ```
298
+ *
299
+ * Now set the `domain` in the `router` prop.
300
+ *
301
+ * ```ts {4}
302
+ * {
303
+ * router: {
304
+ * instance: router,
305
+ * domain: "docs.example.com"
306
+ * }
307
+ * }
308
+ * ```
309
+ *
310
+ * Finally, to serve your Next.js app **from a combined pattern** like
311
+ * `dev.example.com/docs`, you'll need to configure the domain in your `Router` to
312
+ * match the subdomain.
313
+ *
314
+ * ```ts title="sst.config.ts" {3,4}
315
+ * const router = new sst.aws.Router("Router", {
316
+ * domain: {
317
+ * name: "example.com",
318
+ * aliases: ["*.example.com"]
319
+ * }
320
+ * });
321
+ * ```
322
+ *
323
+ * And set the `domain` and the `path`.
324
+ *
325
+ * ```ts {4,5}
326
+ * {
327
+ * router: {
328
+ * instance: router,
329
+ * domain: "dev.example.com",
330
+ * path: "/docs"
331
+ * }
332
+ * }
333
+ * ```
334
+ *
335
+ * Also, make sure to set this as the `basePath` in your `next.config.js`, like
336
+ * above.
337
+ */
338
+ router?: SsrSiteArgs["router"];
339
+ /**
340
+ * Set a custom domain for your Next.js app.
341
+ *
342
+ * Automatically manages domains hosted on AWS Route 53, Cloudflare, and Vercel. For other
343
+ * providers, you'll need to pass in a `cert` that validates domain ownership and add the
344
+ * DNS records.
345
+ *
346
+ * :::tip
347
+ * Built-in support for AWS Route 53, Cloudflare, and Vercel. And manual setup for other
348
+ * providers.
349
+ * :::
350
+ *
351
+ * @example
352
+ *
353
+ * By default this assumes the domain is hosted on Route 53.
354
+ *
355
+ * ```js
356
+ * {
357
+ * domain: "example.com"
358
+ * }
359
+ * ```
360
+ *
361
+ * For domains hosted on Cloudflare.
362
+ *
363
+ * ```js
364
+ * {
365
+ * domain: {
366
+ * name: "example.com",
367
+ * dns: sst.cloudflare.dns()
368
+ * }
369
+ * }
370
+ * ```
371
+ *
372
+ * Specify a `www.` version of the custom domain.
373
+ *
374
+ * ```js
375
+ * {
376
+ * domain: {
377
+ * name: "domain.com",
378
+ * redirects: ["www.domain.com"]
379
+ * }
380
+ * }
381
+ * ```
382
+ */
383
+ domain?: SsrSiteArgs["domain"];
384
+
385
+ /**
386
+ * Configure the [OpenNext](https://opennext.js.org) version used to build the Next.js app.
387
+ *
388
+ * :::note
389
+ * The default OpenNext version is auto-detected based on your Next.js version and pinned to the version of SST you have.
390
+ * :::
391
+ *
392
+ * By default, SST auto-detects the Next.js version from your `package.json` and picks a compatible OpenNext version. For Next.js 15+, it uses `3.9.14`. For Next.js 14, it uses `3.6.6` since newer versions of OpenNext dropped Next.js 14 support. If set, this overrides the auto-detection.
393
+ *
394
+ * You can [find the defaults in the source](https://github.com/sst/sst/blob/dev/platform/src/components/aws/nextjs.ts#L30) under `DEFAULT_OPEN_NEXT_VERSION`.
395
+ * OpenNext changed its package name from `open-next` to `@opennextjs/aws` in version `3.1.4`. SST will choose the correct one based on the version you provide.
396
+ *
397
+ * @default Auto-detected based on your Next.js version.
398
+ * @example
399
+ * ```js
400
+ * {
401
+ * openNextVersion: "3.4.1"
402
+ * }
403
+ * ```
404
+ */
405
+ openNextVersion?: Input<string>;
406
+ /**
407
+ * Configure the Lambda function used for image optimization.
408
+ * @default `{memory: "1024 MB"}`
409
+ */
410
+ imageOptimization?: {
411
+ /**
412
+ * The amount of memory allocated to the image optimization function.
413
+ * Takes values between 128 MB and 10240 MB in 1 MB increments.
414
+ *
415
+ * @default `"1536 MB"`
416
+ * @example
417
+ * ```js
418
+ * {
419
+ * imageOptimization: {
420
+ * memory: "512 MB"
421
+ * }
422
+ * }
423
+ * ```
424
+ */
425
+ memory?: Size;
426
+ /**
427
+ * If set to true, a previously computed image will return _304 Not Modified_.
428
+ * This means that image needs to be **immutable**.
429
+ *
430
+ * The etag will be computed based on the image href, format and width and the next
431
+ * BUILD_ID.
432
+ *
433
+ * @default `false`
434
+ * @example
435
+ * ```js
436
+ * {
437
+ * imageOptimization: {
438
+ * staticEtag: true,
439
+ * }
440
+ * }
441
+ * ```
442
+ */
443
+ staticEtag?: boolean;
444
+ };
445
+ /**
446
+ * Configure the Next.js app to use an existing CloudFront cache policy.
447
+ *
448
+ * :::note
449
+ * CloudFront has a limit of 20 cache policies per account, though you can request a limit
450
+ * increase.
451
+ * :::
452
+ *
453
+ * By default, a new cache policy is created for it. This allows you to reuse an existing
454
+ * policy instead of creating a new one.
455
+ *
456
+ * @default A new cache policy is created
457
+ *
458
+ * @example
459
+ * ```js
460
+ * {
461
+ * cachePolicy: "658327ea-f89d-4fab-a63d-7e88639e58f6"
462
+ * }
463
+ * ```
464
+ */
465
+ cachePolicy?: SsrSiteArgs["cachePolicy"];
466
+ /**
467
+ * [Transform](/docs/components#transform) how this component creates its underlying
468
+ * resources.
469
+ */
470
+ transform?: {
471
+ /**
472
+ * Transform the Bucket resource used for uploading the assets.
473
+ */
474
+ assets?: Transform<BucketArgs>;
475
+ /**
476
+ * Transform the server Function resource.
477
+ */
478
+ server?: Transform<FunctionArgs>;
479
+ /**
480
+ * Transform the image optimizer Function resource.
481
+ */
482
+ imageOptimizer?: Transform<FunctionArgs>;
483
+ /**
484
+ * Transform the CloudFront CDN resource.
485
+ */
486
+ cdn?: Transform<CdnArgs>;
487
+ /**
488
+ * Transform the revalidation seeder Function resource used for ISR.
489
+ */
490
+ revalidationSeeder?: Transform<FunctionArgs>;
491
+ /**
492
+ * Transform the revalidation events subscriber Function resource used for ISR.
493
+ */
494
+ revalidationEventsSubscriber?: Transform<FunctionArgs>;
495
+ };
496
+ }
497
+
498
+ /**
499
+ * The `Nextjs` component lets you deploy [Next.js](https://nextjs.org) apps on AWS. It uses
500
+ * [OpenNext](https://open-next.js.org) to build your Next.js app, and transforms the build
501
+ * output to a format that can be deployed to AWS.
502
+ *
503
+ * @example
504
+ *
505
+ * #### Minimal example
506
+ *
507
+ * Deploy the Next.js app that's in the project root.
508
+ *
509
+ * ```js title="sst.config.ts"
510
+ * new sst.aws.Nextjs("MyWeb");
511
+ * ```
512
+ *
513
+ * #### Change the path
514
+ *
515
+ * Deploys a Next.js app in the `my-next-app/` directory.
516
+ *
517
+ * ```js {2} title="sst.config.ts"
518
+ * new sst.aws.Nextjs("MyWeb", {
519
+ * path: "my-next-app/"
520
+ * });
521
+ * ```
522
+ *
523
+ * #### Add a custom domain
524
+ *
525
+ * Set a custom domain for your Next.js app.
526
+ *
527
+ * ```js {2} title="sst.config.ts"
528
+ * new sst.aws.Nextjs("MyWeb", {
529
+ * domain: "my-app.com"
530
+ * });
531
+ * ```
532
+ *
533
+ * #### Redirect www to apex domain
534
+ *
535
+ * Redirect `www.my-app.com` to `my-app.com`.
536
+ *
537
+ * ```js {4} title="sst.config.ts"
538
+ * new sst.aws.Nextjs("MyWeb", {
539
+ * domain: {
540
+ * name: "my-app.com",
541
+ * redirects: ["www.my-app.com"]
542
+ * }
543
+ * });
544
+ * ```
545
+ *
546
+ * #### Link resources
547
+ *
548
+ * [Link resources](/docs/linking/) to your Next.js app. This will grant permissions
549
+ * to the resources and allow you to access it in your app.
550
+ *
551
+ * ```ts {4} title="sst.config.ts"
552
+ * const bucket = new sst.aws.Bucket("MyBucket");
553
+ *
554
+ * new sst.aws.Nextjs("MyWeb", {
555
+ * link: [bucket]
556
+ * });
557
+ * ```
558
+ *
559
+ * You can use the [SDK](/docs/reference/sdk/) to access the linked resources
560
+ * in your Next.js app.
561
+ *
562
+ * ```ts title="app/page.tsx"
563
+ * import { Resource } from "sst";
564
+ *
565
+ * console.log(Resource.MyBucket.name);
566
+ * ```
567
+ */
568
+ export class Nextjs extends SsrSite {
569
+ private declare revalidationQueue?: Output<Queue | undefined>;
570
+ private declare revalidationTable?: Output<dynamodb.Table | undefined>;
571
+ private declare revalidationFunction?: Output<Function | undefined>;
572
+
573
+ constructor(
574
+ name: string,
575
+ args: NextjsArgs = {},
576
+ opts: ComponentResourceOptions = {},
577
+ ) {
578
+ super(__pulumiType, name, args, opts);
579
+ }
580
+
581
+ protected normalizeBuildCommand(args: NextjsArgs) {
582
+ return all([args?.buildCommand, args?.openNextVersion, args?.path]).apply(
583
+ ([buildCommand, openNextVersion, sitePath]) => {
584
+ if (buildCommand) return buildCommand;
585
+
586
+ function detectDefaultOpenNextVersion() {
587
+ try {
588
+ const pkgPath = path.join(sitePath ?? ".", "package.json");
589
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf-8"));
590
+ const nextVersion =
591
+ pkg.dependencies?.next ?? pkg.devDependencies?.next;
592
+ if (nextVersion && isALtB(nextVersion, "15.0.0")) {
593
+ return DEFAULT_OPEN_NEXT_VERSION_NEXT14;
594
+ }
595
+ } catch {
596
+ console.warn(`Failed to detect Next.js version. Using OpenNext v${DEFAULT_OPEN_NEXT_VERSION} as default.`);
597
+ }
598
+ return DEFAULT_OPEN_NEXT_VERSION;
599
+ }
600
+
601
+ const version = openNextVersion ?? detectDefaultOpenNextVersion();
602
+ const packageName = isALteB(version, "3.1.3")
603
+ ? "open-next"
604
+ : "@opennextjs/aws";
605
+ return `npx --yes ${packageName}@${version} build`;
606
+ },
607
+ );
608
+ }
609
+
610
+ protected buildPlan(
611
+ outputPath: Output<string>,
612
+ name: string,
613
+ args: NextjsArgs,
614
+ { bucket }: { bucket: Bucket },
615
+ ): Output<Plan> {
616
+ const parent = this;
617
+
618
+ const ret = all([outputPath, args?.imageOptimization]).apply(
619
+ ([outputPath, imageOptimization]) => {
620
+ const { openNextOutput, buildId, prerenderManifest, base } =
621
+ loadBuildOutput();
622
+
623
+ if (Object.entries(openNextOutput.edgeFunctions).length) {
624
+ throw new VisibleError(
625
+ `Lambda@Edge runtime is deprecated. Update your OpenNext configuration to use the standard Lambda runtime and deploy to multiple regions using the "regions" option in your Nextjs component.`,
626
+ );
627
+ }
628
+
629
+ const { revalidationQueue, revalidationFunction } =
630
+ createRevalidationQueue();
631
+ const revalidationTable = createRevalidationTable();
632
+ createRevalidationTableSeeder();
633
+
634
+ const serverOrigin = openNextOutput.origins["default"];
635
+ const imageOptimizerOrigin = openNextOutput.origins["imageOptimizer"];
636
+ const s3Origin = openNextOutput.origins["s3"];
637
+ const plan = all([
638
+ revalidationTable?.arn,
639
+ revalidationTable?.name,
640
+ bucket.arn,
641
+ bucket.name,
642
+ getRegionOutput(undefined, { parent: bucket }).region,
643
+ revalidationQueue?.arn,
644
+ revalidationQueue?.url,
645
+ getRegionOutput(undefined, { parent: revalidationQueue }).region,
646
+ ]).apply(
647
+ ([
648
+ tableArn,
649
+ tableName,
650
+ bucketArn,
651
+ bucketName,
652
+ bucketRegion,
653
+ queueArn,
654
+ queueUrl,
655
+ queueRegion,
656
+ ]) => ({
657
+ base,
658
+ server: {
659
+ description: `${name} server`,
660
+ bundle: path.join(outputPath, serverOrigin.bundle),
661
+ handler: serverOrigin.handler,
662
+ streaming: serverOrigin.streaming,
663
+ runtime: "nodejs24.x" as const,
664
+ environment: {
665
+ CACHE_BUCKET_NAME: bucketName,
666
+ CACHE_BUCKET_KEY_PREFIX: "_cache",
667
+ CACHE_BUCKET_REGION: bucketRegion,
668
+ ...(queueUrl && {
669
+ REVALIDATION_QUEUE_URL: queueUrl,
670
+ REVALIDATION_QUEUE_REGION: queueRegion,
671
+ }),
672
+ ...(tableName && {
673
+ CACHE_DYNAMO_TABLE: tableName,
674
+ }),
675
+ },
676
+ permissions: [
677
+ // access to the cache data
678
+ {
679
+ actions: ["s3:GetObject", "s3:PutObject", "s3:DeleteObject"],
680
+ resources: [`${bucketArn}/*`],
681
+ },
682
+ {
683
+ actions: ["s3:ListBucket"],
684
+ resources: [bucketArn],
685
+ },
686
+ ...(queueArn
687
+ ? [
688
+ {
689
+ actions: [
690
+ "sqs:SendMessage",
691
+ "sqs:GetQueueAttributes",
692
+ "sqs:GetQueueUrl",
693
+ ],
694
+ resources: [queueArn],
695
+ },
696
+ ]
697
+ : []),
698
+ ...(tableArn
699
+ ? [
700
+ {
701
+ actions: [
702
+ "dynamodb:BatchGetItem",
703
+ "dynamodb:GetRecords",
704
+ "dynamodb:GetShardIterator",
705
+ "dynamodb:Query",
706
+ "dynamodb:GetItem",
707
+ "dynamodb:Scan",
708
+ "dynamodb:ConditionCheckItem",
709
+ "dynamodb:BatchWriteItem",
710
+ "dynamodb:PutItem",
711
+ "dynamodb:UpdateItem",
712
+ "dynamodb:DeleteItem",
713
+ "dynamodb:DescribeTable",
714
+ ],
715
+ resources: [tableArn, `${tableArn}/*`],
716
+ },
717
+ ]
718
+ : []),
719
+ ],
720
+ injections: [
721
+ [
722
+ `outer:if (process.env.SST_KEY_FILE) {`,
723
+ ` const { readFileSync } = await import("fs")`,
724
+ ` const { createDecipheriv } = await import("crypto")`,
725
+ ` const key = Buffer.from(process.env.SST_KEY, "base64");`,
726
+ ` const encryptedData = readFileSync(process.env.SST_KEY_FILE);`,
727
+ ` const nonce = Buffer.alloc(12, 0);`,
728
+ ` const decipher = createDecipheriv("aes-256-gcm", key, nonce);`,
729
+ ` const authTag = encryptedData.slice(-16);`,
730
+ ` const actualCiphertext = encryptedData.slice(0, -16);`,
731
+ ` decipher.setAuthTag(authTag);`,
732
+ ` let decrypted = decipher.update(actualCiphertext);`,
733
+ ` decrypted = Buffer.concat([decrypted, decipher.final()]);`,
734
+ ` const decryptedData = JSON.parse(decrypted.toString());`,
735
+ ` globalThis.SST_KEY_FILE_DATA = decryptedData;`,
736
+ `}`,
737
+ ].join("\n"),
738
+ ],
739
+ },
740
+ imageOptimizer: {
741
+ prefix: "/_next/image",
742
+ function: {
743
+ description: `${name} image optimizer`,
744
+ handler: imageOptimizerOrigin.handler,
745
+ bundle: path.join(outputPath, imageOptimizerOrigin.bundle),
746
+ runtime: "nodejs24.x" as const,
747
+ architecture: "arm64" as const,
748
+ environment: {
749
+ BUCKET_NAME: bucketName,
750
+ BUCKET_KEY_PREFIX: "_assets",
751
+ ...(imageOptimization?.staticEtag
752
+ ? { OPENNEXT_STATIC_ETAG: "true" }
753
+ : {}),
754
+ },
755
+ memory: imageOptimization?.memory ?? "1536 MB",
756
+ },
757
+ },
758
+ assets: [
759
+ {
760
+ from: ".open-next/assets",
761
+ to: "_assets",
762
+ cached: true,
763
+ versionedSubDir: "_next",
764
+ deepRoute: "_next",
765
+ },
766
+ ],
767
+ isrCache: {
768
+ from: ".open-next/cache",
769
+ to: "_cache",
770
+ },
771
+ buildId,
772
+ }),
773
+ );
774
+
775
+ return {
776
+ plan,
777
+ revalidationQueue,
778
+ revalidationTable,
779
+ revalidationFunction,
780
+ };
781
+
782
+ function loadBuildOutput() {
783
+ const openNextOutputPath = path.join(
784
+ outputPath,
785
+ ".open-next",
786
+ "open-next.output.json",
787
+ );
788
+ if (!fs.existsSync(openNextOutputPath)) {
789
+ throw new VisibleError(
790
+ `Could not load OpenNext output file at "${openNextOutputPath}". Make sure your Next.js app was built correctly with OpenNext.`,
791
+ );
792
+ }
793
+ const content = fs.readFileSync(openNextOutputPath).toString();
794
+ const json = JSON.parse(content) as OpenNextOutput;
795
+ // Currently open-next.output.json's initializationFunction value
796
+ // is wrong, it is set to ".open-next/initialization-function"
797
+ if (json.additionalProps?.initializationFunction) {
798
+ json.additionalProps.initializationFunction = {
799
+ handler: "index.handler",
800
+ bundle: ".open-next/dynamodb-provider",
801
+ };
802
+ }
803
+ return {
804
+ openNextOutput: json,
805
+ base: loadBasePath(),
806
+ buildId: loadBuildId(),
807
+ prerenderManifest: loadPrerenderManifest(),
808
+ };
809
+ }
810
+
811
+ function loadBuildId() {
812
+ try {
813
+ return fs
814
+ .readFileSync(path.join(outputPath, ".next/BUILD_ID"))
815
+ .toString();
816
+ } catch (e) {
817
+ console.error(e);
818
+ throw new VisibleError(
819
+ `Build ID not found in ".next/BUILD_ID" for site "${name}". Ensure your Next.js app was built successfully.`,
820
+ );
821
+ }
822
+ }
823
+
824
+ function loadBasePath() {
825
+ try {
826
+ const content = fs.readFileSync(
827
+ path.join(outputPath, ".next", "routes-manifest.json"),
828
+ "utf-8",
829
+ );
830
+ const json = JSON.parse(content) as {
831
+ basePath: string;
832
+ };
833
+ return json.basePath === "" ? undefined : json.basePath;
834
+ } catch (e) {
835
+ console.error(e);
836
+ throw new VisibleError(
837
+ `Base path configuration not found in ".next/routes-manifest.json" for site "${name}". Check your Next.js configuration.`,
838
+ );
839
+ }
840
+ }
841
+
842
+ function loadPrerenderManifest() {
843
+ try {
844
+ const content = fs
845
+ .readFileSync(
846
+ path.join(outputPath, ".next/prerender-manifest.json"),
847
+ )
848
+ .toString();
849
+ return JSON.parse(content) as {
850
+ version: number;
851
+ routes: Record<string, unknown>;
852
+ };
853
+ } catch (e) {
854
+ console.debug("Failed to load prerender-manifest.json", e);
855
+ }
856
+ }
857
+
858
+ function createRevalidationQueue() {
859
+ if (openNextOutput.additionalProps?.disableIncrementalCache)
860
+ return {};
861
+
862
+ const revalidationFunction =
863
+ openNextOutput.additionalProps?.revalidationFunction;
864
+ if (!revalidationFunction) return {};
865
+
866
+ const queue = new Queue(
867
+ `${name}RevalidationEvents`,
868
+ {
869
+ fifo: true,
870
+ transform: {
871
+ queue: (args) => {
872
+ args.receiveWaitTimeSeconds = 20;
873
+ },
874
+ },
875
+ },
876
+ { parent },
877
+ );
878
+ const subscriber = queue.subscribe(
879
+ {
880
+ description: `${name} ISR revalidator`,
881
+ handler: revalidationFunction.handler,
882
+ bundle: path.join(outputPath, revalidationFunction.bundle),
883
+ runtime: "nodejs24.x",
884
+ timeout: "30 seconds",
885
+ permissions: [
886
+ {
887
+ actions: [
888
+ "sqs:ChangeMessageVisibility",
889
+ "sqs:DeleteMessage",
890
+ "sqs:GetQueueAttributes",
891
+ "sqs:GetQueueUrl",
892
+ "sqs:ReceiveMessage",
893
+ ],
894
+ resources: [queue.arn],
895
+ },
896
+ ],
897
+ dev: false,
898
+ _skipMetadata: true,
899
+ },
900
+ {
901
+ transform: {
902
+ eventSourceMapping: (args) => {
903
+ args.batchSize = 5;
904
+ },
905
+ function: args.transform?.revalidationEventsSubscriber,
906
+ },
907
+ },
908
+ { parent },
909
+ );
910
+ return {
911
+ revalidationQueue: queue,
912
+ revalidationFunction: subscriber.nodes.function,
913
+ };
914
+ }
915
+
916
+ function createRevalidationTable() {
917
+ if (openNextOutput.additionalProps?.disableTagCache) return;
918
+
919
+ return new dynamodb.Table(
920
+ `${name}RevalidationTable`,
921
+ {
922
+ attributes: [
923
+ { name: "tag", type: "S" },
924
+ { name: "path", type: "S" },
925
+ { name: "revalidatedAt", type: "N" },
926
+ ],
927
+ hashKey: "tag",
928
+ rangeKey: "path",
929
+ pointInTimeRecovery: {
930
+ enabled: true,
931
+ },
932
+ billingMode: "PAY_PER_REQUEST",
933
+ globalSecondaryIndexes: [
934
+ {
935
+ name: "revalidate",
936
+ hashKey: "path",
937
+ rangeKey: "revalidatedAt",
938
+ projectionType: "ALL",
939
+ },
940
+ ],
941
+ },
942
+ { parent, retainOnDelete: false },
943
+ );
944
+ }
945
+
946
+ function createRevalidationTableSeeder() {
947
+ if (openNextOutput.additionalProps?.disableTagCache) return;
948
+ if (!openNextOutput.additionalProps?.initializationFunction) return;
949
+
950
+ // Provision 128MB of memory for every 4,000 prerendered routes,
951
+ // 1GB per 40,000, up to 10GB. This tends to use ~70% of the memory
952
+ // provisioned when testing.
953
+ const prerenderedRouteCount = Object.keys(
954
+ prerenderManifest?.routes ?? {},
955
+ ).length;
956
+ const seedFn = new Function(
957
+ ...transform(
958
+ args.transform?.revalidationSeeder,
959
+ `${name}RevalidationSeeder`,
960
+ {
961
+ description: `${name} ISR revalidation data seeder`,
962
+ handler:
963
+ openNextOutput.additionalProps.initializationFunction.handler,
964
+ bundle: path.join(
965
+ outputPath,
966
+ openNextOutput.additionalProps.initializationFunction.bundle,
967
+ ),
968
+ runtime: "nodejs24.x",
969
+ timeout: "900 seconds",
970
+ memory: `${Math.min(
971
+ 10240,
972
+ Math.max(128, Math.ceil(prerenderedRouteCount / 4000) * 128),
973
+ )} MB`,
974
+ permissions: [
975
+ {
976
+ actions: [
977
+ "dynamodb:BatchWriteItem",
978
+ "dynamodb:PutItem",
979
+ "dynamodb:DescribeTable",
980
+ ],
981
+ resources: [revalidationTable!.arn],
982
+ },
983
+ ],
984
+ environment: {
985
+ CACHE_DYNAMO_TABLE: revalidationTable!.name,
986
+ },
987
+ dev: false,
988
+ _skipMetadata: true,
989
+ _skipHint: true,
990
+ },
991
+ { parent },
992
+ ),
993
+ );
994
+ new lambda.Invocation(
995
+ `${name}RevalidationSeed`,
996
+ {
997
+ functionName: seedFn.nodes.function.name,
998
+ triggers: {
999
+ version: Date.now().toString(),
1000
+ },
1001
+ input: JSON.stringify({
1002
+ RequestType: "Create",
1003
+ }),
1004
+ },
1005
+ { parent },
1006
+ );
1007
+ }
1008
+ },
1009
+ );
1010
+
1011
+ this.revalidationQueue = ret.revalidationQueue;
1012
+ this.revalidationTable = ret.revalidationTable;
1013
+ this.revalidationFunction = output(ret.revalidationFunction);
1014
+
1015
+ return ret.plan;
1016
+ }
1017
+
1018
+ /**
1019
+ * The URL of the Next.js app.
1020
+ *
1021
+ * If the `domain` is set, this is the URL with the custom domain.
1022
+ * Otherwise, it's the auto-generated CloudFront URL.
1023
+ */
1024
+ public get url() {
1025
+ return super.url;
1026
+ }
1027
+
1028
+ /**
1029
+ * The underlying [resources](/docs/components/#nodes) this component creates.
1030
+ */
1031
+ public get nodes() {
1032
+ return {
1033
+ ...super.nodes,
1034
+ /**
1035
+ * The Amazon SQS queue that triggers the ISR revalidator.
1036
+ */
1037
+ revalidationQueue: this.revalidationQueue,
1038
+ /**
1039
+ * The Amazon DynamoDB table that stores the ISR revalidation data.
1040
+ */
1041
+ revalidationTable: this.revalidationTable,
1042
+ /**
1043
+ * The Lambda function that processes the ISR revalidation.
1044
+ */
1045
+ revalidationFunction: this.revalidationFunction,
1046
+ };
1047
+ }
1048
+ }
1049
+
1050
+ const __pulumiType = "sst:aws:Nextjs";
1051
+ // @ts-expect-error
1052
+ Nextjs.__pulumiType = __pulumiType;