{"_id":"@aws-amplify/hosting","_rev":"21-e45f1604e8c1a8bfb30abe5870af8ced","name":"@aws-amplify/hosting","dist-tags":{"test":"0.0.0-test-20260601122829","iac-hosting":"0.0.0-iac-hosting-20260609205023","latest":"1.0.1"},"versions":{"0.0.0-test-seed":{"name":"@aws-amplify/hosting","version":"0.0.0-test-seed","license":"Apache-2.0","_id":"@aws-amplify/hosting@0.0.0-test-seed","maintainers":[{"name":"amzn-oss","email":"osa-3p@amazon.com"},{"name":"aws-amplify-ops","email":"aws-amplify@amazon.com"},{"name":"amplify-studio-uibuilder","email":"aws-amplify-uibuilder@amazon.com"},{"name":"amplify-codegen","email":"amplify-codegen+npm@amazon.com"},{"name":"amplify-data-dev-npm","email":"amplify-data-dev+npm@amazon.com"},{"name":"aws-amplify-data-runtime","email":"amplify-data-dev@amazon.com"}],"homepage":"https://github.com/aws-amplify/amplify-backend#readme","bugs":{"url":"https://github.com/aws-amplify/amplify-backend/issues"},"dist":{"shasum":"81599ae87c76456d51e3276f265baaf6dbd40d35","tarball":"https://registry.npmjs.org/@aws-amplify/hosting/-/hosting-0.0.0-test-seed.tgz","fileCount":29,"integrity":"sha512-YREgNg6DrVlpjhGZ9/GUS9l1hFBwiCfQOgfX9r0mAJgQl5fiiIfBDFZAHAbkS2+iFitWI5FKUUCWzLTqewQsIQ==","signatures":[{"sig":"MEUCIQCn/zLUGQHwOGs/cpo8myweB1ThxgbEfijvZuMFzq1YrAIgLpWzCL6WeuLia/pxRqZcIqYcIPI1c0b53FFptDbTL5g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":195429},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"15c6202f95d34ddc5a852f07d9948feedd3ce9ee","scripts":{"update:api":"api-extractor run --local"},"_npmUser":{"name":"amplify-data-dev-npm","email":"amplify-data-dev+npm@amazon.com"},"repository":{"url":"git+https://github.com/aws-amplify/amplify-backend.git","type":"git"},"_npmVersion":"10.8.2","description":"Deploy static sites, SPAs, and SSR (Next.js) applications to AWS using CloudFront + S3 + Lambda.","directories":{},"_nodeVersion":"20.19.3","dependencies":{"zod":"3.25.17","@aws-amplify/plugin-types":"^1.12.0","@aws-amplify/platform-core":"^1.11.0","@aws-amplify/backend-output-schemas":"^1.5.0","@aws-amplify/backend-output-storage":"^1.3.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@aws-amplify/backend-platform-test-stubs":"^0.3.10"},"peerDependencies":{"constructs":"^10.0.0","aws-cdk-lib":"^2.234.1"},"_npmOperationalInternal":{"tmp":"tmp/hosting_0.0.0-test-seed_1775060002833_0.17073601008612482","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-test-20260401214950":{"name":"@aws-amplify/hosting","version":"0.0.0-test-20260401214950","license":"Apache-2.0","_id":"@aws-amplify/hosting@0.0.0-test-20260401214950","maintainers":[{"name":"amzn-oss","email":"osa-3p@amazon.com"},{"name":"aws-amplify-ops","email":"aws-amplify@amazon.com"},{"name":"amplify-studio-uibuilder","email":"aws-amplify-uibuilder@amazon.com"},{"name":"amplify-codegen","email":"amplify-codegen+npm@amazon.com"},{"name":"amplify-data-dev-npm","email":"amplify-data-dev+npm@amazon.com"},{"name":"aws-amplify-data-runtime","email":"amplify-data-dev@amazon.com"}],"homepage":"https://github.com/aws-amplify/amplify-backend#readme","bugs":{"url":"https://github.com/aws-amplify/amplify-backend/issues"},"dist":{"shasum":"32a8befa95dfd54b7fae842c7035433d783fce1e","tarball":"https://registry.npmjs.org/@aws-amplify/hosting/-/hosting-0.0.0-test-20260401214950.tgz","fileCount":98,"integrity":"sha512-U405EmI3AkCTRCm82GPNCHmr2xTzWZJhiGg8mW82N7SyER3vpRp+fA0XPvMAkIw1UDY1vcDJ8fg2gurT7BUavw==","signatures":[{"sig":"MEUCIQCSLgQyD9zQOkhailn4Vh+U2G257HzmAlnM3K6N0VZ7JwIgW0H3Gd/3yFLHAjB2J63lBJw2sghCo50DmxJ1PRpz/MU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aws-amplify%2fhosting@0.0.0-test-20260401214950","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":837633},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"}},"gitHead":"8f8157e197482447b1a75dc1cba77ef507ff5a72","scripts":{"update:api":"api-extractor run --local","postinstall":"node -e \"console.log('\\n⚠️  @aws-amplify/hosting is a PREVIEW release — not for production use\\n')\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0faa18fb-a863-4d6c-9540-10a67611f565"}},"repository":{"url":"git+https://github.com/aws-amplify/amplify-backend.git","type":"git"},"_npmVersion":"11.9.0","description":"Deploy static sites, SPAs, and SSR (Next.js) applications to AWS using CloudFront + S3 + Lambda.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"3.25.17","@aws-amplify/plugin-types":"^1.12.0","@aws-amplify/platform-core":"0.0.0-test-20260401214950","@aws-amplify/backend-output-schemas":"^1.5.0","@aws-amplify/backend-output-storage":"^1.3.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@aws-amplify/backend-platform-test-stubs":"^0.3.10"},"peerDependencies":{"constructs":"^10.0.0","aws-cdk-lib":"^2.234.1"},"_npmOperationalInternal":{"tmp":"tmp/hosting_0.0.0-test-20260401214950_1775080199003_0.29535367213786357","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-test-20260409133401":{"name":"@aws-amplify/hosting","version":"0.0.0-test-20260409133401","license":"Apache-2.0","_id":"@aws-amplify/hosting@0.0.0-test-20260409133401","maintainers":[{"name":"amzn-oss","email":"osa-3p@amazon.com"},{"name":"aws-amplify-ops","email":"aws-amplify@amazon.com"},{"name":"amplify-studio-uibuilder","email":"aws-amplify-uibuilder@amazon.com"},{"name":"amplify-codegen","email":"amplify-codegen+npm@amazon.com"},{"name":"amplify-data-dev-npm","email":"amplify-data-dev+npm@amazon.com"},{"name":"aws-amplify-data-runtime","email":"amplify-data-dev@amazon.com"}],"homepage":"https://github.com/aws-amplify/amplify-backend#readme","bugs":{"url":"https://github.com/aws-amplify/amplify-backend/issues"},"dist":{"shasum":"68d076f4212f4ca02073222c9817acfd53cf2ac0","tarball":"https://registry.npmjs.org/@aws-amplify/hosting/-/hosting-0.0.0-test-20260409133401.tgz","fileCount":172,"integrity":"sha512-J0VCQz1GPj8kTLtd83v3H4RcTtR0LtNTPrNlBj0ZYbI6nTQUo4u+0k2pqyxOa+uNcBYH0xBRwnAVOUXjwEV2pQ==","signatures":[{"sig":"MEYCIQDu4fEjvk9f8N2CpsabWhg8meCAI7XCbho1s/1+88cDQwIhAL/DwG+Svz2X9f5KcAIuyeLutt9vt9tUCF6H9lMEbwU7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aws-amplify%2fhosting@0.0.0-test-20260409133401","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1604614},"main":"lib/index.js","type":"commonjs","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"},"./error":{"types":"./lib/hosting_error.d.ts","import":"./lib/hosting_error.js","require":"./lib/hosting_error.js"},"./adapters":{"types":"./lib/adapters/index.d.ts","import":"./lib/adapters/index.js","require":"./lib/adapters/index.js"},"./constructs":{"types":"./lib/constructs/hosting_construct.d.ts","import":"./lib/constructs/hosting_construct.js","require":"./lib/constructs/hosting_construct.js"}},"gitHead":"829f5bce85bac8c1372e5ae697f7959e100d4699","scripts":{"update:api":"api-extractor run --local","postinstall":"node -e \"console.log('\\n⚠️  @aws-amplify/hosting is a PREVIEW release — not for production use\\n')\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0faa18fb-a863-4d6c-9540-10a67611f565"}},"repository":{"url":"git+https://github.com/aws-amplify/amplify-backend.git","type":"git"},"_npmVersion":"11.11.0","description":"Deploy static sites, SPAs, and SSR (Next.js) applications to AWS using CloudFront + S3 + Lambda.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"3.25.17","@aws-amplify/plugin-types":"^1.12.0","@aws-amplify/platform-core":"0.0.0-test-20260409133401","@aws-amplify/backend-output-schemas":"^1.5.0","@aws-amplify/backend-output-storage":"^1.3.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@aws-amplify/backend-platform-test-stubs":"^0.3.10"},"peerDependencies":{"constructs":"^10.0.0","aws-cdk-lib":"^2.234.1"},"_npmOperationalInternal":{"tmp":"tmp/hosting_0.0.0-test-20260409133401_1775741649824_0.3224217945870538","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-test-20260505111023":{"name":"@aws-amplify/hosting","version":"0.0.0-test-20260505111023","license":"Apache-2.0","_id":"@aws-amplify/hosting@0.0.0-test-20260505111023","maintainers":[{"name":"amzn-oss","email":"osa-3p@amazon.com"},{"name":"aws-amplify-ops","email":"aws-amplify@amazon.com"},{"name":"amplify-studio-uibuilder","email":"aws-amplify-uibuilder@amazon.com"},{"name":"amplify-codegen","email":"amplify-codegen+npm@amazon.com"},{"name":"amplify-data-dev-npm","email":"amplify-data-dev+npm@amazon.com"},{"name":"aws-amplify-data-runtime","email":"amplify-data-dev@amazon.com"}],"homepage":"https://github.com/aws-amplify/amplify-backend#readme","bugs":{"url":"https://github.com/aws-amplify/amplify-backend/issues"},"dist":{"shasum":"a79a34ff1579d184862b19eda503ace69c1e4480","tarball":"https://registry.npmjs.org/@aws-amplify/hosting/-/hosting-0.0.0-test-20260505111023.tgz","fileCount":172,"integrity":"sha512-8KuCSGyW64xoQU7cGbIcstrwmoLGVjxiVN3LH8Es0DrQzNsteUBgGmP8UZ9Cj0K67uALB7xsjTDQRVfMVvCC1A==","signatures":[{"sig":"MEUCIQDyJ6icCEb/cdE/VLVUOmQKQeWXEjBMXFreuBrJTgJVSAIgU5K2pVYzJ55v9yZ1yCIKLisrUbswHAZ2Pj0i+2KmScU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aws-amplify%2fhosting@0.0.0-test-20260505111023","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1798344},"main":"lib/index.js","type":"commonjs","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"},"./error":{"types":"./lib/hosting_error.d.ts","import":"./lib/hosting_error.js","require":"./lib/hosting_error.js"},"./adapters":{"types":"./lib/adapters/index.d.ts","import":"./lib/adapters/index.js","require":"./lib/adapters/index.js"},"./constructs":{"types":"./lib/constructs/hosting_construct.d.ts","import":"./lib/constructs/hosting_construct.js","require":"./lib/constructs/hosting_construct.js"}},"gitHead":"f37179d0fe949ff8221d34cc5838b868e91ee166","scripts":{"update:api":"api-extractor run --local","postinstall":"node -e \"console.log('\\n⚠️  @aws-amplify/hosting is a PREVIEW release — not for production use\\n')\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0faa18fb-a863-4d6c-9540-10a67611f565"}},"repository":{"url":"git+https://github.com/aws-amplify/amplify-backend.git","type":"git"},"_npmVersion":"11.11.0","description":"Deploy static sites, SPAs, and SSR (Next.js) applications to AWS using CloudFront + S3 + Lambda.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"3.25.17","@aws-amplify/plugin-types":"^1.12.0","@aws-amplify/platform-core":"0.0.0-test-20260505111023","@aws-amplify/backend-output-schemas":"^1.5.0","@aws-amplify/backend-output-storage":"^1.3.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"@aws-amplify/backend-platform-test-stubs":"^0.3.10"},"peerDependencies":{"constructs":"^10.0.0","aws-cdk-lib":"^2.234.1"},"_npmOperationalInternal":{"tmp":"tmp/hosting_0.0.0-test-20260505111023_1777979433410_0.8357041720539571","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-test-20260510175354":{"name":"@aws-amplify/hosting","version":"0.0.0-test-20260510175354","license":"Apache-2.0","_id":"@aws-amplify/hosting@0.0.0-test-20260510175354","maintainers":[{"name":"amzn-oss","email":"osa-3p@amazon.com"},{"name":"aws-amplify-ops","email":"aws-amplify@amazon.com"},{"name":"amplify-studio-uibuilder","email":"aws-amplify-uibuilder@amazon.com"},{"name":"amplify-codegen","email":"amplify-codegen+npm@amazon.com"},{"name":"amplify-data-dev-npm","email":"amplify-data-dev+npm@amazon.com"},{"name":"aws-amplify-data-runtime","email":"amplify-data-dev@amazon.com"}],"homepage":"https://github.com/aws-amplify/amplify-backend#readme","bugs":{"url":"https://github.com/aws-amplify/amplify-backend/issues"},"dist":{"shasum":"a38a69ffdc0771e6fa0dc082921f4e170c549c0e","tarball":"https://registry.npmjs.org/@aws-amplify/hosting/-/hosting-0.0.0-test-20260510175354.tgz","fileCount":162,"integrity":"sha512-fuIuenbV2CTsigJLZNFnc4P04AnxM/Zm23lrUwRa1m2Xgx0/T4VVAquYS7p+HJpQ1J8GxSDAoCyjPItPKM3J4A==","signatures":[{"sig":"MEQCIFLOdSf2Lce/wqudMR7GK5C5nwJTbHqWZM0yye6sj6QnAiB3Cdp2na1gotNtvevIoGW9zNe9FI5JNJsUQK+nSdJSOA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aws-amplify%2fhosting@0.0.0-test-20260510175354","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1823988},"main":"lib/index.js","type":"commonjs","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"},"./error":{"types":"./lib/hosting_error.d.ts","import":"./lib/hosting_error.js","require":"./lib/hosting_error.js"},"./adapters":{"types":"./lib/adapters/index.d.ts","import":"./lib/adapters/index.js","require":"./lib/adapters/index.js"},"./constructs":{"types":"./lib/constructs/hosting_construct.d.ts","import":"./lib/constructs/hosting_construct.js","require":"./lib/constructs/hosting_construct.js"}},"gitHead":"cc66c378a7e006752b1381e2d1757ab14d8022fa","scripts":{"update:api":"api-extractor run --local","postinstall":"node -e \"console.log('\\n⚠️  @aws-amplify/hosting is a PREVIEW release — not for production use\\n')\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0faa18fb-a863-4d6c-9540-10a67611f565"}},"repository":{"url":"git+https://github.com/aws-amplify/amplify-backend.git","type":"git"},"_npmVersion":"11.11.0","description":"Deploy static sites, SPAs, and SSR (Next.js) applications to AWS using CloudFront + S3 + Lambda.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"@opennextjs/aws":"~3.10.0","@aws-amplify/plugin-types":"0.0.0-test-20260510175354","@aws-amplify/platform-core":"0.0.0-test-20260510175354","@aws-amplify/backend-output-schemas":"^1.5.0","@aws-amplify/backend-output-storage":"0.0.0-test-20260510175354"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"zod":"3.25.17","@aws-amplify/backend-platform-test-stubs":"^0.3.10"},"peerDependencies":{"constructs":"^10.0.0","aws-cdk-lib":"^2.234.1"},"_npmOperationalInternal":{"tmp":"tmp/hosting_0.0.0-test-20260510175354_1778435649207_0.5717826133655","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-test-20260515152901":{"name":"@aws-amplify/hosting","version":"0.0.0-test-20260515152901","license":"Apache-2.0","_id":"@aws-amplify/hosting@0.0.0-test-20260515152901","maintainers":[{"name":"amzn-oss","email":"osa-3p@amazon.com"},{"name":"aws-amplify-ops","email":"aws-amplify@amazon.com"},{"name":"amplify-studio-uibuilder","email":"aws-amplify-uibuilder@amazon.com"},{"name":"amplify-codegen","email":"amplify-codegen+npm@amazon.com"},{"name":"amplify-data-dev-npm","email":"amplify-data-dev+npm@amazon.com"},{"name":"aws-amplify-data-runtime","email":"amplify-data-dev@amazon.com"}],"homepage":"https://github.com/aws-amplify/amplify-backend#readme","bugs":{"url":"https://github.com/aws-amplify/amplify-backend/issues"},"dist":{"shasum":"9a351f9fb565f83ed4c4c743d1d49197a9fdadec","tarball":"https://registry.npmjs.org/@aws-amplify/hosting/-/hosting-0.0.0-test-20260515152901.tgz","fileCount":162,"integrity":"sha512-MAA2juNPU/q/bqnNUtP5i7XEY3+bHYX8IkOsn0abjichMneFx2pBtmvGqieyygMDHgH/ZyLaJOZRoZe+8RT3sQ==","signatures":[{"sig":"MEYCIQDSR3pxmXVe3GmODeqJFM1qDH4SGQrKewTdi2sCfFkkJAIhAIHYNXmW6MHTsIaZmCtxq3gOZGygM2S49RK23VdvX/+y","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aws-amplify%2fhosting@0.0.0-test-20260515152901","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1820704},"main":"lib/index.js","type":"commonjs","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"},"./error":{"types":"./lib/hosting_error.d.ts","import":"./lib/hosting_error.js","require":"./lib/hosting_error.js"},"./adapters":{"types":"./lib/adapters/index.d.ts","import":"./lib/adapters/index.js","require":"./lib/adapters/index.js"},"./constructs":{"types":"./lib/constructs/hosting_construct.d.ts","import":"./lib/constructs/hosting_construct.js","require":"./lib/constructs/hosting_construct.js"}},"gitHead":"f274d5eeb55c2269e1486785f3e978f22719016a","scripts":{"update:api":"api-extractor run --local","postinstall":"node -e \"console.log('\\n⚠️  @aws-amplify/hosting is a PREVIEW release — not for production use\\n')\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0faa18fb-a863-4d6c-9540-10a67611f565"}},"repository":{"url":"git+https://github.com/aws-amplify/amplify-backend.git","type":"git"},"_npmVersion":"11.12.1","description":"Deploy static sites, SPAs, and SSR (Next.js) applications to AWS using CloudFront + S3 + Lambda.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@aws-amplify/plugin-types":"0.0.0-test-20260515152901","@aws-amplify/platform-core":"0.0.0-test-20260515152901","@aws-amplify/backend-output-schemas":"^1.5.0","@aws-amplify/backend-output-storage":"0.0.0-test-20260515152901"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"zod":"3.25.17","@opennextjs/aws":"~3.10.0","@aws-amplify/backend-platform-test-stubs":"^0.3.10"},"peerDependencies":{"constructs":"^10.0.0","aws-cdk-lib":"^2.234.1","@opennextjs/aws":">=3.10.0"},"peerDependenciesMeta":{"@opennextjs/aws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hosting_0.0.0-test-20260515152901_1778858957877_0.7087940312867855","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-test-20260521115804":{"name":"@aws-amplify/hosting","version":"0.0.0-test-20260521115804","license":"Apache-2.0","_id":"@aws-amplify/hosting@0.0.0-test-20260521115804","maintainers":[{"name":"amzn-oss","email":"osa-3p@amazon.com"},{"name":"aws-amplify-ops","email":"aws-amplify@amazon.com"},{"name":"amplify-studio-uibuilder","email":"aws-amplify-uibuilder@amazon.com"},{"name":"amplify-codegen","email":"amplify-codegen+npm@amazon.com"},{"name":"amplify-data-dev-npm","email":"amplify-data-dev+npm@amazon.com"},{"name":"aws-amplify-data-runtime","email":"amplify-data-dev@amazon.com"}],"homepage":"https://github.com/aws-amplify/amplify-backend#readme","bugs":{"url":"https://github.com/aws-amplify/amplify-backend/issues"},"dist":{"shasum":"b49ffbb4910c657d1404853cf39257f7e4c33ef8","tarball":"https://registry.npmjs.org/@aws-amplify/hosting/-/hosting-0.0.0-test-20260521115804.tgz","fileCount":186,"integrity":"sha512-G7LrjdxnlJmPgQHxcNRNYUHzjMI7eGCzcDmYp3sXdJ5aD9S/qHi4+6UtnDZHonKnrjDadf/uat95pcYZG/Pcwg==","signatures":[{"sig":"MEUCIFLCbfEdonfJM8D28zx73qsU2ahpdNsohCtoR/20I0/EAiEA+wslsd0tmvXyYI1WsQq4URXJ/+dWp6kt6CWi0XmOVEY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aws-amplify%2fhosting@0.0.0-test-20260521115804","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2199395},"main":"lib/index.js","type":"commonjs","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"},"./error":{"types":"./lib/hosting_error.d.ts","import":"./lib/hosting_error.js","require":"./lib/hosting_error.js"},"./adapters":{"types":"./lib/adapters/index.d.ts","import":"./lib/adapters/index.js","require":"./lib/adapters/index.js"},"./constructs":{"types":"./lib/constructs/hosting_construct.d.ts","import":"./lib/constructs/hosting_construct.js","require":"./lib/constructs/hosting_construct.js"}},"gitHead":"b947f502c72682f8079bd7ae33299633f1d5b252","scripts":{"update:api":"api-extractor run --local","postinstall":"node -e \"console.log('\\n⚠️  @aws-amplify/hosting is a PREVIEW release — not for production use\\n')\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0faa18fb-a863-4d6c-9540-10a67611f565"}},"repository":{"url":"git+https://github.com/aws-amplify/amplify-backend.git","type":"git"},"_npmVersion":"11.12.1","description":"Deploy static sites, SPAs, and SSR (Next.js) applications to AWS using CloudFront + S3 + Lambda.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@aws-amplify/plugin-types":"0.0.0-test-20260521115804","@aws-amplify/platform-core":"0.0.0-test-20260521115804","@aws-amplify/backend-output-schemas":"^1.5.0","@aws-amplify/backend-output-storage":"0.0.0-test-20260521115804"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"zod":"3.25.17","@opennextjs/aws":"~3.10.0","@aws-amplify/backend-platform-test-stubs":"^0.3.10"},"peerDependencies":{"constructs":"^10.0.0","aws-cdk-lib":"^2.234.1","@opennextjs/aws":">=3.10.0"},"peerDependenciesMeta":{"@opennextjs/aws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hosting_0.0.0-test-20260521115804_1779364699624_0.16513938300579434","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-test-20260526153030":{"name":"@aws-amplify/hosting","version":"0.0.0-test-20260526153030","license":"Apache-2.0","_id":"@aws-amplify/hosting@0.0.0-test-20260526153030","maintainers":[{"name":"amzn-oss","email":"osa-3p@amazon.com"},{"name":"aws-amplify-ops","email":"aws-amplify@amazon.com"},{"name":"amplify-studio-uibuilder","email":"aws-amplify-uibuilder@amazon.com"},{"name":"amplify-codegen","email":"amplify-codegen+npm@amazon.com"},{"name":"amplify-data-dev-npm","email":"amplify-data-dev+npm@amazon.com"},{"name":"aws-amplify-data-runtime","email":"amplify-data-dev@amazon.com"}],"homepage":"https://github.com/aws-amplify/amplify-backend#readme","bugs":{"url":"https://github.com/aws-amplify/amplify-backend/issues"},"dist":{"shasum":"bf34fed7226c9e108c85ac938ffe4848688ec050","tarball":"https://registry.npmjs.org/@aws-amplify/hosting/-/hosting-0.0.0-test-20260526153030.tgz","fileCount":190,"integrity":"sha512-DAJfYptdHhBNtPbMsdyF/GbULRmPSLVkfJXfq5kHqJbOJuy4l+GxNNGU2PjhB5aQHcFFG1XUmH1bRxbMTMXSZg==","signatures":[{"sig":"MEQCICLdSfMmU7iQ0A+Q7qi7LrRO81yhs//X6eT9BGIRrMwMAiBQkkLBsz8KWhRVKLeVW77U/aLlBzbIedOCrCu3WEDTtA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aws-amplify%2fhosting@0.0.0-test-20260526153030","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2621947},"main":"lib/index.js","type":"commonjs","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","import":"./lib/index.js","require":"./lib/index.js"},"./error":{"types":"./lib/hosting_error.d.ts","import":"./lib/hosting_error.js","require":"./lib/hosting_error.js"},"./adapters":{"types":"./lib/adapters/index.d.ts","import":"./lib/adapters/index.js","require":"./lib/adapters/index.js"},"./constructs":{"types":"./lib/constructs/hosting_construct.d.ts","import":"./lib/constructs/hosting_construct.js","require":"./lib/constructs/hosting_construct.js"}},"gitHead":"aca8363b2d06d19b124448e2c1e1dccbcef8c2f0","scripts":{"update:api":"api-extractor run --local","postinstall":"node -e \"console.log('\\n⚠️  @aws-amplify/hosting is a PREVIEW release — not for production use\\n')\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0faa18fb-a863-4d6c-9540-10a67611f565"}},"repository":{"url":"git+https://github.com/aws-amplify/amplify-backend.git","type":"git"},"_npmVersion":"11.12.1","description":"Deploy static sites, SPAs, and SSR (Next.js) applications to AWS using CloudFront + S3 + Lambda.","directories":{},"_nodeVersion":"24.15.0","dependencies":{"@aws-amplify/plugin-types":"0.0.0-test-20260526153030","@aws-amplify/platform-core":"0.0.0-test-20260526153030","@aws-amplify/backend-output-schemas":"^1.5.0","@aws-amplify/backend-output-storage":"0.0.0-test-20260526153030"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"zod":"3.25.17","@opennextjs/aws":"~3.10.0","@aws-amplify/backend-platform-test-stubs":"^0.3.10"},"peerDependencies":{"constructs":"^10.0.0","aws-cdk-lib":"^2.234.1","@opennextjs/aws":">=3.10.0"},"peerDependenciesMeta":{"@opennextjs/aws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hosting_0.0.0-test-20260526153030_1779809446540_0.5169134531227315","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-test-20260601122829":{"name":"@aws-amplify/hosting","version":"0.0.0-test-20260601122829","license":"Apache-2.0","_id":"@aws-amplify/hosting@0.0.0-test-20260601122829","maintainers":[{"name":"amzn-oss","email":"osa-3p@amazon.com"},{"name":"aws-amplify-ops","email":"aws-amplify@amazon.com"},{"name":"amplify-studio-uibuilder","email":"aws-amplify-uibuilder@amazon.com"},{"name":"amplify-codegen","email":"amplify-codegen+npm@amazon.com"},{"name":"amplify-data-dev-npm","email":"amplify-data-dev+npm@amazon.com"},{"name":"aws-amplify-data-runtime","email":"amplify-data-dev@amazon.com"}],"homepage":"https://github.com/aws-amplify/amplify-backend#readme","bugs":{"url":"https://github.com/aws-amplify/amplify-backend/issues"},"dist":{"shasum":"81828399437bb19fef275de710eaf1203067e6e7","tarball":"https://registry.npmjs.org/@aws-amplify/hosting/-/hosting-0.0.0-test-20260601122829.tgz","fileCount":258,"integrity":"sha512-GvNpYWg+deKuwXNg983cnHToxAfU98NTZDaSOmVzjM89AKxRoOg5nAMZcO8YOqJgwJO6uRGxe3bDpK62TbXL2Q==","signatures":[{"sig":"MEUCIQC/hFaubPiznxliWHCLzrv0+hJHkfOQrcj9EshmTBBaigIgTA0f1feGDNI/S7uflBbWzK2H3hKVsWv4RS/rVNwvn04=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aws-amplify%2fhosting@0.0.0-test-20260601122829","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3489836},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./error":{"types":"./lib/hosting_error.d.ts","default":"./lib/hosting_error.js"},"./adapters":{"types":"./lib/adapters/index.d.ts","default":"./lib/adapters/index.js"},"./pipeline":{"types":"./lib/pipeline/index.d.ts","default":"./lib/pipeline/index.js"},"./constructs":{"types":"./lib/constructs/hosting_construct.d.ts","default":"./lib/constructs/hosting_construct.js"}},"gitHead":"8c701b5752ceec708c08987d3475f40e0eeddf22","scripts":{"update:api":"api-extractor run --local","postinstall":"node -e \"console.log('\\n⚠️  @aws-amplify/hosting is a PREVIEW release — not for production use\\n')\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0faa18fb-a863-4d6c-9540-10a67611f565"}},"repository":{"url":"git+https://github.com/aws-amplify/amplify-backend.git","type":"git"},"_npmVersion":"11.13.0","description":"Deploy static sites, SPAs, and SSR (Next.js) applications to AWS using CloudFront + S3 + Lambda.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"jiti":"^2.4.0","semver":"^7.6.0","fast-glob":"^3.3.2","local-pkg":"^0.5.0","cross-spawn":"^7.0.6","parse-cache-control":"^1.0.1","@aws-amplify/plugin-types":"^1.12.0","@aws-amplify/platform-core":"0.0.0-test-20260601122829","@aws-amplify/backend-output-schemas":"^1.5.0","@aws-amplify/backend-output-storage":"^1.3.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"zod":"3.25.17","@types/semver":"^7.5.8","@opennextjs/aws":"~3.10.0","@types/cross-spawn":"^6.0.6","@types/parse-cache-control":"^1.0.4","@aws-amplify/backend-platform-test-stubs":"^0.3.10"},"peerDependencies":{"constructs":"^10.0.0","aws-cdk-lib":"^2.234.1","@opennextjs/aws":">=3.10.0"},"peerDependenciesMeta":{"@opennextjs/aws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hosting_0.0.0-test-20260601122829_1780316918534_0.9198247578703942","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-iac-hosting-20260601123712":{"name":"@aws-amplify/hosting","version":"0.0.0-iac-hosting-20260601123712","license":"Apache-2.0","_id":"@aws-amplify/hosting@0.0.0-iac-hosting-20260601123712","maintainers":[{"name":"amzn-oss","email":"osa-3p@amazon.com"},{"name":"aws-amplify-ops","email":"aws-amplify@amazon.com"},{"name":"amplify-studio-uibuilder","email":"aws-amplify-uibuilder@amazon.com"},{"name":"amplify-codegen","email":"amplify-codegen+npm@amazon.com"},{"name":"amplify-data-dev-npm","email":"amplify-data-dev+npm@amazon.com"},{"name":"aws-amplify-data-runtime","email":"amplify-data-dev@amazon.com"}],"homepage":"https://github.com/aws-amplify/amplify-backend#readme","bugs":{"url":"https://github.com/aws-amplify/amplify-backend/issues"},"dist":{"shasum":"4b680ee14270e7fdb2b69827bde85c903347d22a","tarball":"https://registry.npmjs.org/@aws-amplify/hosting/-/hosting-0.0.0-iac-hosting-20260601123712.tgz","fileCount":258,"integrity":"sha512-TRFXmrOcB0+7JAeKjDRS6W+zmJTRRasYJgQW2CYheqwcxrS1E6lVvyMF/XNtp0Tsad5M9OGrW+Icn0C3HCXYTw==","signatures":[{"sig":"MEQCIFuxAZgNW7K3rCTonzXzXxJZ0DDJsZUuKoYGBe5DhbFmAiAs5FmkghMwGW2vMmrk4DV+lTg3umRLSAZploNGxWzBVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aws-amplify%2fhosting@0.0.0-iac-hosting-20260601123712","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3489864},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./error":{"types":"./lib/hosting_error.d.ts","default":"./lib/hosting_error.js"},"./adapters":{"types":"./lib/adapters/index.d.ts","default":"./lib/adapters/index.js"},"./pipeline":{"types":"./lib/pipeline/index.d.ts","default":"./lib/pipeline/index.js"},"./constructs":{"types":"./lib/constructs/hosting_construct.d.ts","default":"./lib/constructs/hosting_construct.js"}},"gitHead":"5e276ddc2c2e57408b2aaca5a3e381d0db4c33dd","scripts":{"update:api":"api-extractor run --local","postinstall":"node -e \"console.log('\\n⚠️  @aws-amplify/hosting is a PREVIEW release — not for production use\\n')\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0faa18fb-a863-4d6c-9540-10a67611f565"}},"repository":{"url":"git+https://github.com/aws-amplify/amplify-backend.git","type":"git"},"_npmVersion":"11.13.0","description":"Deploy static sites, SPAs, and SSR (Next.js) applications to AWS using CloudFront + S3 + Lambda.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"jiti":"^2.4.0","semver":"^7.6.0","fast-glob":"^3.3.2","local-pkg":"^0.5.0","cross-spawn":"^7.0.6","parse-cache-control":"^1.0.1","@aws-amplify/plugin-types":"^1.12.0","@aws-amplify/platform-core":"0.0.0-iac-hosting-20260601123712","@aws-amplify/backend-output-schemas":"^1.5.0","@aws-amplify/backend-output-storage":"^1.3.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"zod":"3.25.17","@types/semver":"^7.5.8","@opennextjs/aws":"~3.10.0","@types/cross-spawn":"^6.0.6","@types/parse-cache-control":"^1.0.4","@aws-amplify/backend-platform-test-stubs":"^0.3.10"},"peerDependencies":{"constructs":"^10.0.0","aws-cdk-lib":"^2.234.1","@opennextjs/aws":">=3.10.0"},"peerDependenciesMeta":{"@opennextjs/aws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hosting_0.0.0-iac-hosting-20260601123712_1780317440444_0.6284520399111733","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-iac-hosting-20260602110238":{"name":"@aws-amplify/hosting","version":"0.0.0-iac-hosting-20260602110238","license":"Apache-2.0","_id":"@aws-amplify/hosting@0.0.0-iac-hosting-20260602110238","maintainers":[{"name":"amzn-oss","email":"osa-3p@amazon.com"},{"name":"aws-amplify-ops","email":"aws-amplify@amazon.com"},{"name":"amplify-studio-uibuilder","email":"aws-amplify-uibuilder@amazon.com"},{"name":"amplify-codegen","email":"amplify-codegen+npm@amazon.com"},{"name":"amplify-data-dev-npm","email":"amplify-data-dev+npm@amazon.com"},{"name":"aws-amplify-data-runtime","email":"amplify-data-dev@amazon.com"}],"homepage":"https://github.com/aws-amplify/amplify-backend#readme","bugs":{"url":"https://github.com/aws-amplify/amplify-backend/issues"},"dist":{"shasum":"91b7ce2eb068413c61601c48634cb7a471b3c1ab","tarball":"https://registry.npmjs.org/@aws-amplify/hosting/-/hosting-0.0.0-iac-hosting-20260602110238.tgz","fileCount":258,"integrity":"sha512-a4zHZXMipjMCNyw09U2MTi0CTNBN2HFyy36I3aq9wyDLL0QKFRFVcqMM1+Wwky+MUBeHTyCO33x4MNrxYwEKaA==","signatures":[{"sig":"MEYCIQCrQ5ZDt3vmB5SDUEO56w2CFbJwI1gB/a1ez9RPzydqBwIhAPeSELwOuu56+Rlp2pL8MLeOjPjmNPAwFwsJtU2YYhc7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aws-amplify%2fhosting@0.0.0-iac-hosting-20260602110238","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3569154},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./error":{"types":"./lib/hosting_error.d.ts","default":"./lib/hosting_error.js"},"./adapters":{"types":"./lib/adapters/index.d.ts","default":"./lib/adapters/index.js"},"./pipeline":{"types":"./lib/pipeline/index.d.ts","default":"./lib/pipeline/index.js"},"./constructs":{"types":"./lib/constructs/hosting_construct.d.ts","default":"./lib/constructs/hosting_construct.js"}},"gitHead":"ce62c37b63e61704083d4082540ca4e94536ff51","scripts":{"update:api":"api-extractor run --local","postinstall":"node -e \"console.log('\\n⚠️  @aws-amplify/hosting is a PREVIEW release — not for production use\\n')\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0faa18fb-a863-4d6c-9540-10a67611f565"}},"repository":{"url":"git+https://github.com/aws-amplify/amplify-backend.git","type":"git"},"_npmVersion":"11.13.0","description":"Deploy static sites, SPAs, and SSR (Next.js) applications to AWS using CloudFront + S3 + Lambda.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"jiti":"^2.4.0","semver":"^7.6.0","fast-glob":"^3.3.2","local-pkg":"^0.5.0","cross-spawn":"^7.0.6","parse-cache-control":"^1.0.1","@aws-amplify/plugin-types":"^1.12.0","@aws-amplify/platform-core":"0.0.0-iac-hosting-20260602110238","@aws-amplify/backend-output-schemas":"^1.5.0","@aws-amplify/backend-output-storage":"^1.3.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"zod":"3.25.17","@types/semver":"^7.5.8","@opennextjs/aws":"~3.10.0","@types/cross-spawn":"^6.0.6","@types/parse-cache-control":"^1.0.4","@aws-amplify/backend-platform-test-stubs":"^0.3.10"},"peerDependencies":{"constructs":"^10.0.0","aws-cdk-lib":"^2.234.1","@opennextjs/aws":">=3.10.0"},"peerDependenciesMeta":{"@opennextjs/aws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hosting_0.0.0-iac-hosting-20260602110238_1780398169381_0.24460516352909512","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-iac-hosting-20260603124759":{"name":"@aws-amplify/hosting","version":"0.0.0-iac-hosting-20260603124759","license":"Apache-2.0","_id":"@aws-amplify/hosting@0.0.0-iac-hosting-20260603124759","maintainers":[{"name":"amzn-oss","email":"osa-3p@amazon.com"},{"name":"aws-amplify-ops","email":"aws-amplify@amazon.com"},{"name":"amplify-studio-uibuilder","email":"aws-amplify-uibuilder@amazon.com"},{"name":"amplify-codegen","email":"amplify-codegen+npm@amazon.com"},{"name":"amplify-data-dev-npm","email":"amplify-data-dev+npm@amazon.com"},{"name":"aws-amplify-data-runtime","email":"amplify-data-dev@amazon.com"}],"homepage":"https://github.com/aws-amplify/amplify-backend#readme","bugs":{"url":"https://github.com/aws-amplify/amplify-backend/issues"},"dist":{"shasum":"af7fd8960b4774ffbc8b42d9b78c155a34a951a7","tarball":"https://registry.npmjs.org/@aws-amplify/hosting/-/hosting-0.0.0-iac-hosting-20260603124759.tgz","fileCount":258,"integrity":"sha512-Eft8lPBqivWft8tSK2mid/R+7ZNRFqNgx8+X1wJuRrCdIV875FUSKk+Jw4+CTqAq0VkmAufuiiUExvz6aZ6Qtg==","signatures":[{"sig":"MEUCIQDvcoiMlYY5Ln3wNrO/cneZDU8pgDWOQw1xmVO3IOKWYgIgNg6FsXO4jhZ7FTd6KYn6l1JPnnEv72VpGDGS8O99Hck=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aws-amplify%2fhosting@0.0.0-iac-hosting-20260603124759","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3969484},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./error":{"types":"./lib/hosting_error.d.ts","default":"./lib/hosting_error.js"},"./adapters":{"types":"./lib/adapters/index.d.ts","default":"./lib/adapters/index.js"},"./pipeline":{"types":"./lib/pipeline/index.d.ts","default":"./lib/pipeline/index.js"},"./constructs":{"types":"./lib/constructs/hosting_construct.d.ts","default":"./lib/constructs/hosting_construct.js"}},"gitHead":"0709400d8590ce67bbdf9a7860643247e3843a64","scripts":{"update:api":"api-extractor run --local","postinstall":"node -e \"console.log('\\n⚠️  @aws-amplify/hosting is a PREVIEW release — not for production use\\n')\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0faa18fb-a863-4d6c-9540-10a67611f565"}},"repository":{"url":"git+https://github.com/aws-amplify/amplify-backend.git","type":"git"},"_npmVersion":"11.13.0","description":"Deploy static sites, SPAs, and SSR (Next.js) applications to AWS using CloudFront + S3 + Lambda.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"jiti":"^2.4.0","semver":"^7.6.0","fast-glob":"^3.3.2","local-pkg":"^0.5.0","cross-spawn":"^7.0.6","parse-cache-control":"^1.0.1","@aws-amplify/plugin-types":"^1.12.0","@aws-amplify/platform-core":"0.0.0-iac-hosting-20260603124759","@aws-amplify/backend-output-schemas":"^1.5.0","@aws-amplify/backend-output-storage":"^1.3.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"zod":"3.25.17","@types/semver":"^7.5.8","@opennextjs/aws":"~3.10.0","@types/cross-spawn":"^6.0.6","@types/parse-cache-control":"^1.0.4","@aws-amplify/backend-platform-test-stubs":"^0.3.10"},"peerDependencies":{"constructs":"^10.0.0","aws-cdk-lib":"^2.234.1","@opennextjs/aws":">=3.10.0"},"peerDependenciesMeta":{"@opennextjs/aws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hosting_0.0.0-iac-hosting-20260603124759_1780490888326_0.008768337790894476","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-iac-hosting-20260603133715":{"name":"@aws-amplify/hosting","version":"0.0.0-iac-hosting-20260603133715","license":"Apache-2.0","_id":"@aws-amplify/hosting@0.0.0-iac-hosting-20260603133715","maintainers":[{"name":"amzn-oss","email":"osa-3p@amazon.com"},{"name":"aws-amplify-ops","email":"aws-amplify@amazon.com"},{"name":"amplify-studio-uibuilder","email":"aws-amplify-uibuilder@amazon.com"},{"name":"amplify-codegen","email":"amplify-codegen+npm@amazon.com"},{"name":"amplify-data-dev-npm","email":"amplify-data-dev+npm@amazon.com"},{"name":"aws-amplify-data-runtime","email":"amplify-data-dev@amazon.com"}],"homepage":"https://github.com/aws-amplify/amplify-backend#readme","bugs":{"url":"https://github.com/aws-amplify/amplify-backend/issues"},"dist":{"shasum":"351beb0b736be546a65493268ec981f6a5819848","tarball":"https://registry.npmjs.org/@aws-amplify/hosting/-/hosting-0.0.0-iac-hosting-20260603133715.tgz","fileCount":258,"integrity":"sha512-oK0PaKu/lNNu0jnM+m3L9Ec+bNuZrtMnDSG2zDUI17TeS8YuETIyW5P7xtP44IoCpXiuSJYLNmWXx+4CdKjkSw==","signatures":[{"sig":"MEQCIFYLPzSeCCZDb4O6jWibonBJqwCP1UxDVI89Vanpiv1MAiBUMYifgB/N/qBsTv8iSKF9g5dlm6cPXXltc6GbmlCAJw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aws-amplify%2fhosting@0.0.0-iac-hosting-20260603133715","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4100770},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./error":{"types":"./lib/hosting_error.d.ts","default":"./lib/hosting_error.js"},"./adapters":{"types":"./lib/adapters/index.d.ts","default":"./lib/adapters/index.js"},"./pipeline":{"types":"./lib/pipeline/index.d.ts","default":"./lib/pipeline/index.js"},"./constructs":{"types":"./lib/constructs/hosting_construct.d.ts","default":"./lib/constructs/hosting_construct.js"}},"gitHead":"e1e402b5d337ae7905da622f70efd62543707363","scripts":{"update:api":"api-extractor run --local","postinstall":"node -e \"console.log('\\n⚠️  @aws-amplify/hosting is a PREVIEW release — not for production use\\n')\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0faa18fb-a863-4d6c-9540-10a67611f565"}},"repository":{"url":"git+https://github.com/aws-amplify/amplify-backend.git","type":"git"},"_npmVersion":"11.13.0","description":"Deploy static sites, SPAs, and SSR (Next.js) applications to AWS using CloudFront + S3 + Lambda.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"jiti":"^2.4.0","semver":"^7.6.0","fast-glob":"^3.3.2","local-pkg":"^0.5.0","cross-spawn":"^7.0.6","parse-cache-control":"^1.0.1","@aws-amplify/plugin-types":"^1.12.0","@aws-amplify/platform-core":"0.0.0-iac-hosting-20260603133715","@aws-amplify/backend-output-schemas":"^1.5.0","@aws-amplify/backend-output-storage":"^1.3.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"zod":"3.25.17","@types/semver":"^7.5.8","@opennextjs/aws":"~3.10.0","@types/cross-spawn":"^6.0.6","@types/parse-cache-control":"^1.0.4","@aws-amplify/backend-platform-test-stubs":"^0.3.10"},"peerDependencies":{"constructs":"^10.0.0","aws-cdk-lib":"^2.234.1","@opennextjs/aws":">=3.10.0"},"peerDependenciesMeta":{"@opennextjs/aws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hosting_0.0.0-iac-hosting-20260603133715_1780493844150_0.662453436733125","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-iac-hosting-20260603190201":{"name":"@aws-amplify/hosting","version":"0.0.0-iac-hosting-20260603190201","license":"Apache-2.0","_id":"@aws-amplify/hosting@0.0.0-iac-hosting-20260603190201","maintainers":[{"name":"amzn-oss","email":"osa-3p@amazon.com"},{"name":"aws-amplify-ops","email":"aws-amplify@amazon.com"},{"name":"amplify-studio-uibuilder","email":"aws-amplify-uibuilder@amazon.com"},{"name":"amplify-codegen","email":"amplify-codegen+npm@amazon.com"},{"name":"amplify-data-dev-npm","email":"amplify-data-dev+npm@amazon.com"},{"name":"aws-amplify-data-runtime","email":"amplify-data-dev@amazon.com"}],"homepage":"https://github.com/aws-amplify/amplify-backend#readme","bugs":{"url":"https://github.com/aws-amplify/amplify-backend/issues"},"dist":{"shasum":"c9928646ea11a0bfb54f4cf99d6959f21d5078d4","tarball":"https://registry.npmjs.org/@aws-amplify/hosting/-/hosting-0.0.0-iac-hosting-20260603190201.tgz","fileCount":258,"integrity":"sha512-G7GrpGJrUuXtjeaX1hzg2T7alto4L7cjJg0t9IwsaDMmfCglRT660DN2j78EKobExXx5DqFsuReq/3dAkb29eQ==","signatures":[{"sig":"MEYCIQDAFlvT8SJfoPIXHN5fbtTwSINogDg/5FN0Z/w4GVbDxQIhAPGeu36TwA6xXZDks9OhaLHgZFaKXzSVVNP6u2aUmvEd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aws-amplify%2fhosting@0.0.0-iac-hosting-20260603190201","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4100952},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./error":{"types":"./lib/hosting_error.d.ts","default":"./lib/hosting_error.js"},"./adapters":{"types":"./lib/adapters/index.d.ts","default":"./lib/adapters/index.js"},"./pipeline":{"types":"./lib/pipeline/index.d.ts","default":"./lib/pipeline/index.js"},"./constructs":{"types":"./lib/constructs/hosting_construct.d.ts","default":"./lib/constructs/hosting_construct.js"}},"gitHead":"90b7159e3457b2ca5d3098127f66bc379e4a1e2b","scripts":{"update:api":"api-extractor run --local","postinstall":"node -e \"console.log('\\n⚠️  @aws-amplify/hosting is a PREVIEW release — not for production use\\n')\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0faa18fb-a863-4d6c-9540-10a67611f565"}},"repository":{"url":"git+https://github.com/aws-amplify/amplify-backend.git","type":"git"},"_npmVersion":"11.13.0","description":"Deploy static sites, SPAs, and SSR (Next.js) applications to AWS using CloudFront + S3 + Lambda.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"jiti":"^2.4.0","semver":"^7.6.0","fast-glob":"^3.3.2","local-pkg":"^0.5.0","cross-spawn":"^7.0.6","parse-cache-control":"^1.0.1","@aws-amplify/plugin-types":"^1.12.0","@aws-amplify/platform-core":"0.0.0-iac-hosting-20260603190201","@aws-amplify/backend-output-schemas":"^1.5.0","@aws-amplify/backend-output-storage":"^1.3.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"zod":"3.25.17","@types/semver":"^7.5.8","@opennextjs/aws":"~3.10.0","@types/cross-spawn":"^6.0.6","@types/parse-cache-control":"^1.0.4","@aws-amplify/backend-platform-test-stubs":"^0.3.10"},"peerDependencies":{"constructs":"^10.0.0","aws-cdk-lib":"^2.234.1","@opennextjs/aws":">=3.10.0"},"peerDependenciesMeta":{"@opennextjs/aws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hosting_0.0.0-iac-hosting-20260603190201_1780513330311_0.2364085268760565","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-iac-hosting-20260605124459":{"name":"@aws-amplify/hosting","version":"0.0.0-iac-hosting-20260605124459","license":"Apache-2.0","_id":"@aws-amplify/hosting@0.0.0-iac-hosting-20260605124459","maintainers":[{"name":"amzn-oss","email":"osa-3p@amazon.com"},{"name":"aws-amplify-ops","email":"aws-amplify@amazon.com"},{"name":"amplify-studio-uibuilder","email":"aws-amplify-uibuilder@amazon.com"},{"name":"amplify-codegen","email":"amplify-codegen+npm@amazon.com"},{"name":"amplify-data-dev-npm","email":"amplify-data-dev+npm@amazon.com"},{"name":"aws-amplify-data-runtime","email":"amplify-data-dev@amazon.com"}],"homepage":"https://github.com/aws-amplify/amplify-backend#readme","bugs":{"url":"https://github.com/aws-amplify/amplify-backend/issues"},"dist":{"shasum":"8595ae5dce7a0381819fa08bad2625de41f6479e","tarball":"https://registry.npmjs.org/@aws-amplify/hosting/-/hosting-0.0.0-iac-hosting-20260605124459.tgz","fileCount":258,"integrity":"sha512-vLAfhVN/bEARrWtpRzix7AwqZiG5QutZPndiCGHG+XJa1VlHpibH9QpbJ1PVzFOjJupNgoXy7Mzgpv0eIZj9ew==","signatures":[{"sig":"MEUCIQD9azrGDIAs0AQJoSYO/TPnRqfuoit9RKLyogw2BjP6rQIgcGB0eqkIhKC+Z/z0XysHx2rU/61sqFB1cu0EAxOgscE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aws-amplify%2fhosting@0.0.0-iac-hosting-20260605124459","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4401118},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./error":{"types":"./lib/hosting_error.d.ts","default":"./lib/hosting_error.js"},"./adapters":{"types":"./lib/adapters/index.d.ts","default":"./lib/adapters/index.js"},"./pipeline":{"types":"./lib/pipeline/index.d.ts","default":"./lib/pipeline/index.js"},"./constructs":{"types":"./lib/constructs/hosting_construct.d.ts","default":"./lib/constructs/hosting_construct.js"}},"gitHead":"9dce3c8dc66acfefb6e9e57a16043d3e7130d5d9","scripts":{"update:api":"api-extractor run --local","postinstall":"node -e \"console.log('\\n⚠️  @aws-amplify/hosting is a PREVIEW release — not for production use\\n')\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0faa18fb-a863-4d6c-9540-10a67611f565"}},"repository":{"url":"git+https://github.com/aws-amplify/amplify-backend.git","type":"git"},"_npmVersion":"11.13.0","description":"Deploy static sites, SPAs, and SSR (Next.js) applications to AWS using CloudFront + S3 + Lambda.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"jiti":"^2.4.0","semver":"^7.6.0","fast-glob":"^3.3.2","local-pkg":"^0.5.0","cross-spawn":"^7.0.6","parse-cache-control":"^1.0.1","@aws-amplify/plugin-types":"0.0.0-iac-hosting-20260605124459","@aws-amplify/platform-core":"0.0.0-iac-hosting-20260605124459","@aws-amplify/backend-output-schemas":"^1.5.0","@aws-amplify/backend-output-storage":"0.0.0-iac-hosting-20260605124459"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"zod":"3.25.17","@types/semver":"^7.5.8","@opennextjs/aws":"~3.10.0","@types/cross-spawn":"^6.0.6","@types/parse-cache-control":"^1.0.4","@aws-amplify/backend-platform-test-stubs":"^0.3.10"},"peerDependencies":{"constructs":"^10.0.0","aws-cdk-lib":"^2.234.1","@opennextjs/aws":">=3.10.0"},"peerDependenciesMeta":{"@opennextjs/aws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hosting_0.0.0-iac-hosting-20260605124459_1780663514107_0.8158198559764056","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-iac-hosting-20260609145417":{"name":"@aws-amplify/hosting","version":"0.0.0-iac-hosting-20260609145417","license":"Apache-2.0","_id":"@aws-amplify/hosting@0.0.0-iac-hosting-20260609145417","maintainers":[{"name":"amzn-oss","email":"osa-3p@amazon.com"},{"name":"aws-amplify-ops","email":"aws-amplify@amazon.com"},{"name":"amplify-studio-uibuilder","email":"aws-amplify-uibuilder@amazon.com"},{"name":"amplify-codegen","email":"amplify-codegen+npm@amazon.com"},{"name":"amplify-data-dev-npm","email":"amplify-data-dev+npm@amazon.com"},{"name":"aws-amplify-data-runtime","email":"amplify-data-dev@amazon.com"}],"homepage":"https://github.com/aws-amplify/amplify-backend#readme","bugs":{"url":"https://github.com/aws-amplify/amplify-backend/issues"},"dist":{"shasum":"0c26b611105fc7b1c5f57772e752c0a318d13c13","tarball":"https://registry.npmjs.org/@aws-amplify/hosting/-/hosting-0.0.0-iac-hosting-20260609145417.tgz","fileCount":286,"integrity":"sha512-wTxeV0vGNbFMtiXbZsVHq3wI01npE9WxmB4i8CDx90BlSXyLGnOg59IXCE26NAymBZ1Xi5gHeu3qqQOUgeo4eg==","signatures":[{"sig":"MEUCIGhjnoC09zQ4vISmyz7haj69Btd+V50XFbcH/CNrIx4cAiEApvFL9+AxgYMuZPgHBtRkBpaSsbvKW1uBvf1nHJtIFms=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aws-amplify%2fhosting@0.0.0-iac-hosting-20260609145417","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5118178},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./error":{"types":"./lib/hosting_error.d.ts","default":"./lib/hosting_error.js"},"./adapters":{"types":"./lib/adapters/index.d.ts","default":"./lib/adapters/index.js"},"./pipeline":{"types":"./lib/pipeline/index.d.ts","default":"./lib/pipeline/index.js"},"./constructs":{"types":"./lib/constructs/hosting_construct.d.ts","default":"./lib/constructs/hosting_construct.js"}},"gitHead":"9ff8513ec47afc062e259323c1c5ff5a18007a58","scripts":{"update:api":"api-extractor run --local","postinstall":"node -e \"console.log('\\n⚠️  @aws-amplify/hosting is a PREVIEW release — not for production use\\n')\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0faa18fb-a863-4d6c-9540-10a67611f565"}},"repository":{"url":"git+https://github.com/aws-amplify/amplify-backend.git","type":"git"},"_npmVersion":"11.13.0","description":"Deploy static sites, SPAs, and SSR (Next.js) applications to AWS using CloudFront + S3 + Lambda.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"jiti":"^2.4.0","semver":"^7.6.0","fast-glob":"^3.3.2","local-pkg":"^0.5.0","cross-spawn":"^7.0.6","parse-cache-control":"^1.0.1","@aws-amplify/plugin-types":"0.0.0-iac-hosting-20260609145417","@aws-amplify/platform-core":"0.0.0-iac-hosting-20260609145417","@aws-amplify/backend-output-schemas":"^1.5.0","@aws-amplify/backend-output-storage":"0.0.0-iac-hosting-20260609145417"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"zod":"3.25.17","@types/semver":"^7.5.8","@opennextjs/aws":"~3.10.0","@types/cross-spawn":"^6.0.6","@types/parse-cache-control":"^1.0.4","@aws-amplify/backend-platform-test-stubs":"^0.3.10"},"peerDependencies":{"constructs":"^10.0.0","aws-cdk-lib":"^2.234.1","@opennextjs/aws":">=3.10.0"},"peerDependenciesMeta":{"@opennextjs/aws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hosting_0.0.0-iac-hosting-20260609145417_1781016874515_0.4296309981768456","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-iac-hosting-20260609205023":{"name":"@aws-amplify/hosting","version":"0.0.0-iac-hosting-20260609205023","license":"Apache-2.0","_id":"@aws-amplify/hosting@0.0.0-iac-hosting-20260609205023","maintainers":[{"name":"amzn-oss","email":"osa-3p@amazon.com"},{"name":"aws-amplify-ops","email":"aws-amplify@amazon.com"},{"name":"amplify-studio-uibuilder","email":"aws-amplify-uibuilder@amazon.com"},{"name":"amplify-codegen","email":"amplify-codegen+npm@amazon.com"},{"name":"amplify-data-dev-npm","email":"amplify-data-dev+npm@amazon.com"},{"name":"aws-amplify-data-runtime","email":"amplify-data-dev@amazon.com"}],"homepage":"https://github.com/aws-amplify/amplify-backend#readme","bugs":{"url":"https://github.com/aws-amplify/amplify-backend/issues"},"dist":{"shasum":"b387f761385e5026c45d2d74ef9267b1b71a6746","tarball":"https://registry.npmjs.org/@aws-amplify/hosting/-/hosting-0.0.0-iac-hosting-20260609205023.tgz","fileCount":286,"integrity":"sha512-4l+cO+cOIRPBgHnj6YGOTZkovbRm8ed82v/GGxsI5z6YZ0u3B90kFYOOifgodNl8HtczcEWufUDZJaPOkRmZfg==","signatures":[{"sig":"MEUCIQCzJ2erni4UJ+L1j2Se6i6xl3g/v6wOeyC61mehTnwxPAIgT5SOY8GzIDA1KR/sE+fmugVHZ7uoJXc29xmQBHzXI64=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aws-amplify%2fhosting@0.0.0-iac-hosting-20260609205023","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5123047},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./error":{"types":"./lib/hosting_error.d.ts","default":"./lib/hosting_error.js"},"./adapters":{"types":"./lib/adapters/index.d.ts","default":"./lib/adapters/index.js"},"./pipeline":{"types":"./lib/pipeline/index.d.ts","default":"./lib/pipeline/index.js"},"./constructs":{"types":"./lib/constructs/hosting_construct.d.ts","default":"./lib/constructs/hosting_construct.js"}},"gitHead":"411e4b83b89877bcda0825c203d117df3e2c0dce","scripts":{"update:api":"api-extractor run --local","postinstall":"node -e \"console.log('\\n⚠️  @aws-amplify/hosting is a PREVIEW release — not for production use\\n')\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0faa18fb-a863-4d6c-9540-10a67611f565"}},"repository":{"url":"git+https://github.com/aws-amplify/amplify-backend.git","type":"git"},"_npmVersion":"11.13.0","description":"Deploy static sites, SPAs, and SSR (Next.js) applications to AWS using CloudFront + S3 + Lambda.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"jiti":"^2.4.0","semver":"^7.6.0","fast-glob":"^3.3.2","local-pkg":"^0.5.0","cross-spawn":"^7.0.6","parse-cache-control":"^1.0.1","@aws-amplify/plugin-types":"0.0.0-iac-hosting-20260609205023","@aws-amplify/platform-core":"0.0.0-iac-hosting-20260609205023","@aws-amplify/backend-output-schemas":"^1.5.0","@aws-amplify/backend-output-storage":"0.0.0-iac-hosting-20260609205023"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"zod":"3.25.17","@types/semver":"^7.5.8","@opennextjs/aws":"~3.10.0","@types/cross-spawn":"^6.0.6","@types/parse-cache-control":"^1.0.4","@aws-amplify/backend-platform-test-stubs":"^0.3.10"},"peerDependencies":{"constructs":"^10.0.0","aws-cdk-lib":"^2.234.1","@opennextjs/aws":">=3.10.0"},"peerDependenciesMeta":{"@opennextjs/aws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hosting_0.0.0-iac-hosting-20260609205023_1781038262181_0.8948990750240284","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@aws-amplify/hosting","version":"1.0.0","license":"Apache-2.0","_id":"@aws-amplify/hosting@1.0.0","maintainers":[{"name":"amzn-oss","email":"osa-3p@amazon.com"},{"name":"aws-amplify-ops","email":"aws-amplify@amazon.com"},{"name":"amplify-studio-uibuilder","email":"aws-amplify-uibuilder@amazon.com"},{"name":"amplify-codegen","email":"amplify-codegen+npm@amazon.com"},{"name":"amplify-data-dev-npm","email":"amplify-data-dev+npm@amazon.com"},{"name":"aws-amplify-data-runtime","email":"amplify-data-dev@amazon.com"}],"homepage":"https://github.com/aws-amplify/amplify-backend#readme","bugs":{"url":"https://github.com/aws-amplify/amplify-backend/issues"},"dist":{"shasum":"202d2bf4b67df2f896667154a519b032cf91d70b","tarball":"https://registry.npmjs.org/@aws-amplify/hosting/-/hosting-1.0.0.tgz","fileCount":98,"integrity":"sha512-aiuHkHxEZmMhd3Pby+QkIFfejf4WYCRSfHnZu6Ovm+xmqci1CoQY5A4gGJl9kWJu16lroIXcuS9vu/4VQWb96Q==","signatures":[{"sig":"MEYCIQCgR+bQ952hKRxuWuWbJOlPN9kExiOKLuBmkl4MT/Wg2AIhAKXNpZ8lb4BhUXy4CtFXMs1nExnDgAiVPnWng3JPJnHG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDpvS6FvFKeNbx6ijg49g9JVK5YNLSV7V7/VLHIkg+WGAIgUWaOXXsaEhOPqrkk7OFnbsx6eDqpQ97xpAAWhe5UGI4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aws-amplify%2fhosting@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":683512},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./error":{"types":"./lib/hosting_error.d.ts","default":"./lib/hosting_error.js"},"./runtime":{"types":"./lib/runtime.d.ts","default":"./lib/runtime.js"},"./adapters":{"types":"./lib/adapters/index.d.ts","default":"./lib/adapters/index.js"},"./pipeline":{"types":"./lib/pipeline/index.d.ts","default":"./lib/pipeline/index.js"},"./constructs":{"types":"./lib/constructs/hosting_construct.d.ts","default":"./lib/constructs/hosting_construct.js"},"./store-paths":{"types":"./lib/store_paths.d.ts","default":"./lib/store_paths.js"}},"gitHead":"f60180aaff47a704b997270ab8f97def7a1ce953","scripts":{"update:api":"api-extractor run --local","postinstall":"node -e \"console.log('\\n⚠️  @aws-amplify/hosting is a PREVIEW release — not for production use\\n')\""},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0faa18fb-a863-4d6c-9540-10a67611f565"}},"repository":{"url":"git+https://github.com/aws-amplify/amplify-backend.git","type":"git"},"_npmVersion":"11.19.0","description":"Deploy static sites, SPAs, and SSR (Next.js) applications to AWS using CloudFront + S3 + Lambda.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"@aws-blocks/hosting":"^0.3.0","@aws-blocks/pipeline":"^0.2.1","@aws-amplify/plugin-types":"^1.13.0","@aws-amplify/platform-core":"^1.12.0","@aws-amplify/backend-output-schemas":"^1.5.0","@aws-amplify/backend-output-storage":"^1.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"constructs":"^10.6.0","aws-cdk-lib":"^2.257.0","@opennextjs/aws":">=3.10.0"},"peerDependenciesMeta":{"@opennextjs/aws":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/hosting_1.0.0_1789028953044_0.34575670053641794","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"_id":"@aws-amplify/hosting@1.0.1","bugs":{"url":"https://github.com/aws-amplify/amplify-backend/issues"},"dist":{"shasum":"967e1e984463c3ea837827f0abcf5701f2ebd51f","tarball":"https://registry.npmjs.org/@aws-amplify/hosting/-/hosting-1.0.1.tgz","fileCount":98,"integrity":"sha512-kI8Qw201xHdus+wGbmz5WPqAdporoNy/PnC6vTbrOt4JrFKw4wXIzKkN575N1+E7BTat5VLP5OJXLR2qqEmSrA==","signatures":[{"sig":"MEUCIQDE3Z3QP/RgIyb6GkLwqdSlc4feQspajIN7uK/cLAdipgIgb7e1Pv71CPeh9wGFqbJJ46qlnx/eNGQye1tFUIlZho4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAFmH4VUM/U3jfCsOPmZb7aDlhJ9yHj5g6giLLgyILnrAiBPNUVdtQJbe9JjVvWzMEUGdX/RYKvqkiu6PS4Z6mNskg=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@aws-amplify%2fhosting@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":693467},"main":"lib/index.js","name":"@aws-amplify/hosting","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./error":{"types":"./lib/hosting_error.d.ts","default":"./lib/hosting_error.js"},"./runtime":{"types":"./lib/runtime.d.ts","default":"./lib/runtime.js"},"./adapters":{"types":"./lib/adapters/index.d.ts","default":"./lib/adapters/index.js"},"./pipeline":{"types":"./lib/pipeline/index.d.ts","default":"./lib/pipeline/index.js"},"./constructs":{"types":"./lib/constructs/hosting_construct.d.ts","default":"./lib/constructs/hosting_construct.js"},"./store-paths":{"types":"./lib/store_paths.d.ts","default":"./lib/store_paths.js"}},"gitHead":"756275ec7beedb0f484245a463cbbb0ecc3b99c5","license":"Apache-2.0","scripts":{"update:api":"api-extractor run --local","postinstall":"node -e \"console.log('\\n⚠️  @aws-amplify/hosting is a PREVIEW release — not for production use\\n')\""},"version":"1.0.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:0faa18fb-a863-4d6c-9540-10a67611f565"}},"homepage":"https://github.com/aws-amplify/amplify-backend#readme","repository":{"url":"git+https://github.com/aws-amplify/amplify-backend.git","type":"git"},"_npmVersion":"11.19.0","description":"Deploy static sites, SPAs, and SSR applications (Next.js, Nuxt, Astro, SvelteKit) to AWS using CloudFront + S3 + Lambda.","directories":{},"maintainers":[{"name":"amzn-oss","email":"osa-3p@amazon.com"},{"name":"aws-amplify-ops","email":"aws-amplify@amazon.com"},{"name":"amplify-studio-uibuilder","email":"aws-amplify-uibuilder@amazon.com"},{"name":"amplify-codegen","email":"amplify-codegen+npm@amazon.com"},{"name":"amplify-data-dev-npm","email":"amplify-data-dev+npm@amazon.com"},{"name":"aws-amplify-data-runtime","email":"amplify-data-dev@amazon.com"}],"_nodeVersion":"24.20.0","dependencies":{"@aws-blocks/hosting":"^0.3.0","@aws-blocks/pipeline":"^0.2.1","@aws-amplify/plugin-types":"^1.13.0","@aws-amplify/platform-core":"^1.12.1","@aws-amplify/backend-output-schemas":"^1.5.0","@aws-amplify/backend-output-storage":"^1.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"constructs":"^10.6.0","aws-cdk-lib":"^2.257.0","@opennextjs/aws":">=3.10.0"},"peerDependenciesMeta":{"@opennextjs/aws":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/hosting_1.0.1_1789739645505_0.3925912598266281"}}},"time":{"created":"2026-04-01T16:13:22.756Z","modified":"2026-09-18T13:54:06.031Z","0.0.0-test-seed":"2026-04-01T16:13:23.022Z","0.0.0-test-20260401162452":"2026-04-01T16:25:00.043Z","0.0.0-test-20260401214950":"2026-04-01T21:49:59.193Z","0.0.0-test-20260409133401":"2026-04-09T13:34:10.027Z","0.0.0-test-20260505111023":"2026-05-05T11:10:33.589Z","0.0.0-test-20260510175354":"2026-05-10T17:54:09.442Z","0.0.0-test-20260515152901":"2026-05-15T15:29:18.127Z","0.0.0-test-20260521115804":"2026-05-21T11:58:19.799Z","0.0.0-test-20260526153030":"2026-05-26T15:30:46.717Z","0.0.0-test-20260601122829":"2026-06-01T12:28:38.742Z","0.0.0-iac-hosting-20260601123712":"2026-06-01T12:37:20.633Z","0.0.0-iac-hosting-20260602110238":"2026-06-02T11:02:49.630Z","0.0.0-iac-hosting-20260603124759":"2026-06-03T12:48:08.542Z","0.0.0-iac-hosting-20260603133715":"2026-06-03T13:37:24.375Z","0.0.0-iac-hosting-20260603190201":"2026-06-03T19:02:10.503Z","0.0.0-iac-hosting-20260605124459":"2026-06-05T12:45:14.303Z","0.0.0-iac-hosting-20260609145417":"2026-06-09T14:54:34.732Z","0.0.0-iac-hosting-20260609205023":"2026-06-09T20:51:02.345Z","1.0.0":"2026-09-10T08:29:13.185Z","1.0.1":"2026-09-18T13:54:05.590Z"},"bugs":{"url":"https://github.com/aws-amplify/amplify-backend/issues"},"license":"Apache-2.0","homepage":"https://github.com/aws-amplify/amplify-backend#readme","repository":{"url":"git+https://github.com/aws-amplify/amplify-backend.git","type":"git"},"description":"Deploy static sites, SPAs, and SSR applications (Next.js, Nuxt, Astro, SvelteKit) to AWS using CloudFront + S3 + Lambda.","maintainers":[{"name":"amzn-oss","email":"osa-3p@amazon.com"},{"name":"aws-amplify-ops","email":"aws-amplify@amazon.com"},{"name":"amplify-studio-uibuilder","email":"aws-amplify-uibuilder@amazon.com"},{"name":"amplify-codegen","email":"amplify-codegen+npm@amazon.com"},{"name":"amplify-data-dev-npm","email":"amplify-data-dev+npm@amazon.com"},{"name":"aws-amplify-data-runtime","email":"amplify-data-dev@amazon.com"}],"readme":"# @aws-amplify/hosting\n\nDeploy static sites, SPAs, and SSR applications (Next.js, Nuxt, Astro, SvelteKit) to AWS using CloudFront + S3 + Lambda.\n\n## ⚠️ Important: Separate File Required\n\nHosting **must** be defined in `amplify/hosting.ts` — a separate file from `amplify/backend.ts`. This is because hosting deploys as an independent CloudFormation stack, allowing you to deploy frontend and backend independently.\n\n```\namplify/\n├── backend.ts      ← defineBackend() — auth, data, storage\n├── hosting.ts      ← defineHosting() — CloudFront, S3, Lambda\n└── ...\n```\n\n## Quick Start\n\n### SPA (React, Vue, etc.)\n\n```typescript\n// amplify/hosting.ts\nimport { defineHosting } from '@aws-amplify/hosting';\n\ndefineHosting({\n  framework: 'spa',\n  buildCommand: 'npm run build',\n});\n```\n\n> **Note:** `defineHosting()` is designed to be invoked by the Amplify CLI (`ampx deploy`). It synthesizes a CloudFormation template only when it receives an internal `'amplifySynth'` IPC message from the CLI. Running `amplify/hosting.ts` directly with `npx cdk synth` or `node` will **not** produce a CloudFormation template. If you need to use the hosting construct in a standalone CDK app, use `AmplifyHostingConstruct` from `@aws-amplify/hosting/constructs` instead — see [Standalone CDK Usage](#standalone-cdk-usage-no-amplify-cli) below.\n\n### Next.js (SSR)\n\n```typescript\n// amplify/hosting.ts\nimport { defineHosting } from '@aws-amplify/hosting';\n\ndefineHosting({\n  framework: 'nextjs',\n  buildCommand: 'npm run build',\n});\n```\n\n> **Note:** You do **not** need to configure `output: 'standalone'` in `next.config.js`. The adapter uses [@opennextjs/aws](https://opennext.js.org/) internally, which handles the build transformation automatically.\n\n### Deploy\n\n```bash\n# Deploy everything (backend + frontend)\nnpx ampx deploy --identifier prod\n\n# Deploy only backend (auth, data, storage)\nnpx ampx deploy --identifier prod --backend\n\n# Deploy only frontend (hosting) — requires backend deployed first\nnpx ampx deploy --identifier prod --frontend\n```\n\n## Common Mistakes\n\n❌ **WRONG — Do NOT add hosting to defineBackend:**\n\n```typescript\n// amplify/backend.ts — THIS IS WRONG\nimport { defineBackend } from '@aws-amplify/backend';\nimport { hosting } from './hosting/resource';\n\ndefineBackend({ hosting }); // ❌ Will not work\n```\n\n✅ **CORRECT — Use a separate amplify/hosting.ts file:**\n\n```typescript\n// amplify/hosting.ts — THIS IS CORRECT\nimport { defineHosting } from '@aws-amplify/hosting';\n\ndefineHosting({\n  framework: 'spa',\n  buildCommand: 'npm run build',\n});\n```\n\nHosting is a standalone CDK entry point. The CLI discovers `amplify/hosting.ts` automatically and deploys it as a separate CloudFormation stack.\n\n## Architecture\n\nThe hosting package uses a two-layer architecture:\n\n1. **Framework adapters** — transform framework-specific build output into a generic `DeployManifest`\n2. **L3 CDK construct** — reads the manifest and provisions AWS resources (S3, CloudFront, Lambda, etc.)\n\nThe construct is completely framework-agnostic. It never knows whether the manifest came from Next.js, Astro, or a custom adapter.\n\n> **Implementation note:** The framework adapters and the L3 CDK construct are provided by [`@aws-blocks/hosting`](https://www.npmjs.com/package/@aws-blocks/hosting). `@aws-amplify/hosting` re-exports them (the construct under the `AmplifyHostingConstruct` alias) and adds the Amplify-specific glue — `defineHosting()`, `definePipeline()`, and the backend-output integration.\n\n### Adapter Pipeline\n\n```\n┌─────────────────┐     ┌──────────────────┐     ┌─────────────────────┐\n│  Framework      │     │  Deploy Manifest  │     │  AWS Resources      │\n│  Build Output   │ ──► │  (generic JSON)   │ ──► │  (CDK L3 Construct) │\n└─────────────────┘     └──────────────────┘     └─────────────────────┘\n     adapter()                                      AmplifyHostingConstruct\n```\n\n### Built-in Adapters\n\n| Adapter       | Description                                                                                                                                                                       |\n| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| **Next.js**   | Uses [@opennextjs/aws](https://opennext.js.org/) to process Next.js build output. Supports App Router, Pages Router, ISR, middleware, image optimization, and response streaming. |\n| **Nitro**     | Nitro-based SSR output (`.output/`). The engine behind Nuxt and Astro's Node/Lambda targets.                                                                                      |\n| **Nuxt**      | Nuxt 3 apps (built on the Nitro adapter).                                                                                                                                         |\n| **Astro**     | Astro SSR apps using the Node/Lambda adapter (built on the Nitro adapter).                                                                                                        |\n| **SvelteKit** | SvelteKit apps via `@sveltejs/adapter-node` (SSR) plus static/prerendered output.                                                                                                 |\n| **SPA**       | Static single-page apps (React, Vue, Angular, etc.). All routes serve `index.html` with client-side routing.                                                                      |\n\nAll of the above are exported from [`@aws-amplify/hosting/adapters`](./src/adapters/index.ts) (`nextjsAdapter`, `nitroAdapter`, `nuxtAdapter`, `astroAdapter`, `sveltekitAdapter`, `spaAdapter`) and auto-selected by framework detection; you only need a custom adapter for a framework not listed here.\n\n### Infrastructure\n\n- **S3**: Private bucket with OAC (Origin Access Control). All public access blocked.\n- **CloudFront**: HTTP/2 + HTTP/3, TLS 1.2+, gzip/brotli compression, security headers (HSTS, CSP, X-Frame-Options).\n- **Lambda** (SSR): Native Lambda handlers with response streaming, IAM-authenticated Function URL, least-privilege IAM role.\n- **Lambda@Edge** (Middleware): Edge functions for request/response transformation.\n- **Image Optimization**: Separate Lambda with sharp for on-demand image resizing and format conversion.\n- **ISR Cache**: S3 cache bucket + DynamoDB (tag-based revalidation) + SQS (async revalidation queue). Auto-provisioned when the adapter declares cache config.\n- **Atomic deployments**: Each deploy creates a new build ID prefix in S3. CloudFront Function rewrites URLs. Zero-downtime cutover.\n\n## Features\n\n### ISR (Incremental Static Regeneration)\n\nNext.js ISR with `revalidateTag()` and `revalidatePath()` is fully supported. The adapter automatically provisions:\n\n- **S3 cache bucket** — stores pre-rendered pages\n- **DynamoDB table** — maps cache tags to paths for `revalidateTag()`\n- **SQS queue** — handles async revalidation requests\n\nNo configuration required — if your Next.js app uses ISR, the infrastructure is provisioned automatically.\n\n### Image Optimization\n\nNext.js `<Image>` component and `next/image` optimization work out of the box. A dedicated Lambda function handles:\n\n- On-demand resizing to configured sizes\n- Format conversion (WebP, AVIF)\n- Caching optimized images in S3\n\n### Middleware\n\nNext.js middleware runs as a Lambda@Edge function, supporting:\n\n- Request/response header manipulation\n- Redirects and rewrites\n- Authentication checks at the edge\n- Geolocation-based routing\n\n### Response Streaming\n\nSSR responses are streamed using Lambda response streaming (via Function URLs), reducing Time to First Byte (TTFB) for server-rendered pages.\n\n## What Happens During Deploy?\n\n1. **Build** — your build command runs (e.g., `npm run build`)\n2. **Adapter** — the framework adapter transforms build output into a `DeployManifest` (Next.js uses OpenNext internally)\n3. **CDK Synth** — CDK synthesizes a CloudFormation template based on the manifest\n4. **CloudFormation Deploy** — AWS provisions/updates all resources\n\n**Timelines:**\n\n- **First deploy:** ~15-20 minutes (CloudFront distribution provisioning is the bottleneck)\n- **Subsequent deploys:** ~5 minutes (asset upload + cache invalidation)\n- **Stack deletion:** ~20-40 minutes (CloudFront must be fully disabled before removal)\n\n## Configuration\n\n| Prop                          | Type                                                                                     | Default             | Description                                                                                                                                                                                           |\n| ----------------------------- | ---------------------------------------------------------------------------------------- | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `framework`                   | `'nextjs' \\| 'nitro' \\| 'nuxt' \\| 'astro' \\| 'sveltekit' \\| 'spa' \\| 'static' \\| string` | auto-detected       | Framework type. Auto-detected from package.json.                                                                                                                                                      |\n| `buildCommand`                | `string`                                                                                 | -                   | Build command to run before deployment.                                                                                                                                                               |\n| `buildOutputDir`              | `string`                                                                                 | auto-detected       | Path to pre-built output (SPA/static). Ignored for Next.js (OpenNext builds).                                                                                                                         |\n| `environment`                 | `Record<string, string \\| ByoValue>`                                                     | -                   | Env vars injected into SSR compute. Use `secret()`/`config()`/`byoSecret()`/`byoConfig()` for sensitive or rotatable values — see [Secrets & Environment Variables](#secrets--environment-variables). |\n| `secretStore` / `configStore` | `{ prefix?, stage? }`                                                                    | per-project default | Override the store path/namespace for `secret()` / `config()` values.                                                                                                                                 |\n| `monitoring`                  | `{ enabled?, snsTopicArn? }`                                                             | `{ enabled: true }` | CloudWatch alarms (5xx, Lambda errors/throttles, revalidation DLQ). **On by default**; a few cents/month per alarm. Set `{ enabled: false }` to opt out.                                              |\n| `skewProtection`              | `{ enabled, maxAge? }`                                                                   | `{ enabled: true }` | Cookie-based version skew protection during rolling deploys. **On by default.**                                                                                                                       |\n| `domain`                      | `{ domainName, hostedZone }`                                                             | -                   | Custom domain with SSL. Requires Route53 hosted zone.                                                                                                                                                 |\n| `waf`                         | `{ enabled, rateLimit? }`                                                                | -                   | Enable AWS WAF with managed rules + rate limiting. Adds ~$5/month.                                                                                                                                    |\n| `customAdapter`               | `FrameworkAdapterFn`                                                                     | -                   | Custom framework adapter for unsupported frameworks.                                                                                                                                                  |\n| `compute`                     | `{ memorySize?, timeout?, logRetention?, reservedConcurrency? }`                         | `1024MB, 30s`       | Lambda configuration for SSR.                                                                                                                                                                         |\n| `cdn.priceClass`              | `PriceClass`                                                                             | `PRICE_CLASS_100`   | CloudFront price class. Use `PRICE_CLASS_ALL` for global distribution.                                                                                                                                |\n| `cdn.contentSecurityPolicy`   | `string`                                                                                 | restrictive default | Custom CSP header value.                                                                                                                                                                              |\n| `cdn.geoRestriction`          | `{ type, countries }`                                                                    | -                   | Geo-restriction for CloudFront distribution.                                                                                                                                                          |\n| `storage.retainOnDelete`      | `boolean`                                                                                | `false`             | Retain S3 bucket on stack deletion.                                                                                                                                                                   |\n| `storage.encryption`          | `'S3_MANAGED' \\| 'KMS'`                                                                  | `'S3_MANAGED'`      | Encryption type for the hosting bucket.                                                                                                                                                               |\n| `logging.enabled`             | `boolean`                                                                                | `false`             | Enable CloudFront access logging to S3.                                                                                                                                                               |\n| `logging.retentionDays`       | `number`                                                                                 | `90`                | Days to retain access logs.                                                                                                                                                                           |\n\n> **⚠️ Production warning:** By default `storage.retainOnDelete` is `false`, which means the S3 bucket and **all hosted assets are permanently deleted** when the CloudFormation stack is destroyed. This is convenient for dev/test but **risky for production**. For production stacks, set `storage: { retainOnDelete: true }` to preserve the bucket on stack deletion. In standalone CDK usage, you can also set `removalPolicy: RemovalPolicy.RETAIN` on the construct's bucket directly.\n\n## Custom Domains\n\nRequires a Route53 hosted zone in the same AWS account. ACM certificate is automatically created and validated via DNS.\n\n```typescript\n// amplify/hosting.ts\nimport { defineHosting } from '@aws-amplify/hosting';\n\ndefineHosting({\n  domain: {\n    domainName: 'app.example.com',\n    hostedZone: 'example.com',\n  },\n});\n```\n\n**First deploy with a custom domain takes longer** (2-5 extra minutes with Route53, potentially much longer with external DNS) because ACM certificate validation blocks the CloudFormation stack until the certificate is issued.\n\n**External DNS users:** You must manually create a CNAME record for ACM validation. CloudFormation will wait up to 72 hours for certificate validation before timing out and rolling back.\n\n**Recommendation:** Keep your Route53 hosted zone in the same AWS account for the smoothest experience. DNS validation records are created automatically.\n\n### Changing Your Custom Domain\n\nChanging `domainName` after initial deploy causes **5-30 minutes of downtime** while the certificate is replaced and CloudFront is reconfigured. For zero-downtime domain migration:\n\n1. Create a new stack with the new domain\n2. Verify the new site works\n3. Update DNS to point to the new CloudFront distribution\n4. Delete the old stack\n\n## WAF (Web Application Firewall)\n\nEnables AWS Managed Rules (Common Rule Set + Known Bad Inputs) and IP-based rate limiting (1000 req/5min/IP default).\n\n```typescript\n// amplify/hosting.ts\nimport { defineHosting } from '@aws-amplify/hosting';\n\ndefineHosting({\n  waf: { enabled: true, rateLimit: 1000 },\n});\n```\n\n**Cost:** ~$5/month base + $1/million requests. Use for production apps with security requirements.\n\n### WAF Region Requirement\n\nWAF with CloudFront scope requires deployment in `us-east-1`. Deploying with WAF enabled in other regions will fail with a clear error message.\n\n## Two-Phase Deploy\n\n`ampx deploy` uses a two-phase deployment model:\n\n1. **Backend phase** (`ampx deploy --backend`): Deploys auth, data, and storage resources. Generates `amplify_outputs.json`.\n2. **Frontend phase** (`ampx deploy --frontend`): Runs your build command (with `amplify_outputs.json` available), then deploys hosting resources.\n\nRunning `ampx deploy` without flags deploys both phases sequentially.\n\n### Flags\n\n| Flag         | Behavior                                                     |\n| ------------ | ------------------------------------------------------------ |\n| (none)       | Deploy backend + frontend                                    |\n| `--backend`  | Deploy backend only (skip hosting)                           |\n| `--frontend` | Deploy frontend only (requires backend to be deployed first) |\n\n**Note:** `--backend` and `--frontend` are mutually exclusive. Specifying both is an error.\n\n## Secrets & Environment Variables\n\nThe `environment` prop injects values into your SSR compute. Three kinds are supported:\n\n- **Plain env vars** — non-sensitive literals, baked into the CloudFormation template (never put a secret here):\n\n  ```typescript\n  defineHosting({ environment: { APP_REGION: 'us-east-1' } });\n  // read at runtime with process.env.APP_REGION\n  ```\n\n- **Secrets** (`secret()`) — sensitive values stored in AWS Secrets Manager. Only a store locator is injected; the value never enters the template.\n- **Config** (`config()`) — non-sensitive but rotatable values stored in SSM Parameter Store.\n\n```typescript\n// amplify/hosting.ts\nimport { defineHosting, secret, config } from '@aws-amplify/hosting';\n\ndefineHosting({\n  environment: {\n    STRIPE_SECRET_KEY: secret('STRIPE_SECRET_KEY'), // → AWS Secrets Manager\n    FEATURE_FLAGS: config('FEATURE_FLAGS'), // → SSM Parameter Store\n  },\n});\n```\n\nSet the values out of band with the CLI (both support `set` / `get` / `list` / `remove`):\n\n```bash\nnpx ampx secret set STRIPE_SECRET_KEY sk_live_xxx\nnpx ampx config set FEATURE_FLAGS '{\"newCheckout\":true}'\n```\n\nRead them at runtime from the **CDK-free** runtime entry (`@aws-amplify/hosting/runtime` — keep it out of your CDK/build code):\n\n```typescript\nimport { getSecret, getConfig } from '@aws-amplify/hosting/runtime';\n\nconst key = await getSecret('STRIPE_SECRET_KEY');\nconst flags = JSON.parse(await getConfig('FEATURE_FLAGS'));\n```\n\n**Reference existing resources** — point at a secret/parameter you already manage (no CLI `set` needed) with `byoSecret()` (name or ARN) and `byoConfig()` (SSM parameter name):\n\n```typescript\nimport { defineHosting, byoSecret, byoConfig } from '@aws-amplify/hosting';\n\ndefineHosting({\n  environment: {\n    DB_PASSWORD: byoSecret(\n      'arn:aws:secretsmanager:us-east-1:123456789012:secret:prod/db-AbCdEf',\n    ),\n    LD_ENV: byoConfig('/my-org/launchdarkly/prod'),\n  },\n});\n```\n\nBy default, stores are namespaced per project: secrets at `/amplify/hosting/<project>/secrets/<KEY>`, config at `/amplify/hosting/<project>/config/<KEY>`. Override the prefix or add a per-stage segment via `secretStore` / `configStore`.\n\n## CI/CD with `definePipeline()`\n\n`definePipeline()` provisions a self-mutating AWS CodePipeline (V2) — one pipeline per branch — that deploys your app on every push, with multi-stage rollouts, approval gates, bake times, and typed per-stage config. Define it in `amplify/pipeline.ts` and deploy the pipeline once with `npx ampx deploy --pipeline` (this flag cannot be combined with `--identifier`).\n\n```typescript\n// amplify/pipeline.ts\nimport { definePipeline } from '@aws-amplify/hosting/pipeline';\nimport { Duration } from 'aws-cdk-lib';\n\nexport const pipeline = definePipeline({\n  source: {\n    repo: 'my-org/my-app',\n    connectionArn:\n      'arn:aws:codeconnections:us-east-1:123456789012:connection/abc-123',\n    triggerOnPush: true,\n    // triggerFilters: ['src/**', 'amplify/**'], // optional monorepo path filters\n  },\n  crossAccountKeys: true, // needed for cross-account stage targets\n  branches: [\n    {\n      branch: 'main',\n      stages: [\n        {\n          name: 'staging',\n          config: { domain: 'staging.example.com' },\n        },\n        {\n          name: 'prod',\n          requireApproval: true,\n          bakeTime: Duration.minutes(30),\n          env: { account: '222222222222', region: 'us-west-2' },\n          config: { domain: 'app.example.com' },\n        },\n      ],\n    },\n  ],\n});\n```\n\n- **`source`** — `repo` (`owner/repo`), a CodeConnections `connectionArn` (plain string), optional `triggerOnPush` / `triggerFilters`.\n- **`branches[].stages[]`** — `name`, optional `env` (`{ account, region }`), `requireApproval`, `bakeTime` (a `Duration`), and typed per-stage `config`.\n- **`synth`** — override the build: `commands`, `installCommands`, `computeType` (`ComputeType` enum), `env`, `primaryOutputDirectory`.\n- **`crossAccountKeys`** / **`selfMutation`** — cross-account artifact keys, and whether the pipeline updates itself on `amplify/pipeline.ts` changes (default `true`).\n\nRead the active stage's config inside `amplify/hosting.ts` with `getStageConfig()`:\n\n```typescript\nimport { defineHosting } from '@aws-amplify/hosting';\nimport { getStageConfig } from '@aws-amplify/hosting/pipeline';\n\nconst stage = getStageConfig<{ domain: string }>();\ndefineHosting({\n  domain: stage?.config?.domain\n    ? { domainName: stage.config.domain, hostedZone: 'example.com' }\n    : undefined,\n});\n```\n\n`getStageConfig()` returns `undefined` outside a pipeline (e.g. a local `ampx deploy`), so guard the access.\n\n## Limitations\n\n### Sandbox\n\n`defineHosting` is not supported in `ampx sandbox`. Hosting resources are silently skipped during sandbox development. Use `ampx deploy --identifier <name>` for full hosting deployment.\n\n### Managed `ampx pipeline-deploy`\n\n`defineHosting` is not supported with the managed `ampx pipeline-deploy` (Amplify Hosting branch deployments). For CI/CD, either run `ampx deploy` from your own pipeline or use the built-in self-managed CodePipeline via [`definePipeline()`](#cicd-with-definepipeline).\n\n### `HEAD` request `Content-Length` parity\n\nA `HEAD` request to an SSR Lambda returns `Content-Length: 0` instead of the would-be `GET` body length. This is a Nitro / Lambda Function URL upstream limitation: the framework's HTTP server doesn't pre-compute the body for a `HEAD` request, and AWS's response-streaming wrapper passes through whatever the framework sets.\n\nAffected: download managers, CDN HEAD pre-flights, RFC 9110 §9.3.2 strict clients.\n\nWorkaround: clients that need an exact length should issue `GET` with `Range: bytes=0-0` (returns the first byte + `Content-Range`) instead of `HEAD`.\n\n### Multi-zone cross-zone navigation cache\n\nWhen two Amplify Hosting deployments front the same domain (e.g. shop on `/` + blog on `/blog/*` via cross-zone rewrites), navigations between zones currently emit `Cache-Control: private, no-cache` and re-roundtrip both Lambdas on every navigation.\n\nWorkaround: set explicit `s-maxage=N` headers on the cross-zone routes via your framework's `headers()` config. Future versions will surface a per-route adapter knob.\n\n### `Range` requests on streaming endpoints\n\nStreaming SSR routes (Nitro `nitro.awsLambda.streaming: true`, Astro 5, Next.js RSC) silently ignore the `Range` header — Lambda Function URL streaming buffers the full body before sending. Use a non-streaming endpoint or fall back to a static `Range`-capable origin (S3 directly, separate file-server Lambda).\n\n## Custom Framework Adapters\n\nFor frameworks not built in (Remix, etc. — note Nuxt, Astro, and SvelteKit are already built in), provide a custom adapter that returns a `DeployManifest`:\n\n```typescript\n// amplify/hosting.ts\nimport { defineHosting } from '@aws-amplify/hosting';\nimport type { FrameworkAdapterFn } from '@aws-amplify/hosting/adapters';\nimport type { DeployManifest } from '@aws-amplify/hosting';\nimport * as path from 'path';\n\nconst myAdapter: FrameworkAdapterFn = (projectDir): DeployManifest => ({\n  version: 1,\n  compute: {},\n  staticAssets: { directory: path.join(projectDir, 'dist') },\n  routes: [{ pattern: '/*', target: 'static' }],\n});\n\ndefineHosting({\n  customAdapter: myAdapter,\n  buildCommand: 'npm run build',\n});\n```\n\n### SSR Custom Adapter Example\n\n```typescript\nimport type { DeployManifest } from '@aws-amplify/hosting';\nimport type { FrameworkAdapterFn } from '@aws-amplify/hosting/adapters';\nimport * as path from 'path';\n\nconst astroSSRAdapter: FrameworkAdapterFn = (projectDir): DeployManifest => ({\n  version: 1,\n  compute: {\n    server: {\n      type: 'handler',\n      bundle: path.join(projectDir, 'dist/server'),\n      handler: 'entry.handler',\n      placement: 'regional',\n      streaming: true,\n      runtime: 'nodejs20.x',\n      memorySize: 1024,\n      timeout: 30,\n    },\n  },\n  staticAssets: {\n    directory: path.join(projectDir, 'dist/client'),\n    cacheControl: 'public, max-age=31536000, immutable',\n  },\n  routes: [\n    { pattern: '/_astro/*', target: 'static' },\n    { pattern: '/favicon.ico', target: 'static' },\n    { pattern: '/*', target: 'server' },\n  ],\n});\n```\n\n## Deploy Manifest Schema\n\nThe `DeployManifest` is the contract between framework adapters and the L3 construct. Custom adapters must return this shape:\n\n```typescript\ntype DeployManifest = {\n  version: 1;\n\n  /** Named compute resources */\n  compute: Record<string, ComputeResource>;\n\n  /** Static asset configuration */\n  staticAssets: {\n    directory: string;\n    cacheControl?: string;\n  };\n\n  /** Route behaviors — maps URL patterns to compute or static */\n  routes: RouteBehavior[];\n\n  /** Cache infrastructure (auto-provisions S3 + DynamoDB + SQS) */\n  cache?: CacheConfig;\n\n  /** Image optimization (auto-provisions a separate Lambda) */\n  imageOptimization?: ImageConfig;\n\n  /** Middleware (deploys to Lambda@Edge) */\n  middleware?: MiddlewareConfig;\n\n  /** Redirects, rewrites, custom headers */\n  redirects?: Redirect[];\n  rewrites?: Rewrite[];\n  headers?: CustomHeader[];\n\n  /** Build ID for atomic deployments (auto-generated if omitted) */\n  buildId?: string;\n};\n\ntype ComputeResource = {\n  type: 'handler' | 'http-server' | 'edge';\n  bundle: string;\n  handler?: string; // for type: 'handler'\n  entrypoint?: string; // for type: 'http-server'\n  port?: number; // for type: 'http-server'\n  placement: 'regional' | 'global';\n  streaming?: boolean;\n  runtime?: string;\n  memorySize?: number;\n  timeout?: number;\n  environment?: Record<string, string>;\n};\n\ntype RouteBehavior = {\n  pattern: string; // URL pattern (glob only — CloudFront wildcards * and ?)\n  target: string; // compute resource name, or 'static'\n  fallback?: string; // fallback target on error\n};\n\ntype CacheConfig = {\n  computeResource: string;\n  tagRevalidation: boolean; // provisions DynamoDB\n  revalidationQueue: boolean; // provisions SQS\n};\n\ntype ImageConfig = {\n  bundle: string;\n  handler: string;\n  formats: string[];\n  sizes: number[];\n};\n\ntype MiddlewareConfig = {\n  bundle: string;\n  handler: string;\n  matchers: string[];\n};\n```\n\n### Compute Types\n\n| Type          | Description                                    | AWS Resource               |\n| ------------- | ---------------------------------------------- | -------------------------- |\n| `handler`     | Native Lambda handler (fastest cold start)     | Lambda with Function URL   |\n| `http-server` | HTTP server wrapped with Lambda Web Adapter    | Lambda + Web Adapter layer |\n| `edge`        | Edge function for low-latency global execution | Lambda@Edge                |\n\n## Lambda Configuration\n\nCustomize SSR Lambda settings:\n\n```typescript\n// amplify/hosting.ts\nimport { defineHosting } from '@aws-amplify/hosting';\n\ndefineHosting({\n  framework: 'nextjs',\n  compute: {\n    memorySize: 1024, // MB (default: 1024)\n    timeout: 60, // seconds (default: 30)\n    reservedConcurrency: 50, // concurrent executions (default: none)\n  },\n});\n```\n\n## Content Security Policy (CSP)\n\nThe default CSP is intentionally restrictive:\n\n```\ndefault-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data:; connect-src 'self' https:; media-src 'self'; object-src 'none'; frame-ancestors 'self'\n```\n\n**`unsafe-eval` is NOT included** in the default policy. This was a deliberate security decision — `eval()` and `new Function()` are common XSS vectors. Most modern frameworks (including Next.js) work without `unsafe-eval`.\n\nHowever, some libraries (e.g., certain template engines, older chart libraries) require `eval()` at runtime. If your app needs it, use the `cdn.contentSecurityPolicy` prop to override:\n\n```typescript\n// amplify/hosting.ts\nimport { defineHosting } from '@aws-amplify/hosting';\n\ndefineHosting({\n  cdn: {\n    contentSecurityPolicy:\n      \"default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data:; connect-src 'self' https:; media-src 'self'; object-src 'none'; frame-ancestors 'self'\",\n  },\n});\n```\n\n## Standalone CDK Usage (No Amplify CLI)\n\n`AmplifyHostingConstruct` works as a standard CDK L3 construct in any CDK project — no Amplify CLI, no `defineHosting()`, no `amplify/` directory required.\n\n### Sub-path Imports\n\nUse sub-path imports to pull in only what you need:\n\n```typescript\n// The construct itself\nimport { AmplifyHostingConstruct } from '@aws-amplify/hosting/constructs';\n\n// Adapters for framework detection and build output transformation\nimport {\n  spaAdapter,\n  nextjsAdapter,\n  detectFramework,\n  getAdapter,\n} from '@aws-amplify/hosting/adapters';\n\n// Error type for catch clauses\nimport { HostingError } from '@aws-amplify/hosting/error';\n\n// Manifest types for custom adapters\nimport type {\n  DeployManifest,\n  RouteBehavior,\n  ComputeResource,\n} from '@aws-amplify/hosting';\n```\n\n> **Dependency note:** The sub-path imports (`/constructs`, `/adapters`, `/error`) do **not** import any `@aws-amplify/*` packages at runtime. Only the main entry point (`@aws-amplify/hosting`) re-exports the `defineHosting()` factory which depends on `@aws-amplify/plugin-types` and other Amplify packages. If you only use sub-path imports, your project does not need any Amplify packages installed.\n\n### SPA Example (Vanilla CDK)\n\n```typescript\nimport { App, Stack } from 'aws-cdk-lib';\nimport { AmplifyHostingConstruct } from '@aws-amplify/hosting/constructs';\nimport type { DeployManifest } from '@aws-amplify/hosting';\nimport * as path from 'path';\n\nconst app = new App();\nconst stack = new Stack(app, 'MySpaStack', {\n  env: { account: '123456789012', region: 'us-east-1' },\n});\n\nconst manifest: DeployManifest = {\n  version: 1,\n  compute: {},\n  staticAssets: { directory: './dist' },\n  routes: [{ pattern: '/*', target: 'static' }],\n};\n\nconst hosting = new AmplifyHostingConstruct(stack, 'Hosting', {\n  manifest,\n});\n\n// Access created resources for composition with other constructs\nconsole.log(hosting.distributionUrl); // https://d111111abcdef8.cloudfront.net\nconsole.log(hosting.bucket.bucketName); // auto-generated bucket name\n```\n\n### Next.js SSR Example (Vanilla CDK)\n\n```typescript\nimport { App, Stack } from 'aws-cdk-lib';\nimport { AmplifyHostingConstruct } from '@aws-amplify/hosting/constructs';\nimport { nextjsAdapter } from '@aws-amplify/hosting/adapters';\n\nconst app = new App();\nconst stack = new Stack(app, 'MyNextjsStack', {\n  env: { account: '123456789012', region: 'us-east-1' },\n});\n\n// Run the OpenNext adapter to produce a DeployManifest\nconst manifest = nextjsAdapter({ projectDir: process.cwd() });\n\nnew AmplifyHostingConstruct(stack, 'Hosting', {\n  manifest,\n  compute: {\n    memorySize: 1024,\n    timeout: 60,\n  },\n});\n```\n\nThe Next.js adapter uses `@opennextjs/aws` internally to process the build output and produces a manifest with:\n\n- Native Lambda handlers (no Web Adapter wrapper needed)\n- ISR cache configuration (S3 + DynamoDB + SQS)\n- Image optimization Lambda\n- Middleware edge function (if applicable)\n\n### Custom Domain with BYO Certificate\n\n```typescript\nimport { Certificate } from 'aws-cdk-lib/aws-certificatemanager';\nimport { AmplifyHostingConstruct } from '@aws-amplify/hosting/constructs';\n\n// Certificate MUST be in us-east-1 — CloudFront requirement\nconst cert = Certificate.fromCertificateArn(\n  stack,\n  'MyCert',\n  'arn:aws:acm:us-east-1:123456789012:certificate/abc-123',\n);\n\nnew AmplifyHostingConstruct(stack, 'Hosting', {\n  manifest,\n  domain: {\n    domainName: 'app.example.com',\n    hostedZone: 'example.com',\n    certificate: cert, // BYO cert — skips deprecated DnsValidatedCertificate\n  },\n});\n```\n\n> **Important:** CloudFront requires ACM certificates to be in `us-east-1`. If you provide a certificate from another region, the construct throws an `InvalidCertificateRegionError` at synth time (for concrete ARNs). For cross-stack token ARNs, CloudFront will reject the certificate at deploy time.\n\n### Writing a Custom Adapter\n\nThe construct is driven by a `DeployManifest`. Built-in adapters (`spaAdapter`, `nextjsAdapter`, `nitroAdapter`, `nuxtAdapter`, `astroAdapter`, `sveltekitAdapter`) process framework build output and produce this manifest. You can write your own adapter for any framework not covered above (Remix, etc.).\n\n**Skeleton adapter for a custom framework:**\n\n```typescript\nimport * as fs from 'fs';\nimport * as path from 'path';\nimport type { DeployManifest, RouteBehavior } from '@aws-amplify/hosting';\n\n/**\n * Custom adapter for Astro (example).\n * Scans Astro's build output and returns a DeployManifest.\n */\nexport const astroAdapter = (projectDir: string): DeployManifest => {\n  const buildOutputDir = path.join(projectDir, 'dist');\n  if (!fs.existsSync(buildOutputDir)) {\n    throw new Error(`Build output not found at ${buildOutputDir}`);\n  }\n\n  const hasServerDir = fs.existsSync(path.join(buildOutputDir, 'server'));\n  const routes: RouteBehavior[] = [];\n\n  // Static assets with aggressive caching\n  routes.push({\n    pattern: '/_astro/*',\n    target: 'static',\n  });\n\n  if (hasServerDir) {\n    // SSR: catch-all goes to compute\n    routes.push({ pattern: '/*', target: 'server' });\n\n    return {\n      version: 1,\n      compute: {\n        server: {\n          type: 'handler',\n          bundle: path.join(buildOutputDir, 'server'),\n          handler: 'entry.handler',\n          placement: 'regional',\n          streaming: true,\n          runtime: 'nodejs20.x',\n        },\n      },\n      staticAssets: {\n        directory: path.join(buildOutputDir, 'client'),\n        cacheControl: 'public, max-age=31536000, immutable',\n      },\n      routes,\n    };\n  }\n\n  // Static-only: all routes from S3\n  routes.push({ pattern: '/*', target: 'static' });\n\n  return {\n    version: 1,\n    compute: {},\n    staticAssets: { directory: path.join(buildOutputDir, 'client') },\n    routes,\n  };\n};\n```\n\n**Using a custom adapter with the construct:**\n\n```typescript\nimport { AmplifyHostingConstruct } from '@aws-amplify/hosting/constructs';\nimport { astroAdapter } from './astro-adapter';\n\nconst manifest = astroAdapter(process.cwd());\n\nnew AmplifyHostingConstruct(stack, 'Hosting', {\n  manifest,\n});\n```\n\nThe key insight is that **any framework can be supported** by writing an adapter that returns a `DeployManifest`. The construct handles all AWS resource creation (S3, CloudFront, Lambda, OAC, etc.) based on the manifest.\n\n## Troubleshooting\n\n### Build fails but error message is unclear\n\nRun your build command locally (`npm run build`) to see full output. The deploy shows first 1000 + last 1000 characters.\n\n### CloudFront returns 403\n\nThis should not happen with the OAC bucket policy. If it does, check that the S3 bucket policy includes the CloudFront distribution ARN.\n\n### Deploy takes very long\n\nFirst deploy creates a CloudFront distribution (~15-20 min). Subsequent deploys are faster (~5 min).\n\n### ISR pages are not revalidating\n\nEnsure your Next.js app uses the App Router with `revalidateTag()` or `revalidatePath()`. Pages Router ISR (`revalidate: N` in `getStaticProps`) is also supported via time-based revalidation.\n\n### Image optimization returns 500\n\nCheck that the image optimization Lambda has sufficient memory (default: 1024MB). Large images may require 1024MB+. Increase via the `compute` configuration.\n","readmeFilename":"README.md"}