{"_id":"@getjerry/aws-cloudfront","_rev":"100-01dd3f4035b2305e32e2c0b877dbe055","name":"@getjerry/aws-cloudfront","dist-tags":{"latest":"1.7.0","alpha":"1.8.0-alpha.82"},"versions":{"1.1.1":{"name":"@getjerry/aws-cloudfront","version":"1.1.1","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.1.1","maintainers":[{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"}],"dist":{"shasum":"0100f08f5dfa18a1648e0d216a1aef8245dc6c4f","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.1.1.tgz","fileCount":29,"integrity":"sha512-vovq659B6WNZ8u5iuZ6gaUn/taRMyx0ToRuTKDMTpIC1YEwr5OgZUHeR9oXaxdFq0I6YiHL6q21RZmbQe8PuXw==","signatures":[{"sig":"MEQCIDBk1cwTzW1pTD7uEwnZ07POW+UxrDltALJJmTMk8wlAAiA06y4N7vSIIxCt1MpHKTFYwiWoH/Lx33mRgsq21modww==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":89428,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfV8sdCRA9TVsSAnZWagAAWMwP/i1YH7SpC+oV9bieHsaJ\nfGfOHCNkkQgm98oLCcq3fVuK6IqoXEaYmsj290IlT4av5ne70gUhfzsntnCc\nJs/DxUAR59VdOa94rM9XKU0+bL7JT+llfI/mN2LewE4WMVxAuq6oTo5BeoJU\nLcKbu5wCdOkWeGjfQE86bLqYN5pOShZNsafs5E9UdNeAKF+Gl9j4HbWqcWeP\nKr7UEOIh90tJOFckgqbRpORCngL5b0BFLpDaYfTo8iibJl+y25uUn5V28ezH\nbliYQj8kHXN1o76gtFtc0hn/F+QVLXhRdR7V+NS+dKK/2yDq7QHdm0YEk0nw\nPWRM7RhlOODH9udLMxfJ0tqxsEbAe7XPsDQuDGXyZ5i+QlBH3TfwNwDvnI+K\nOdwHQ4KIUXFaiKeuKNSwLaihIPDOUHuLWERavhI5RMUJIMbsTHwnvYuViPZp\neUhBys5Y9hNmhGzKo4pm6b12GpKC1cAb2xvS/xAvVDVVOFUCzAaaZO31CfO1\nBQNMN0lqvWYyh4Cz5KEU/mpDgHN6uN/sD9Z67fQswN4ci8NTJtqW8oibi++t\nwXtwsYL06tldXO4p6Ps7j6tMcL9O6PAlkwlIK4d/bpYFH4cegvkb4zJahQkB\nBuaVfu+zhCN0SAdYYdNG8LL4vKGmxMl/x6mLdWNRr2Im9LBZ6meBRjkhQLHk\nCrxc\r\n=HKO5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","gitHead":"1abbf39544cfd0cba85e515e8ab8b99c58d4a9db","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"denisgrankin","email":"denis@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v10.16.0+x64 (linux)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"10.16.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"^2.499.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.1.1_1599589149527_0.5141971075588034","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"@getjerry/aws-cloudfront","version":"1.1.2","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.1.2","maintainers":[{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"}],"dist":{"shasum":"12d4974ae27d70e1fcc0f476a196c7c43ea71b82","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.1.2.tgz","fileCount":29,"integrity":"sha512-pahHzOzSo5shFqENhjSCCzaE46Mk5MBreiaJOM4d6cLnFbVG1jcfYJuM9OZWbbpqA8iv/oyh5KyrWUN3l8nIKA==","signatures":[{"sig":"MEQCIEA4mXumwYmmkksf+iDX07pX824cL06fZ4Z1hTfP0Zl1AiBDr86ruBVSUqGb1+UA4Q0p84wkjvmMrJb8wFmFQ0OBNw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":89428,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfpJG1CRA9TVsSAnZWagAA47MP/3CFOvIeY3WmnOxEj1By\nhWE1l3FTLiD4qe3y0UpV/zyraG94hwbln03yW5NKnC5+RPvoGxU05UyeFFe6\nCgxxbWw2b/Fp5M//cUAOokras63++aIA+OiMDokEAUIhQN3ot3LzpVP1rpCT\n9FYZKPenIIA/TDDq/hga2xvnH/GartjVD8cI6GxB3u2X0E67Z68oXlhixDpp\n+QbCB9dCge/v0/XlWubrg9X5RBcKwCNDGOkPZ9K51Jf0oY9v66oTxuO3J5HF\n3tJKP9dVueDavuTiAt6Ff7kGberFBRxDJxhYJOIGlQ7VUmbvOn05uFKkfqHC\nXF66DsRRY7F69edd6HDQ54K3Yyqgz1OUJFomoHUAZ2nKwy6HmXzdZyvZEUQ4\nlNGBEyV79aeapO72NOl/FP1dOu23JXTLrjHkxP1njBgKaLx6MSpxTEiyhM+3\ngKFdPxyujpiUkVWvPnjPXhEcJ9wO+xD2R9DnEorYvYBXp6j+TWZHbfBp27pz\nhmnqPlaChWoCl8KRfrzbaLEDZb/Wnf6MXH7WgDPp1DBi5pDcTyZsJXZe5W3X\nYKM+1c+yBfWKW+egVLCkf4XCTqLK0zGNrz0DQmadDz6VEZQOxuffy8NDJgtf\nf/3hqmh4VQoLRamS3BpFXqJJfz5PW+sJq71DC7ItE+nF5wmt4PHsZTtYPp55\nD5j1\r\n=BzG7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","gitHead":"3ccb17d02a2a306c164cfdcc5ef743da8d34a737","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"denisgrankin","email":"denis@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v12.14.0+x64 (linux)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"12.14.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"^2.499.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.1.2_1604620725222_0.4333991964556645","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"@getjerry/aws-cloudfront","version":"1.1.3","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.1.3","maintainers":[{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"}],"dist":{"shasum":"0413a7f73dcbca894491a4f90bd0175938bce074","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.1.3.tgz","fileCount":29,"integrity":"sha512-6x2qLp4AQpEBsMSxKJ6l4SFt4dPAnM1iy7Oa9WG+cW3DJeFFiKNxd29iPnkgVm5o22JKhQcdx/mScTxP1YRbGw==","signatures":[{"sig":"MEUCICTzBNmG1RMiXoBA4WmAuyfg6M30GpS/bgERiYAMzqRJAiEA3EObRPA67paV4TMHbVj1mngjFC04ATmI9DREzeDk0r4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":89871,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfs/iNCRA9TVsSAnZWagAANngP/22BPHfkfl9AonDwk49n\n90MW0ejMOizIzJqLo0ojxFtu0nj6lxM86sQwVwYadhhEsQQrDY36EaExnUV3\nGcCbfQKI1wx1oFdKrooejByRo1SiB/jvUv/K0opgZaKJpsJEJKfGhi33jrYL\n/gXtuDGHBbk78iPUqsk62C4BXF/yF9NhXeRYBElMv68bDsJrjMJkDE8KUmaN\n9OU7O/WOQIZmY9nfv6n/MUERU18RPAkrTA4BjRBwWbzn5GF4KseH9E79ycjQ\nxuOjeUNDDLlalWKhhOySZGjfXm9FuL8zpP4RWtUk+tIxIUKo1UKPpX39JztR\nxpioEy4KpIhOxNEGbjCqGSNm+cX47WjdNWLX0EYlxBFJjPJQpNp1meHNzdN/\nHEJZU18BWbxYmGSnnqd5IXyl7woIeeUsrr54HeD4k1ODGptZj62Fuzug1o4t\nt9BX2ogV+L9TmjceOLcAiq8aW7jpoV+yTvGU4x6RjHfB31ZB+kisULJ8drRw\nYcLh0zeUL8oCwC3RshUQF/orB3ix0nEyfy3vuwdNYYOLxx7ZXk/zNlZHyDjq\n09UlS9YbFqW1j6m0EDRsbCfJ3LxMKX4dfHI8xdyAszBd1z8SXCrP+t1uT9Mj\nHXgmjZNmj7EaYYWv77euwGsa0VaN/EvmhP9m1V+BB4olK2r7FBSlCGSCzxxM\nkZ1y\r\n=M2ZW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","gitHead":"6e26a6d74ea5a138785df8f13c7aa728e445a17c","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"denisgrankin","email":"denis@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v12.14.0+x64 (linux)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"12.14.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"^2.499.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.1.3_1605630092642_0.16264214599243498","host":"s3://npm-registry-packages"}},"1.1.4":{"name":"@getjerry/aws-cloudfront","version":"1.1.4","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.1.4","maintainers":[{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"}],"dist":{"shasum":"24038c239e740c2c4fc02d50f77681195edb8cab","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.1.4.tgz","fileCount":29,"integrity":"sha512-5n2s++sFTHRcfAfnS7HUXkfjiPnmMhXxj7vwFrX/cqPXbNYkSPJDwOpkdZm6GdtKMs2JZXb0fTkjrC4orm0iKA==","signatures":[{"sig":"MEUCIQCHjZFYiXsjhL9nAQltwCmVfsa3vVh4sjHh96SpbgnvIwIgFMRp6H3DnmrtUHAcvGb18sz3rjmVP69u4cXV0yVwFrs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":90006,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwoSZCRA9TVsSAnZWagAA814P/2+OVpqqlTLnQaaJGLk6\nG2kFTTUXt519KBUzbS9okf27ObhFxmHZWxt3J+Wf2KDx1rf/BdenaI3wqyOt\nidhr7zNhhX01ChuE5f61QiclrZu4kU4KXVP4f8mJzaNOSnNbnoZBs8e/MC3S\nz4btAjGXJnU0ogUep7VerbXuIikyIqH7OphxBxgeoK1RW3MEVOIZ7I0Ijy8y\nUM87C/TkjzsPuwNczszYHc6GfY9+tuV8d+7g1VHinOn3mOoTNoQ9RRbSXXX1\n8bGruG1laJkXNZs/UhkQag8m9I4Jg7TkJ0y6go9s10uvXHRC/eoAsu55N1UN\nYTMC0WCC6/NTAWgd9NzlpUapZxzdn+1lPACgNj/zzyNFLnQGBt3RyCVMrXHU\n2SbqenWfYqtn4ldAo5utaq18zou9c958q1SBkuszxT44TVwsYFbAPWApjCMT\nEsGXUxHOzB0tFE5Zdf+kVtJGPaQrfv+zwb9B0iJZstfRKlzCC+KrkiB5eyN8\nC/puJTeYnC9sofOOqy9PlLd1Tm3AAQYYkUYipTaRvs57F5euO9ucQrz1t4nP\n/TWuge/i4PPHCLU8LoPtxT72fjNcyd9HCMX2IGtGtHLDOGugHWxosD4YxY+1\nivuDRszJnMP7uUVclIKivpC/XhMK3X6buRFEqILxhq6IrSWqHuw+GHEnMW12\nhKIp\r\n=D7XH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","gitHead":"14f8768ad23e4e73161ca0a54b14a91861e46015","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"denisgrankin","email":"denis@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v12.14.0+x64 (linux)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"12.14.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"^2.499.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.1.4_1606583449177_0.38920657246005397","host":"s3://npm-registry-packages"}},"1.1.5":{"name":"@getjerry/aws-cloudfront","version":"1.1.5","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.1.5","maintainers":[{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"}],"dist":{"shasum":"a14557138241e3d934b17af68b875771d03f0cf7","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.1.5.tgz","fileCount":29,"integrity":"sha512-QEOT9+sYwUlkmzHDpS9TLvjPxdhb4w+bKb5TvdypQeMkeTpn3PImHOcHZtaI3QRLdOAxsV0H6ZaMVGIUu7IkUg==","signatures":[{"sig":"MEYCIQDaAEYw9b34O/xIiTgRBrjJOYH4tOBtqOFgHmyuGrQHHwIhAIJ2X/Nced3wANrFcZwshkxEcY1dDZlC5GsakQUi+8MA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":90135,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxqP4CRA9TVsSAnZWagAA65gP/2I1tm9NygssVQXLQDh7\nFRwecL9oA8qjZhjSY94ozwfy7S2pYKJYN1juLrQlu6FOoX8E052sEZrMVkDV\nUcNpvafRwiaOT/58UgU0cNtAONk1w4+nSaScCdFh2DyZ+9pcwQwdCNZxrxCj\nQOOsr9fkzF5k/ajnvIsPo8QnhljwWSjehxC43KeV6e9RIPgYGvlsGdEdn26O\nhhz0WdkRYv/FTTOh2DpwetAqe/rY2TLlYKB2MlJ5Ust0Ym1MJmY17+308UzN\nkoLn9YdDPSSvj+VJ2jh6XE99MiDWvsH2xFVaNUDuIFAWe8PSd97SOMR9PTJZ\nTDrdHdNB6tIQiIKyJi9AstyLGuLEhvZIvobUpM29TKxGdm4SUXdOA7J80Uam\n2TwmjgXZNtjHdHPSg62BYTE21xm6sFXMVdiA3XBY8MfAJ5yvyOCXsWI12aXY\nwmpMtK9MVozPhjvfXVtZysQ1RLBOft2H/W82IiJvQy4PcpksgLJ42ngz/cMa\nKlk0W4jFh5xY8In5lSMySRePnTZfI+rqWD8Cnvk7wY0XSb7ZTPadd7iE8Cbe\n6Wgyl2HRAPxX3De3A2yjtvavKobRdIgQuPCw1sha7+pP9laErom5trr1sppf\ndjbtiT7fct0giULn06lhrw72UxNA6+P/udRS87jGcNEue+Ayq2wx4RYqci4N\ngByn\r\n=jlcm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","gitHead":"eeed1ddb02b9a6863b85ef8ec248251cf863dbc4","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"denisgrankin","email":"denis@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v12.14.0+x64 (linux)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"12.14.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"^2.499.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.1.5_1606853624092_0.5392733710664157","host":"s3://npm-registry-packages"}},"1.1.6":{"name":"@getjerry/aws-cloudfront","version":"1.1.6","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.1.6","maintainers":[{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"}],"dist":{"shasum":"182640a12e9abe9c6793cea1da0237245b734ae3","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.1.6.tgz","fileCount":33,"integrity":"sha512-sKNl97Wp5uS7gddfqKFrckt4JspApot8s6/T1C2fs+MpZBPSdmTOKnKi0izVn6R0nrPHL5A3DwL/4upDfnCnmw==","signatures":[{"sig":"MEQCIEMQLi4h1THAq+bwKvZCHe/Iq/c+B4yWhCVgpUFCoss2AiB8kUrsK6JfjY/AocKiLxNqAQvVxoluEvoyhMZJP+uXEg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129904,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf2cpeCRA9TVsSAnZWagAARFoP/RrPv6Rd0yoP3TaC5Tmq\nHNs2f9by1ggAo0odpfJ6HdB5T2FfYOuris8PW4//S2lpn1fE4FOjB7vxrd4l\nCyMs8K7R7w2e0r0UHpTlehKeA/AVmM9YsOYKLDR2xjkzi9Ya91qAva7vH+4I\np8ZOJs1z32a15e/R5+2EkzdG7iGuFMnHBdExizQyevKFYRvCnCKJ1fkSNO9b\nknVIEyleir/K96q1hWRXoFdmgs+MwjJohiFDADpwsZexx00ifQG2yrZnkjCQ\nm+W+gikRKBlu9Vi1Y5QuU3/pd11ocPrUA4GUUFqNGia2gUl7NEdOMEFywA7r\nYCMIdDMIdWaWiA9ERgoANpB7I/8xykJ81yU+WjKYb3R5JdmV8cD+o4GEfPzZ\nYte2lHuTJsRWI3PZjcmz4eDaySQXyvR6SQHGS0YFarpqbCO52tV/FlSvdIp/\n7I6Vili+io5UIQli3R92o7I4brTw0YwBThWG34SkoiiWPYfY+FwciqdITRcI\nK4tc+zZKahZHagD8V21S3umeE2HVj8KjjIQ4u4fC+jOTnB/TTZPOkFJz65O9\nGw8U4KR02krSMOy1lZSIXB8KL4GU2EBAKF4BWXzQuYgTmwGKxvdSRy0RHIqJ\nvQNKh2kFQUJircWWMoDSc5GmODy6scc2s0Ki2Rh+nCTR2zqOJByk2578OOTl\nvpPE\r\n=qXD0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","gitHead":"cd26aa735fba3ab6c449270ae9aa072329929d50","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"denisgrankin","email":"denis@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v12.14.0+x64 (linux)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"12.14.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"^2.499.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.1.6_1608108638151_0.6209163286174049","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@getjerry/aws-cloudfront","version":"1.2.0","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.2.0","maintainers":[{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"}],"dist":{"shasum":"335f4c77ff635c96a83f78b0df31b7099f730994","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.2.0.tgz","fileCount":33,"integrity":"sha512-j+S1efrLNN7AtQWtqzWUfc6x3gNnibjHD9P4X7ELJ4ipimwC/NRJAXWNwQNuL+HCxYX0OxFbhVlDU4wWyl1BOA==","signatures":[{"sig":"MEYCIQDQCyv8hLVuO4AvNDh1+9bmwFjWCtyVTOZwI7etXfMEJgIhAIcm1T4vwz5ONKXnkMf6/ikOHi8rmFVXhwLtfCmtSNE6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129918,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf8zIACRA9TVsSAnZWagAAn74P/jBOrggydCyD3ef1/tFb\ntxT6VcJApNvRWgQeHa0wXNX1dTL/TTflliPgANAqncrhDfZNll+g2mQHRqG/\nHL18k5vhUjsz8RHhqFmhHUffWRfFiwgo4xSeL47anYfOHAdvghWiDVSOdlYX\ndeKhCwSMwtT+TFKCvruAyW+jW4EOk/NLhUhSYjsPNq3xY0G/YzHuuHpFgU7/\n/rTPO2Y7EfBv2RtZkdK/cCQkM8/oODH5DIdP83Gh3ChBIh/3x0LahChMsD7t\njoSI9dg0zjXpRwR2hN5Holezk57B8kEUW992bR9Gq/QbpL5EQLk+J6H5u5UU\ndH6xULflSE75fL8cnq8IAkGGQ/NmnYPeZrP2bdJMC4DoUe7hBk5dzxj9ypLu\nhPhc1XP2D94fNA/8PQl5m22QrpiHmA9nDMsJb2k0uLK3Nu2HToZc/9SoThbB\nZIPZNiPqdcBRqkkysjpRiMApmoHlXAwBjMfL9gA2zyL+OD9YGLmx9QKWfYQD\nhwEgFSl/aT5lDMARgZDAZrrMXBZbUsI4diwNT3Tzzyo6rnYqHlt//rsYgqwg\nE9Zsjfd8l8/XmNpbMjGo3Iz8FnWTCDwCNmEtsFDLebCZQ4tEWxnHeCnYlkIH\nsyFy2QqGlM8EGMWLEZMHieNPhbpSzsUYzv5K7PzJyLD0wkN2vNTRk5RSYeG6\nf7Z5\r\n=Nx67\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","gitHead":"72fe350fea6b7361b3bd63823861894a70410213","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"denisgrankin","email":"denis@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v12.14.0+x64 (linux)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"12.14.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"^2.499.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.2.0_1609773568142_0.3150625905194513","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"@getjerry/aws-cloudfront","version":"1.2.1","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.2.1","maintainers":[{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"}],"dist":{"shasum":"427a2dd38f151405ecc6249f17cca09bbe98e982","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.2.1.tgz","fileCount":33,"integrity":"sha512-ve05omh3sufky3FKPKKFPpmUDEMjhgZnUdLTrSWSevZxYy9B4mvZ6dWkNnG6Oqfqw7ZbqaRHMmAt/T/Xib+tIw==","signatures":[{"sig":"MEQCIGiChjLh/4R4nbZgRZUQTwNGhK4oQIiMq2ICKYCI59gwAiAhzg+ZudmPxWm00ESIBjUISSXL6UulkOiwaw4M/llYaA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129911,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9ddECRA9TVsSAnZWagAAlqIP/RvZktW/ITKJczHolaDI\nzdRWbfY7n48cNEq+x8DaqKYQ4+LxIUvTKpfq8MLmtNIIZTt/Kf3PIFxhMV3V\n6+Lq7my/8qvTWYrJhfBxi1YGKNeyrG0AjDUFAbU/PJWprUfWmZf/onMlo2hz\n7xu8RtEB5N7TkyrWw2yCsqfkFuPwn3pz6Bv3sG5wtJtVdYQ/72/zzm/O5/QW\nnZbg2zAR2Ao13jLRMrhZzRsKM+tLMF5V7gK03XPTibSTFUJXukLlj3/7arl8\n4DAYQNK/eksNsvfiOj7kdI/CIbKz/Ookdfb0kcquXdvsqUgPVA6X3v3KyX0c\nJ8i0TLWlZyDMaELFGDRU373yjaodiZhv5ry9IGpzWMaGh/8oRepgLEMxv4Lk\n+RCysEh7zqEs3VfMhL//NrddlNpXyvHV+K8Rc5TvWOBE75nJH+7XFAZSJcI7\nKS3rYMKY69d28hFBTce1RhUQjCe6eFNFMh+JU7FsOA+dg/7/yYw+cJfvo+BV\nihTXKz/zFZ9jgojV5N6WwJYglVHbPuF2o3Ic7vNKdTa7CV8VbrejLm/z0tQ+\n/010ffNPIWzIf71aamwloWwPMtbwTJGmyEvJH6id8yJj/66RQ5i2QOknVjHf\n0c+7PAwq5O2pB0uU+efUkbwrvw7eYj9DIeGyYhVw5F5NaHzNL1XZhWbhZ258\nVzlu\r\n=KyzZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","gitHead":"1ba066dd6cf0092ae617daeb53c97a320fd9f5d5","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"denisgrankin","email":"denis@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v12.14.0+x64 (linux)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"12.14.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"^2.499.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.2.1_1609946948277_0.04226528383267114","host":"s3://npm-registry-packages"}},"1.2.3":{"name":"@getjerry/aws-cloudfront","version":"1.2.3","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.2.3","maintainers":[{"name":"xiazhen","email":"zhen@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"}],"dist":{"shasum":"bb2e060c36955fa996cee7c74553ed74e2fc438f","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.2.3.tgz","fileCount":33,"integrity":"sha512-0zqUS3IgJof6upyB4Aqy3tQbc/b5ZUx6d8pTmXRAi1xMYEsy8v+vfAzAnfdXbhuP/afGV54R8OBWpQDO2TiDsg==","signatures":[{"sig":"MEYCIQDLpbNruS+DRC3eBw/YUBaaDgLXAod++aoA0AaCM5f1uwIhAL1mS8Gz7XcVoUvOnsIwphjctPP+dxtVCwkQMr79Q3wz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123314,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdT1hCRA9TVsSAnZWagAArroP/i47oM+FyDpb6d+QyiFz\n6EfESogvDbn1D0Hk8LaJs+kOCPIgYG++E2+BWqd3g21qOpG9U6IM6RnWcQve\nDInCVuordL3X/tJVRo/C+LIucYG3rp4kdWSITHW/JtyYPjEm9Zcq8BTTUbIl\nJtPlQ6ixQ0msS12EJYaAFkJrrx9+wlyzFxzyPF2arwt87lFj/kKBdIPK0BT9\ntSoTGw1r2+i6oS/OigAllURXumGW1e3Da7ecNYH5CyGeDNtTan9QCpBEasEJ\nHd8jbXQPRaSWcUbNTmXiJblfjVBStV4ZcfQ3pSmrPDf2/bV/TCnHwcu2kRUP\n/TdLwKfcSUIw9bHGxPawfheTE3a2yY6rUjMrk/AgAJ/dE3XLQ4eGU+IDplfe\nhn3D1yGzHTy4Lpo7wI2ndmO/MHjz9JiNkfXMAZSVUboX9a4ZpBI0uG4aGUUr\nLh9+Aa4cwjD3F4n9BxwUWyDTO4IdvpN9yQHCb8AjUxydvV8po8nbmeVnihxB\nvkf+jon+4ubiGI1tT4OPJHNrkYuNoA0lZ3ThjZEN9qn3ZVICUfK4AqX/8XLL\nmqSTU1Tomk9+H6HdV8D4/gVsJsqka+gop6yYaDBmNL8ikC/oJWNBU0NRe+/T\nNaJZIAYn2f3LosKPg/eKXHAw3zysp75fq7qV/Sn7oMEOOPczQ9P7tgLjh4GE\n7bkw\r\n=o4BK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","gitHead":"68a4d608780216a9ec7162006faf773522f5c6c7","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"xiazhen","email":"zhen@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"12.19.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"^2.499.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.2.3_1618296160781_0.07527718471731415","host":"s3://npm-registry-packages"}},"1.2.4":{"name":"@getjerry/aws-cloudfront","version":"1.2.4","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.2.4","maintainers":[{"name":"xiazhen","email":"zhen@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"}],"dist":{"shasum":"82c48748bf99db0f57e6c27b5d32e914c3e136a0","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.2.4.tgz","fileCount":33,"integrity":"sha512-wbevutgHbqfT6046t5QgHu4LnSDY+Pb5UKFIHqZdMYCAwkFeLUSrCoPjcsuVSs+fTSARbBnmjhcfq4N8u72waA==","signatures":[{"sig":"MEUCIQCzeQDRYzyW8wXpNy9gwgH3pF7YQ0zC8KkecnPRzbK/cAIgPmuShDD7SSL7aSsII95AMkUmLhGWTPvrPRGheUK9OHc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":123614,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdUxsCRA9TVsSAnZWagAA4+0P/3bg5pillgsJ7QlzMRbZ\nLOil7W24V5R1HwhS3oxmvwwCsp+ZDPFztl/hUMgjN9oR+v6l7H49AHZbAu4Q\n4p8PGe2lO6LJv+GwFlQnRJqRoaxRmBDJIkxWZqrPb9tKPWMb3o2k+0n4FtXm\n/G3pnGCdBox59LWCjVQtqSP0ko8px1tq4GIoalh+ptsiznA4mPUn9O9KxUaq\nN+Z3/7HZKsD6dLCH9X0i4oID5Yi1p8cAePYZdi3N+ei4e3/2in3jAARSYHvd\njjMGY9mFkqPk/q289Us7DdzMWqEVyzKp5fG6qlqMHzTLgBGGX//+3zn+z6Ff\nQ3F9GSznai1e0PWqONXH7EfLfRdMAvb1WqlBij8m7Znp5AG6sCzKL/afzXcb\nxEIurwUyIvbr1KapocNGOMDFugYB2ETHRtc0hhobb/C0zA+usBtBdPffJ4GQ\nwpJ5DbgviaQA5pPmegLSPijFL208aredr22eCnDx6LBm+RUgdMZ2VPYBTE8N\nfETs0BWwCLUlSCCAYJgclDUBNgrRz6GSyk9pGvSDkZ6BNXjmtvM7xAcG/IZm\nUNz3Z6V4+1c9GzZJwAiJm1duDlUH+zW4b6HjTNx7FARQLQIGwAPN4VfAO1kM\n2Abkg3ScygSeqf7bJdEeYNFhDiGHoYn9UusDvvs8isA6IvvbtoP5dx7CGQGJ\nA8EF\r\n=evlE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","gitHead":"c06158e122bcfaf34a62df10db39e70d2f4b9064","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"xiazhen","email":"zhen@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"12.19.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"^2.499.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.2.4_1618300012533_0.6766939593648826","host":"s3://npm-registry-packages"}},"1.2.5-alpha.5":{"name":"@getjerry/aws-cloudfront","version":"1.2.5-alpha.5","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.2.5-alpha.5","maintainers":[{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"8b5b0f7749a80c55dd53ae4c2505c4680367dfd5","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.2.5-alpha.5.tgz","fileCount":33,"integrity":"sha512-70EJF2efqaYmgw6o5JurtkSut3cVoGsx9+phQfAHYyOfbk6aORanpEODAzm0tk1GTGb2dysr3owEH5SWiYxfzA==","signatures":[{"sig":"MEYCIQCxeVhUa9tXCS9IjSJTrGM6lrJRreGYfr3p3yCr5je+LgIhAO/k8yTsDJGQdkqhHHy93dUYROY9MqcLh8PJYKHY5apt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125681},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"b0483454b0d10560d873c6af3b3480cefaafe809","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"12.19.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"^2.499.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.2.5-alpha.5_1633404150091_0.5431205246544022","host":"s3://npm-registry-packages"}},"1.2.31":{"name":"@getjerry/aws-cloudfront","version":"1.2.31","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.2.31","maintainers":[{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"cd94badea9b6f2099d9369f3a67dabfdd44ab7b8","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.2.31.tgz","fileCount":33,"integrity":"sha512-BRhGS6E4sUJuW5cf9LWsk7uRtlOV6m3+zx1xdKIoTnl1r/xb32I9JDxSDFGN9E0wixoGNrhSacKqLhciIeHqhg==","signatures":[{"sig":"MEUCIGonsX5ImnBVadKLIlGgoMEUzfYzAWhTT2+msocGGvlvAiEAnmPHSr6j+jySH9+XRAZ8xtI+tcmmymw6pC786hOnNwQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125058},"main":"./serverless.js","gitHead":"482cd51f39d0b63aa6890096b1e124036802082d","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"xiazhen","email":"zhen@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"12.19.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"^2.499.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.2.31_1635503126157_0.9010039557738283","host":"s3://npm-registry-packages"}},"1.2.33":{"name":"@getjerry/aws-cloudfront","version":"1.2.33","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.2.33","maintainers":[{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"e8192fd9e49d84a8cd5a30499d47b4490f86230a","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.2.33.tgz","fileCount":33,"integrity":"sha512-5QUsGwoRt4CeejG94heAwi9d+hBI2JuqPwKSRsl88DxpNyv0PDUF2ZwhXwrExhQr24RkI/IR4crD5kN1wWlAzg==","signatures":[{"sig":"MEUCIBLX/Dn6qA7YM4U3t9GG/5Lc9Q7b7Gh4ql0mn9tvtYPzAiEAmcSRABg2s14bmwMCtfbdYl607ky/Of+rTkY4DO4TM2I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125510,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1/oNCRA9TVsSAnZWagAASj8P/0POJmAQU9ng3MCEOmfr\n5HxiNfq7w0HFn83e8i9NQp8UR7zhw1Ff4j1IvDYOUqrKS45bztEbioE/vOlD\nEcLbmgaW36+vESkUbQpy91fFOEXzfPyFsz8XW5T6VHKXWuafrZ1Wcr1WDs0/\n15eDB7U4IN0RXUbh3kQeuHbAsF826M/uXuzYNU/vprwCn0Bz0mUNqRZm0pyY\ne+qPQrwiUBhGpF3OwwyE5Mk5UeCHJbcvcWiO5ACkCCW8v2EJtNrxNL6EnlOl\n9nHGTN4njuUSlnJUCp4d5EIp+xOEVfqL+ddGyAjcGJg2nCCpcdxga1KbbMvf\npDv3S0ZYhhawvBeQJ1hdB9B03hCLrPyNs/tXR9boJKhd9wVGrytS+Eeekils\nXvGvLYMGdYti/Ta5mZWk7DqEGYguOV5hEN7eQbggkvO3CshE5rjLGFqZ/hwT\ndNmO5E0tkNkAx7i02zaXf6rQMs0P6f1bz9zqzFi11zsqD63CDxzxDbk4Puvz\nccCrcRV0FhfPQPSfoJr33XYnxyHdgJzEK/F1ozHmqmS/KOtCbw4roTvfvJtg\nz2Mzn9C7a0r4oXUfSgRzA7la6t/vMoRVmzCVM3PzTrlZW8AJgKitckXo/yDu\nfmgAQizstP5/t6xraMcvOrdzCgZzvOrCjVhMVIUxiG1qLgW+Yy2ey6k1MdDi\nak+X\r\n=RWMB\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","gitHead":"1724726817463b2ed0a09ddbdc0914f6a91aca4a","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"zhangciwu","email":"zhangciwu@gmail.com"},"_npmVersion":"lerna/3.22.1/node@v12.22.7+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"12.22.7","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"^2.499.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.2.33_1641544205593_0.13796409856918812","host":"s3://npm-registry-packages"}},"1.2.34":{"name":"@getjerry/aws-cloudfront","version":"1.2.34","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.2.34","maintainers":[{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"272bff49f56b9f559bfc303facaea1e9fc25b7d0","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.2.34.tgz","fileCount":33,"integrity":"sha512-dCP1q3JLyA4Xpf9oz/vKSpg1QDJjk8YJho5AEHR6SoKuc/rj+9m9RcSmnicL7x1fbxjM+q8rSGc1ZGAATwdz4Q==","signatures":[{"sig":"MEUCIQDzT9WLs9YWivDQCs2uvIP5vAZpRhb3J2nusAlmdAlo6gIgYTd5ZCD7d0ZS5v7VyEbVTdD/HnEKZjtoGHws26Gvi08=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125510,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1/v3CRA9TVsSAnZWagAAJNEQAJ3vThLaqC7XrNtJu+BJ\ne3UFr6HjSB1OH0tpTXSZirm82nrPVBmQ+O2T+K/g9vlnhYKBLtCFPMJwhmRL\nKytvax4tipnf8qbOo7YSoMpTdWQoIY87f5XEpPMdTl4tZgMCtYQRI95eqgX2\nW+/9yFT4rHlZdBDyzkZX+KBPT3ufKgTcFAVM7kD/n1obSUIEEV+MbCu3/Upq\njrsw992fcAKW5DYhH1SrgtxuUxQwynjoYE19F7pi2j7QxCIGBNEi03prt1+G\ntu4Kn+LtKDCuB5N3yFafOF8GWQdNnl2DQTaOL1ieYR5wDB7T1z9jxeJKCz4R\nYNK/2txOA5yvs32tV3b5QVJbf/SLdhxIwP5rOzJZGPmt1tODpLWlyengeWNx\nkZKdR189RWk2cTfgGfIPgRFo+sgS4CWBWxROMgCtc8Iz12i/8cDWPgruVZzF\n/Y7Y1AXtqU51QELBkVpqkDL1uL7h6gAr2m8odHHNiWew26WGYkTrRNJ1oJjD\nK9D13ThRf4Xmoncihbk/Gvc2yfz0H/0OW+vSiD90J8hJ1PCJFxiu/SWG3OMe\nblDUwX1lXozus7vZsV7cV+M5q7zNB2DZkztife2npgi8tcegEXnRa35GvanI\nyL527vi5WSaEiHa0pCrhxyGhSGlESlrdNfL80JJYFw6jpD446JZxFgRzQa4M\nqhbs\r\n=Uy9L\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","gitHead":"061b788712a7416add761fb82daed30beec11548","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"xiazhen","email":"zhen@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"12.19.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"^2.499.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.2.34_1641544694884_0.5679609695632362","host":"s3://npm-registry-packages"}},"1.2.35":{"name":"@getjerry/aws-cloudfront","version":"1.2.35","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.2.35","maintainers":[{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"f7afc2cde6c789f408128a01149c764603c54913","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.2.35.tgz","fileCount":33,"integrity":"sha512-FdkY1UrYMOz4x4SHdwbcgYu7Bw0IivI1SjhgQcsm7HYTmvDlHX2srQjWjsMy03tIn9Xm1JBmRE8MSr8Int7cOQ==","signatures":[{"sig":"MEQCICj4D0/TZxxbBQxt1bnblMgMolqwDORbI0Uv5o3IW5+RAiBnMXn6dF5uJtkKBUtIVySCBYK3fd5cU3crlWsLiP7ZGQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125510,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1/4CCRA9TVsSAnZWagAAxzAP/0yWdl9NlD0qGMf5BFzp\n77vhLr8h73zYfi8tOMs8RQVMSy/wSTHkt8nBjNus0AN5ZabhS9jwO3EwFF7+\njPTtvfBwvf/31hmF/z1TUhUNcjH1egxLcrqoTUekxQMaEPwsiIXvtP+g2uoL\n1tW0CaEPLBVUcwLf1fqdTGpQUvWtqSu8tPSts2LSUWq2GYpgn7v673L7AFrv\ncYRV5Peoz50BUwDabYEa02hP+BsZ6ra1EZUtuyBTF69VoLT23AnCNdfqz3Xa\nuoUcd/QnxWjP5lrzTmXwQHTFb9FhvLEhK67cU1A/0klUHMhghhXZGooJ8v++\n8CDd8GRIHllY88HnfssC4vwfqFGDbKbAt42UTNsXZ0rOGf2ut9BdZZkhmWoe\n5UPGF+MBLO6fA03JpSadzkbvguwyBpPD89+dc0vIRVc7e/nlujHve65SHBdN\nxTGXI9C0yYptfo+ppCFGUkDgibO7txkr5kXEtOW8q5JfZJURJhtA5suGmdio\n1Gpjk/s5zSAPTY+RrW0DEBEAvxMYgjJ0BsS63h9GWQn+3xW21xw/pSY7Aeg+\nMkklMukUdtlInFaspqUtYeHXOamSSS98PmfETXBUNFHVCep3caaMC/5xnnFA\nSj7MfYDiemgwXdNPOeq3lzhiVN3kHqfdfWKD+Rc21cWkj6tEVaTT7siQmewg\n2HR5\r\n=SGMT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","gitHead":"05d2e8f5cd9652017a53a89cac2ab1572f284ff9","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"xiazhen","email":"zhen@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"12.19.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"^2.499.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.2.35_1641545217860_0.8998537795275894","host":"s3://npm-registry-packages"}},"1.2.36":{"name":"@getjerry/aws-cloudfront","version":"1.2.36","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.2.36","maintainers":[{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"799d344871e59f4faa015032f1781c4b1e9e0324","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.2.36.tgz","fileCount":33,"integrity":"sha512-zawDZsXAeTGEMK+qH1GPdXFw9SMWSAVNdPQroMXMKQGrThohkOWVSaWISlX+UO+yXNXcEjsevUGQpRsS3q60VA==","signatures":[{"sig":"MEUCIHoW/9SVqIzqUZq0nWqINdfYEBuRvdmWTUPOCs9XL6TKAiEAu/2mCZbhgkML/uS0h4sv01pp32oejSg3I873hnJMxF4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125510,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh1/9XCRA9TVsSAnZWagAAbuMP/ijUvqZiDubk/1owEw8e\nuMxqraN7Ut5+Sv8Sbr1MVdKt5uTxCFcpiPOxNmjfjAlGJRsI66IXB7N6h1gD\npKDYGBXNkt9p9dUvuLvLrMQ83GDkq8IGswVtJmFygIeqMzWNQ6iOm6O8Piba\nN1q5yufRXV//BozmXtdgYET4BRBmy29cydw1b+nSPvvvJRtAEQeByw/anZxr\nQI2HoM5wG0KEiqtHu/McjwsSZQffZeEWyy0fy34g9jemXKhD21ry5VX67ZNr\nIej6ISdZZkFVmIgRUwjk1nFiWFhvPTrScYclnFjCbmumc5kNa/7qkMJJR25S\nDMFhjszcxK4HUvarOcRShQM/nZie1NQT9TDpFQvAn4WYToJSgRPc0zy3myHU\nqsPon4nzq0bUQOWV5PcLKQLnDKH1AB08MVUKMEGze6AA+va7in7zIDKGDgBE\nVr+9jLt1mbuYGgNDsKOVDUtCzUaXYiaWp8KReBqKnwLhxJwHmgYidH5Foz9T\nQC+P/IaWQD0Af+uOuMwoqu8DCHFm54EX0e31N6VSjdMSRo/3fxzjpJ1m4hzK\nnCx3wtwJckB7UNNIjm3bbgEHn6yInAsMurQaLmABeppV62uzVgWaP84jWeiG\nWIgtLIuOB3A6tEwmHh1rrWUGw++Se43lBaHqvqvs9BGROmm0tVWDeKhFO1On\nhDK8\r\n=zGMX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","gitHead":"de4b123217ce9e7dec7325946d10d5b4d0becbf0","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"zhangciwu","email":"zhangciwu@gmail.com"},"_npmVersion":"lerna/3.22.1/node@v12.22.7+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"12.22.7","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"^2.499.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.2.36_1641545559715_0.7392425746228457","host":"s3://npm-registry-packages"}},"1.2.37":{"name":"@getjerry/aws-cloudfront","version":"1.2.37","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.2.37","maintainers":[{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"5f7cd4034c15f67de6f44d2d5cd7bc9c9fb0a5c2","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.2.37.tgz","fileCount":33,"integrity":"sha512-A4S6/yaqi7jqE2gk6jp8UwUuRM1XImyjMWVHx1bcAEfZ6+RbpxAlgyEaqfRAPKmZyAiww9m1Xy9zxXyA9msPRQ==","signatures":[{"sig":"MEYCIQDnWQT2GvE3vFDCEahoweVA7ii1Ve3FGEptUy2B7CcHaAIhALAm7YheiBGVpUlahgKQRM+rQrGtUhwt9T7SYhBHUJ+6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125510,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2AkPCRA9TVsSAnZWagAAEXYP+wRXMxTMhW4oNxBCWnHH\nhPvym6/fU3fLIEUTGJjcmYwdhJGWuE+GAri7SP8MpZu/6lrmggl2Crusjy4N\nSjB/mXrm/RNBFuXXNc1EH0iZmbI06y4tW+yEFOQ4iuXog/pvLc94LIyNb+kb\nuARUTCBaTb+BE9JDkAo3vLoCz1Uddn886+NGDqm7HUOxqLC5OTxmU5ykMcQ2\ngKrrnVHppp/oyGVgPlQrAEirY4bAMaXsbenOuA6deLYgqx6GjAY27IRO9CZP\nHFxISRdyG/TJcX609yDRvtN5FPoIVAHWLAaDbKfDwwjP0GgYC28kbLGNmW8L\n7oooIj2ZSi5i+pgiFMaiEvgDx4lejZ+uNTg3WmQPjBpyW5qC5yTAdED5yVz0\n1y1qWQWB97di8wYSHrX/Vi7SemelbsnoB+Qy18Dn3MeQflVj0b++1D0ATbMC\nTawTN6Anp9uxStRS7vYMttzitWKxGaneFIoe0n6x4P8drVigeJhYk4CYfFKZ\nJOsACmArJPFleqPyuC1H9QvcXxY7BWwBO0s+iI5M0I1kgqE4e5mYXRqeLE//\nBZH4a9+RiQymGLIBaV6NGhVfjCpONtJAqgMBCOgDhSL06HiBnuVfiJamZAtM\noq0G2PRUeBIw6ZMXfJdPF51pLxAqkalzCs5FikomwgKCh5j+BIMWSPq7W5xu\nNOgz\r\n=qp3F\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","gitHead":"ff6891ab42e8df4add318d6c67af062c15b067cd","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"xiazhen","email":"zhen@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"12.19.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"^2.499.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.2.37_1641548047622_0.41649817853028104","host":"s3://npm-registry-packages"}},"1.2.38":{"name":"@getjerry/aws-cloudfront","version":"1.2.38","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.2.38","maintainers":[{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"873e44e81ae2a9d2070a17286d93d18fa4463b92","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.2.38.tgz","fileCount":33,"integrity":"sha512-bis8cPHEKZap5rIJjF8gth522hHYnW7LMJEr8KH+g9ePXIX/KkUiiNHKq0ytWVhOy2fy60akgCoNl+Vc73DhSA==","signatures":[{"sig":"MEUCIBUK9x10WS+Tx3Ac/lcxNjwBq6SrFu7Z8rDa5tBpjZt+AiEA7p1+Hgt0cjNg8BPtnyP4kSy/WFaBspXaA3MlmgqkvfQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125510,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2AqvCRA9TVsSAnZWagAAHUIP/1Bqs7uhOWygxKBYwQJo\nJmBQkFmcsqTG1i0nSmnsV34Cgnj/svDmW4F1sNs7DLDyh4ijoJoqXtUYBFnu\nAzRA2GB5qYX5hOu4PRpdJ4ws68yqdQEuWsy0D86HcaENiVGOnWZs9bVraxWT\nJoVG2EBZg8eZnA7nnOOG65ouwhOJp9RLULom1vvcY8oMEfBcfYRCePbtzNMs\ngjPo5IEx1Q06zC4eC+ovlYjg6a1804AimHonlqApPoMA7u/1IaDyc3aQZMDM\nAs0SfLlj4oXqtYjBqOLHOQWzUQ96wiFNdLeht4k4fTxX/MBFdd9Mph/PCIYx\nNZ/Dzq7L9mkmCfkMTetuaekJ7gGTkIJeaaDCWxZxbR8KvWDfYDsSC6Mjnppx\n8Mi0UsCQnPcCWRijflqOpcG8HcGAM9yRRrJXR/7Ay682YaC/Jbo5qMKOd6ex\nnHYP0tSdmlPXMtRS2n8cZ45NtLF8FVrVl64i/stOCDwPHd/9i0J4HzdQD4zX\n5FFKvIKtW016WytmHcf9aQ5XhVriSllAECgInCH534em6MvOlFFSlOXqmTgV\nvD2end/8fUr2gW5tXBjlhjZ+aLB4fqnpbz1wVVhqwYeVluD2Cbb3cC0gkXAA\ndJNQJXAhpZF1hUH+eEQYS3XxEoUjEg25Y0p+BXKVxP/NyGsmZ0GKPdHZiuxi\ndU54\r\n=u+Hg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","gitHead":"e03c9d331e9bcbbb30cedcbbdbcbd3cccc2a1b7a","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"xiazhen","email":"zhen@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"12.19.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"^2.499.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.2.38_1641548463436_0.1381521510494783","host":"s3://npm-registry-packages"}},"1.2.39":{"name":"@getjerry/aws-cloudfront","version":"1.2.39","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.2.39","maintainers":[{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"0693528c1b2d3e931a02bda2c036bb190acc18e9","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.2.39.tgz","fileCount":33,"integrity":"sha512-LYgn9pEgwMw3Asxj2E1T7owzVjY2YUZCNYrkxRxM9W2XLQq3iLMqH0mo9gbSw8lxC1s9oWZhSVQRo7q8svM1SQ==","signatures":[{"sig":"MEQCIFaUGg1WueQ7n/rgIC/6L8rJTwm7RnPinJrpCW2Q1ZbfAiBq1rvTQPE/k0zkzwn3oI+yd0dLQCpUQ91akeps8juUrg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125510,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2BEyCRA9TVsSAnZWagAA9vQP/ik2oMk8nd1oRmk5n9Ub\nk/slSAU75ERCq9KSPWci4/ShSoq3BMm8axLsil/K2DeOzu20wl9EeSO2ER+h\npJwxZZkcbWS4yJJAyO4tHnWVihxOaaw5zPXXwNRnzSng9/FQtWXjdu8Yie5Z\nt/F7Jo9butymHOckA1aaoq1MBjim0cW6YUSCGtolpkVO5EQTULMicEKycPWC\nerlEjh2HRkjpGkZIHc7qOcXbZrj5rFfsIh2WbKhDXY00iPmPwIdoqidMFEuR\neJ4uI+0WHZkuTcMmUqnkY+vcYQYSNIFFSot3faH6l5hbEEtdHOhO08VrpukQ\n6d+UdHPZzOhTV29kbo8wgZUZSQ9EMJAEVMXC99pGUlpJgJPoXngi1bTjy3VL\n7dOUK1i5HYMR4HtZ3boBCRipwb6n+pDNwVOxOMK17TqHfVG3/04O98/nYfgM\n/4FW/83Vv6O4NsK+tSetqs3v5KbJoUwKsyL9M9VV1tkIkZxjUlIHfubwmxzy\nqC05MjdrGG34KJ+7CJy+ZBi9mTMf8ynEc/xSyRPf5E8ItGnCD2WqKkyAf+a9\nu7vPTU8k1vTugcAyAhNC9byYtrvBtv2VYPWwirAfSfEFiI3Bn4SAtjP9D6ZC\n/XCmLOmOj+AFbiXoJIDhICQedlY9EBTyLo9DWdHDmyiUc9wkTWIhUrXjcDdR\nGZ32\r\n=8a0l\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","gitHead":"85af5ad4a3c8298c22fdd139628c32b9ae58842f","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"xiazhen","email":"zhen@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"12.19.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"^2.499.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.2.39_1641550129993_0.4616534670551622","host":"s3://npm-registry-packages"}},"1.2.40":{"name":"@getjerry/aws-cloudfront","version":"1.2.40","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.2.40","maintainers":[{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"382b825e41d152ca61a0e2d98a37a052acfa6e34","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.2.40.tgz","fileCount":33,"integrity":"sha512-LEfQAruYLdUas5rp5r+6GrEvauvY6eFc0ebPp6HCnjENcRA5pn99w6rroMJVyF3JzkfIOHl37bm9MjEBKbcoxQ==","signatures":[{"sig":"MEYCIQCwF8fTz+oGjcFaM0KqCKCGdPg25+l6NWS9Sx2j71vuQwIhAIPdJYI4nHv+xzVcyYGKmLBDUYAczYOe30GfSpWhBAIh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125510,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2FlICRA9TVsSAnZWagAAdR4QAJXouKT5Ss4/jznZ8K7u\nEEkuy2M5QYrKY9M3SAWB26NXzgZCNQqQHaROxshsZf/KPVnET9gMd4Ei623B\n44SkXLZNmmMb32bmIyb+X/sCBgBOnI73AmsFAvBKpEoiCHUkRWHx7Z0fo06Q\neFBZ9+jaZte5B3sKZ79uNER/YCAgvYOCbNd1tQ/HP0P65g+/UhB0DukH4n93\nmxy14ISLt/4LZnDdNtBVdcLu9DK+JZ3sqFyb0tdBBFbOEFu421oLcVWc5uve\n84/09VpNdP0NU1Fu1fe2NKdnY1RF8WyIYnWjv9any7qJu6Eaij91Z+jPSvhy\nillm2dPLywqtFXy3goO3lV0x2MZOK7piIKpbR5ZjWs9tJczQKL9aELuSHIXH\nj6457FXxv6ti6mjAbRG2LKztQFepj3RloPBsJrlhMrZijbgOULr+R1wjDfc2\n5A1VHWYVwhX+Xai0yBpIompPO2b/Pv3BPhUxQBusDVdSyM6bF02Tr1U7QMxk\n6205Zzlo59MsgR+djCu8QdtniVvoyvUIPR12qdIw+SkOXqjZer2V1aYa3i8L\nutKZLSOTypI4NaVkITSKZfmQAAEVt2kc3iEbFLEOm5Lv3tvXYIxCJ6d7zfJs\nxSV+ZT9yhtOWUHoXqDUnTMVG+cp+4amFyiVeevVeCBhiBmj0nj5Fci6VkbJe\nQOyi\r\n=aXjM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","gitHead":"4b2700feacf250aab938e1c8bda7c4ea4be07d0e","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"xiazhen","email":"zhen@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"12.19.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"^2.499.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.2.40_1641568584136_0.22515911591829973","host":"s3://npm-registry-packages"}},"1.2.41":{"name":"@getjerry/aws-cloudfront","version":"1.2.41","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.2.41","maintainers":[{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"79a624c8965e650bcc6b1e03a2cf404dcaeff0d3","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.2.41.tgz","fileCount":33,"integrity":"sha512-Ho/cwAqFcvIDPLP9Vja4GyJSLUpxYyYqlNTzLpkXKtYClxPCc2FVv0JnQ+RWlrfLzov5y8xLzhSQ++ncLuLE2w==","signatures":[{"sig":"MEYCIQDkbjQwzmC754ds4si3+5S3HYDOqXqvn4xUiqoGuzVexAIhAKn3qU/L/63DKmdmE0Ip4LvHE7O9oiVdfga/3KnWR+vL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125510,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2FwfCRA9TVsSAnZWagAA6OgP/RjAd83bwWFZMtUdhgy/\nXxu7MMmPxbUUaz5e50dWS2gsQ44JLIfzDoXtrHTWT6WCI+pAYGIH5SyN+3Rd\n3hjf8DihizY6/xKD2sUBVqOOV1SmPN73YDRwbPEw2Hf6tMI1F4MImBaIdym4\nCgAWnVt3Pyuymm/NFcb/Dhz7HOJtkUNIKzAmoBIrYcPOk0TNdXjd6fYYa69V\n06+lWB/Nmud+mfqtTLBSYpEv12emiU4cMqLetG5idxYkPur8SlSBeGR/C95t\neY4ULuEFV5BSzAXQR0EK1W5qNT2fRBzgtgEc17bn5kwhGgm9iRWmSVvMqIpW\nH+0VoMjC2n1Mr2t3BNbUyrAeayxKvGu0Zt5dqYYusrhnPR5T3JelFwJ0SdVd\nAQ8dKSBBUbm/QyNjQPdpvjr9K3d7CYCUcLog+V8PIOZFfJB/rWY7ZeO4O4yc\n6hymLNxRKn7QyfqrJS9sQ1ECRFmE1e5FoLnLFywKK4ri+8Gl0rNmopcVMyNt\nkRX/IMnYlwjHb0DPAyUSr311db+chlp3eNzsNEJ+ZfKWgF9eUnyxD8/B1JZO\nhHBhqJ5/sUUTBWmxbq0PW50ntzd8Cauv8EcclUqmuC3jfi6As/68P0t/01Uq\nh/weh856ceff6Gq73wsxpKZpZJ3Dy1hyr0HX2S/s8P/b7MiJ6/0VWxtFgAa+\nfuMS\r\n=wXc5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","gitHead":"e733a33646794e29e2c409add702e0eba73fee7d","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"xiazhen","email":"zhen@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v12.19.0+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"12.19.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"^2.499.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.2.41_1641569311289_0.7523875093647787","host":"s3://npm-registry-packages"}},"1.2.43":{"name":"@getjerry/aws-cloudfront","version":"1.2.43","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.2.43","maintainers":[{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"8cbfe87009662ce72e5754a623639869c8a69cd5","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.2.43.tgz","fileCount":33,"integrity":"sha512-KkD/CCmS+pGWQvIcSWTHifpviG7hl3wU42iObzlBHZ0mjNuCnfO8NJan7wneb+7Ysh12IgfOqnMpfHwUYw80eQ==","signatures":[{"sig":"MEUCIH55HfIG2QkqIzqVhXUrIA5AX7aPdjHHIU4+8kHvVLPAAiEA+fQDyDK6bVd2IAyByamXA2zrdt/9/ki+PQ9o1bebtIg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125485,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi8wszACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp9xxAAmd0e/KNmwfSr7oXV09IHMKgzJFXH2glJhxK4VUE74WZFxAXl\r\nYtgMfwhRGefVHX5u6FYhMCHAcys00ki4JHy5CNP8xJZwjZg9Y7+2hBy+/sWT\r\nf6rRxU2rqUNMlQd8t4ybRR8KvI0xK1hLHJ0JG0WWTFcZ8GYBFoLQxyDoLYlw\r\nb7y93hGmEh0U4CKmMHn4/a+Bhx/7kuQ+ET2SkG5tZyRYPlq3+n15bnPthtsZ\r\nWbrK0g01cc+Lg+ES1d51hc5jIpcJfnXVHZr9W9ebnGuU8MOyRENSRxoMIXAa\r\nMEZrtS8OUhg5+a/3NFFoBUktW4+16xKSiKcrpvAu6RbWTbTyXjV0b6NA6GW6\r\nGgFj6I6Dp88NrSwe/TwoZQQJJC7PUle9iE4Wlsy3s1ZnTbbVSdGAmDhDezz/\r\nCo2I64CEwMQZYSaLeZP8vnAvfqn9Wv6+HZnZv2Zbuaj8JdpGD2+IXbhucn25\r\n7Q3kW2N2lSkWqKv8J9rIE2XiGL96K6XIyxJ3tzPNhEwMOmoYETLP45rC/Z3p\r\nx33nU9b1oQ+8lHqAnM+rmMA9KrxoLPj4NQ3nTi9VmmXvW8kgvvzehaeWrmv9\r\ntcla+rsZBx/rOE9BA90bKJ+wWTGtib6uxgmx10sHPAwkGqRexYYK9mLTtuVr\r\ni6C1Gjw95PFCSZs7ZmVbMUM+rxmz2J9odRQ=\r\n=NzD6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","gitHead":"1a536c36b3110d0ee3a5e0b34bb9b825ed5eb3e0","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"xiazhen","email":"zhen@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v16.16.0+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"16.16.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"^2.499.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.2.43_1660095283708_0.657124066168133","host":"s3://npm-registry-packages"}},"1.2.44-alpha.0":{"name":"@getjerry/aws-cloudfront","version":"1.2.44-alpha.0","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.2.44-alpha.0","maintainers":[{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"faab62943539a867dbe2b23aec77d03aa67a3a87","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.2.44-alpha.0.tgz","fileCount":34,"integrity":"sha512-IhHwvOpuBudSMJmfQP7c3RsgDKn0ppu8lTn6hTGsjZDMbm6cVklWKHrNng3DDPba9teevSbjt6cDEpzr5Y3DCw==","signatures":[{"sig":"MEUCIQDhn+lUDpn69LCPTU3vkJj74Y+MwzGVsW9ExbQ1PI10MgIgf78wDfyyrdvfJbaUhWyRESbamSsoedRPzCBVkz2j8Y8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":302338,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi+t49ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqbng/+OqAouDZ4lgR9uTWz1CI32740+6ejhZilSetRmwrD+wmAErkz\r\nuDqTAkka1qwIepmhsQvdGJuMy8ioJd89kCfG1p+NUiAEP48+xGGf2KM2R8nx\r\nrMlUAGWaVFjngGAtNWDYVLviWlc+oGJDgEBryov7g9bz2Yl+bULM0MvrT60Z\r\njsvk2jACaw7jodP7GRqGLMg2Fpn4SUOXLxtrmhcJGMOcirFfgFLbhj4E+gkC\r\n1siWf3gdrnC+5FcKRSCCXSKQPWibesTJK0WmpHs0IKIZsupYi9goIF7tdMuy\r\nfjjGDqFN0S8PKHzpDMfM8LLxscPGHPPiW/t2QhORXm56pdaOSR+0gmc2galf\r\nc1WOIWLWh1Uv6juhCJOoa3iz5f2U6OeXVdctW6Ah1rJOZ3pmfeuYeaqUFoZl\r\nYRxgWPw6d9sto/Z+N5k3H4iYwQr5bbg/ZNkAyk/erZ5VXx1Perh15/SoSSZ/\r\nbebeSb/c8mR6I6vu7dV6aDFWZUiOph33jSeRcqrQ7/89pcWv1JSStm98wKpf\r\nCRcjbtkkxiVjLVY2f5MCcLVMqSvQPKFSsLOhX8k4IaYeZ6h396B0cVBMu6oY\r\n+W1eRPnbYL0XQ9Ty7dj3pEmkyFJeHECeD8dAB2WVzeSk924xFnxTosrkBJ0e\r\nGA3P0MYLne8MKYsdMSo09iJLCieevb8+CLc=\r\n=RTbv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"094d24b10b9e9b3dfb1fee142e76e935bea8f1f5","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"xahhy","email":"1014596312@qq.com"},"_npmVersion":"lerna/3.22.1/node@v16.16.0+x64 (linux)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"16.16.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.2.44-alpha.0_1660608061119_0.019181280785791177","host":"s3://npm-registry-packages"}},"1.2.46":{"name":"@getjerry/aws-cloudfront","version":"1.2.46","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.2.46","maintainers":[{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"c0ba773e3789f12d97e155d4264287c1bf0cedf6","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.2.46.tgz","fileCount":34,"integrity":"sha512-UhNFjwmmGYbaDC/sNSIHBRHxAXO4GpRD57NcVu5znFS7+g6p9s+XuFFamIey2ZBwqwEhX7fMiqBXzZy4WoxdXQ==","signatures":[{"sig":"MEUCIArWjGfLTm8hO+3wkwEcKyjSHgBGuiX9Z90TKopv+/JDAiEAjUo+VmDY8O2hKEYfVvcDY+JkhU4NXJy01gKQLaYsbG8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":302220,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi+uo8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpSUBAAj8puedvo7Y0GYordPYDU54d4dbqlgwNbsY+pjaP1HkTa6EFc\r\n/SZoMrBcqVgK6Jynw0u4HhxkdC+61ZvvHw66y2VESHU7wivnejS8jMDbqe3L\r\njdSV7UmSRtp8D9ovdYyTqAXi/1EA6EV6nGkZV6T3kFoC9AG0syT3va+6UqOj\r\n2r6aEcPA/96cKTCR6hixDdmJeoDlkW9IGJIbIFUeWEDOgLQ4ycapNBgfNh7T\r\nhHEl8MphMtNb3NRlXrNrXJQaG64VMBLNSGuEGnofHDFln0mePEfADZcMYEcS\r\nSqx27Kk7e0atlwum2T7Cz9Nha3aBtg0znQo6AoKbzvb+lzl7C/UGmgrRcYQ0\r\nHM53uQWokPPI067dnTA7o+K72YlX0kZAgw95eexYrLD2OaaM1RpSGrgwSr0Q\r\ntCojo8DYplXzdniHTp+voCFxRI7RAzPw6xISiRiVShTPeQ4Zzw8PSg85ls4n\r\n3GySEpO2EWNnl+3rSfmW+09zQle0/c9z5qqEEfGqYqX2TWlTyiz1LKYnUTtT\r\ngA+SiWAvlTy1eH2c0mZTkyV4xpGdRh/V8xrFzyF62zVwSyyx1i0pbBfHg8cG\r\n2ps7CUatnOdlV6iWFxHVLdr03pla8MpGI1H9K8yNr8F3Cm650LRizH7xEKkh\r\n2hLxIUg8R5bqH1qRtlP0oIZthBlA4r5wjSQ=\r\n=PN5J\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","gitHead":"d3751ec752bfe122b854e2200e72932c9d7585ee","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"xahhy","email":"1014596312@qq.com"},"_npmVersion":"lerna/3.22.1/node@v16.16.0+x64 (linux)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"16.16.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.2.46_1660611132596_0.4007285933377922","host":"s3://npm-registry-packages"}},"1.2.47-alpha.0":{"name":"@getjerry/aws-cloudfront","version":"1.2.47-alpha.0","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.2.47-alpha.0","maintainers":[{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"a3f1e00db977ca15c7fee67b5ca51504e523350f","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.2.47-alpha.0.tgz","fileCount":33,"integrity":"sha512-FxpCvtiG66suZWEmhj7fluXTcweazHOO8HzYI/sp/4vSpPolAhQQBioTWEub6nZSQvd4NQPMzheGacvToMoyxA==","signatures":[{"sig":"MEUCIH6baJhBSSTg1s2yoHOcSKqdl9UP/IjBR282Dm/PGqgIAiEA5MLBjvionKk0d8EBwric74dYoe1YcSeJD8LBM8LHiLk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125937,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi+3UiACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqjog//VriNtUEVndTS1Qz2GLCDMe+pgr1faJ7FxgbN+uBnBNxolE4y\r\n0c/sq7K8sz3YnskJ+trc9zQUNTMKQTss/3fFulI2k6Z4HY0vlkh9zS1PXNUg\r\ntkzAuDMNwCZxzmq0C0pKxuXR61j3J85Tw/onTviLvNuKFbhA2pWTYYaPHzkJ\r\nHyQ0PUJ++CL+7kxq3nK8KYwTkDBidmYcU/FjxI8w++zbBd1/p5pkKJFlo5SF\r\nSJHQf4XhnVYOOXGLyTGwOztZzTt45qeJRJxs96spAZtka9ErmzfoQhIYnCtL\r\nIM2pl2rnGwo8QqRkdP0cUs2lnTvKGsVmW4PzfiAnjLloXx/b2egTSEty3f4b\r\n1L5zFQ4O0elXq+s8gCXMFyS3PgRzrRHGFxFEsqji+7VWcLOn2V7Y++AJzJFw\r\nRJtaqRUicc7DfLoqH8kHaJGXGY1ufBxIuO0TP8V8wXXZ/W3S08E6jOtn5ic3\r\nrUTl3F6yfCJ9zqGLoIl0+ghT1go+IOWo+iBmMxsiz7RegrByPrYvVFSeMnnD\r\n70jxpi/VpmQNOzQZOHTn6eKsgRFvTVltt8UUMCAX+1ZIUVbq9Gj5v8f/XlzJ\r\nC5AJMkaybM81OShk6jlqjppnvgLFsgIYE4LfGXrVtK3d5o96QylwKlhnzLX9\r\nSEPgFKL84+1pjHpNufNYc3fc7Aloe4P6Azo=\r\n=G1+n\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"c2fdde8dac00d9f6dc47c1b36af054fb1dfd6e36","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v16.15.1+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"16.15.1","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.2.47-alpha.0_1660646690461_0.7285186374990569","host":"s3://npm-registry-packages"}},"1.2.47-alpha.1":{"name":"@getjerry/aws-cloudfront","version":"1.2.47-alpha.1","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.2.47-alpha.1","maintainers":[{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"65c36c85685c841cc16ecd41f25806cd44f0486a","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.2.47-alpha.1.tgz","fileCount":33,"integrity":"sha512-yiqFs9Zh0OOi0D9JC+wXkQoyakDA1i3ebveLf1wIaEsuPKzULvvNbdvL7INBwRoc7k+quGZuzitsVemmWMxcUg==","signatures":[{"sig":"MEQCIBRyGMoIMMq0vBnB6kGhcCGO8hhcdQBdptU+LSyhkbg3AiBnJpCRoVJPM33l71riUIc8l9q5DZLKoqDK27h8cfC/Qg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":126167,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfYp+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpQwg//bfkEFk/nHpwusAdpnXUXQSmpvWwOt5t/4BAmqfDNPkOL/s9W\r\nHvRcEfjfYwma70CTssPnmFK4gYPolbxwIu1whKy4hO1Ga7MyzHWetjweITlJ\r\nJVqKEEwysB/ThxX0s9ry9BNqRD2tiWC8bf7TpHDNd05VdUmFrPe7tPy732SD\r\nSysgYMyX+/L91rGQwRz8NdUiIvyAevnATgWA8XJ4WuHu4qT3xSj1h0PvJ8wU\r\nflFViISiGSs+cPC0z+i253FyCZwnOQ5AeQmcyf6fY3tCdq2BoMzyByDbDmum\r\n7YMNUr/sNF599NcPeyNwauhnnpZEJD4SpKJd+ZEjwo5xiKeRtWiPPTWTBQm/\r\n8k0g+Z2ZHolMLIFw66Njhp/t4MQBQVlzS0yWvAtNfw2iKaZasArQLMKMSKWq\r\nUDJV5OBam6mg2/d0zbwHk0EBO5mWDFJu23fMRkIG0QT/7pDUj8p048SMEMdT\r\n3i+YBmsppaBdQnho437xyyybT2fNJhQVDas+7jB619pKA9uEMswWlRgeMU+J\r\ntqPj59ylsvzNtGoNUm5SRBwBp5L7VpjPWErKRyZIFSI390dbhI9shv++DscR\r\n3nRQooR0gWw2mb9ejX0GcW/WF6FDmvshDXmDAmzdLHG/oaE/20U1ORzE9wub\r\ng8QT+Hzml7pH4G1gpMikXcmNTYVArTd0JCg=\r\n=60jq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"7bf6b7d26b232b28512f983208b1ee15abd2fad0","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v16.16.0+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"16.16.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.2.47-alpha.1_1669171837945_0.8049307363308624","host":"s3://npm-registry-packages"}},"1.7.0":{"name":"@getjerry/aws-cloudfront","version":"1.7.0","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.7.0","maintainers":[{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"14c6bd0193f182438dd37655a882e4beb496a09d","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.7.0.tgz","fileCount":33,"integrity":"sha512-dlsYQRqJE0VGniMhUmOxImVD48pgCLg44kKnIQD2rRaktNYJkFHm1DB0LBIrgH+j08QJ5mq+fwNNG0xtzhNqgw==","signatures":[{"sig":"MEUCIQDKzSUBTMt6qx5tjB6X9UEFPVMeAuEl34151rTSZnSM/wIgXRv+13Y32Y998P9liXIb0uiYJV6uvj5jMUggqEqHys4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":126158,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjgHy/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrlFw//TwCRQQ6DkAXRob8iKbRI4A+CSO269/nQWKoDZ42ooushow5b\r\nEU06me6iw97VqB8qqt6GJaHfJ5LfIN6mn9pCuo4d8WkW0O5px62n90m/uNS1\r\nSCz6LtFeyelJzI0ykbLmbJtHl5tgm0B7vgB85mrDCjwex+F3QQ83gQ49yi9m\r\nHrbmTs6CjchdYsdohe6+ybhIN9SDRqfqZ+wgcJc36b3OUE+z6W9xMUXCFv38\r\nwUAMjpum2QXBuF/Vr7o1TDW+FqHrRkyLUd/XIol3vwBmPjLKPtQ8nW4MsMw/\r\nigeHl3tg4DGZn8bJ/WtxM/yU5msgwC/ogI3PCms5GClnJvJv4NDOEPHnG7rU\r\nlcfw/QLCHHLH1v+57n7sOihBiOb1o6RyCJTq4HSWSQtMZdMCf8jgp5uug7P6\r\n2k+z+ceSSzXXYfIUIJ9KSVXI/vf/xUakfGRsyQzYXE0NLnmW70t50AsA5Z6E\r\nVrWseHVIZ8iX8mFPlW/Ur5Bj5jnjM6bfUn8KboZrn/nAXZFLUML3rz/JqLrb\r\nEnRrDvEBX+N56y+/oKQNXHmSTld8ng+tauesG7pWWhcQNo0nxayi+Zzd4xsr\r\njfHFuuvqkz9GhfYUPoL/9zoHB91CSXtayOhRZquvgPU4GewI/NN1qNwzaN+T\r\nJ9BDkcLdwmPZgrBtJydy5uQiKBjPjxXkMwA=\r\n=l50q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","gitHead":"b18666d9b61a4ffc4628d610edf695656fabe5f4","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"xiazhen","email":"zhen@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v16.17.0+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"16.17.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.7.0_1669364927443_0.5132489493543637","host":"s3://npm-registry-packages"}},"1.8.0-alpha.0":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.0","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.0","maintainers":[{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"736166a682a106501809209a318b565415dabf77","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.0.tgz","fileCount":33,"integrity":"sha512-O/CcBFdSkEZHPD4Ocb+ht8iYDSKnhsO3C9jQdeq3AmIsjKF6hK8QYADkTTVy4u46Tj9LZTAqWLBtfgUTljftTA==","signatures":[{"sig":"MEUCIFTWuc2NbZmzNAshig1U3kmWjd0Eps0621gJYCMsxj9jAiEAgUccMf3TXAqvKHmjUiYN2jgamqQpy18yiJu4WTJVe40=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":126548,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjvZZOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqNeBAAhXax61bB7u/auOTERykGcFdu6WSCVix+0YJWmM8SeCqnnGfH\r\ny7SP5So5hfi0ec0DABIKICyuMuc2y8iq0bzPfQTAiDI2Fc8EsirBkUc4EHLt\r\nQ5QVu+f01J0rQTwI6lYtpDHzTFAk8ZNd68gG0bXip8r7htMemecD7IkVThX2\r\nhnKjUogwEw6DdNio5oD30YR6sTqIjKxjQTThB4qUkD8v4wXeS9s/usJ5p1ap\r\nYr3br9tt3s/+oawZl2mBIhUndXelgrKn0mJdIJI10ixr7wntvano/xgmp4EC\r\nk9E4mGygy5p6X6KHTnoeSluHfST1I1s23F0CZQ7nMiWlCeQLDKKpZnYoLs65\r\ndrb5Qwhy6PSiM7j2srhp7+HENl9s9zbyiB4rpUGR2NtyG3MWeTDLQjpG48Rh\r\nA8Qr6Ap9fFj4otyZf1NT4OXKuS89YXceLPqh36iraz1q2N9a1KaRZhPVSQ60\r\n4+qrX+GDWp24VO5fxRtbh06MObl4064T2Wb/0MIg2c4BcKy5cmXIRWsbxDzy\r\no0P3T6UIT4fTOuUwYt7UPE5pMhRVSjX+dAIj+cxLs2tKj44FBF5G4uaA0tkA\r\n6DVagf01m5huk3f12Huq5fkIEy7QmOK/1lWYSEcFIbqXXdGfD4XcOGec//9t\r\nPIUxiJzYCTT9qRALHmsFLHiIfptwaQWXv7c=\r\n=bx8h\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"cf978c6e35bdfa6780cd2ad4f287661b96830365","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v16.16.0+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"16.16.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.0_1673369166701_0.8034454679380638","host":"s3://npm-registry-packages"}},"1.8.0-alpha.1":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.1","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.1","maintainers":[{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"107d2b07f77d969b12a491bfe7f8bc9bb0652e35","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.1.tgz","fileCount":33,"integrity":"sha512-yuExmWhOY7sCkskaS60Lb+OYFUY/CrVJiQttABdLtqF8KjMvoEd6ax83PCdsZiywKpV7FnBX5SA7pXAhF/sHhQ==","signatures":[{"sig":"MEUCIQCqR2pVUgBy/cWanZmtRGCWXKmIwzlfaqETyUdt10tEXgIgI2EotH/oHXzkEP0bWG0rI6CeyU8MiA1RIAuVJdoeH24=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":127144,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj4RBWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrBzg//Uf7H1RuvnoNrWQ50b3D01/VwmDI02ofUlI+tGCpjK0UDSJPl\r\nUIa7EYCwkjzYkYbNMl+2hWHvG7unlyaBEbFLwceoOsuGZPi2EY41aPckj88j\r\nvalniP2RV6gBdVDUYu4khOLQqf+Ldyx6q1HHxapAJ0m/20NXDHaYo+dQBtZG\r\nfwMHg3XDZqVDfufddWoimIP9FKA7xkoX4e9bQtNp6nb5EF+TSmObJAPW/7fu\r\nlWEM/pWlE5BZvT5NFIYUfQXFn1NL5zO+dzzoXPCpoKs+ZgwnmHgg42YHGLqW\r\nrPXiyYRxkOpxcl6fy2W+CkxjU/qFpjcBVXc+n+1xGcXysQzI7BkaDUDG5AMX\r\nbQQN+wNa06UmhLdYSvEuiDJNMjeUDWSGo14vLiRW3zOYyjdhujf1VSKFE1x5\r\nRUfAh2Yz/0F0Mr53afQDSj5n7QRtlTHfnsxr/gU6DapQBR1RibJqxbcBRnue\r\nJOr3/dU6KH63bt+cK4VYphY26HVgcTPszOyitXsYwcsufPPPewfaMOUlJpwU\r\nlhBmmt3qMMPVuyMAUhieOmNXcWz0v+puDxGWwd4B01j1ICZZ7e/bSZO4qLvQ\r\n4E45XSg53fXET8TAlg6XMtZiQ4HASwrQLQGUBsXMqWNpUjNBv8SeaYm6sFcr\r\nl3hIoEHh6MK6fkWrW708Zm8zkTFKV+YnokE=\r\n=tLoc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"51285f05ec007f61fdb8fa2bee995e768de3c8d4","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v16.16.0+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"16.16.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.1_1675694166699_0.5780799975199507","host":"s3://npm-registry-packages"}},"1.8.0-alpha.2":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.2","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.2","maintainers":[{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"88d51f54d420b2a07681ed4131a2dfc30c78ed15","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.2.tgz","fileCount":33,"integrity":"sha512-AqxLsOf+yBP34xbWveqZrnose/VgQ698SjUs4zcT0DVXivSHyEj4/y4zrNl62pPHdMZH0hXRXEUbVR4gOqtqoQ==","signatures":[{"sig":"MEUCIQCm7XwNQTxW4avEk11dXNUI3ljn47SlbVCByZ9Y13LUQAIgJRQ1UdRJezrsUBgIWlkZlAlQPN9vPVS2Q2r+qB8ifyw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":127987,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj91/cACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoRlQ//UUk8LlaMY5Y2XFNs0d0VksGJDzigDL8rJuxY6LZwy/MJ7+qx\r\nl1j5svjz9GNk5uyGzRimaWnlw/mGKTQG/+RJPKWvJwNNOOMvQHko5cTgrHcQ\r\nQuIGuwpKkbW+QnorohA7XFn3Bns206hantB38ncKVra3e5RKtHtCydP/yNfZ\r\njSuuVhKPmvbxmy2qvRW7XFrD1y50vFqScb/5bCYkqa4IFXFwsLHlhceUnAeQ\r\np3dRqlb5gF4bRZAm8vgGe4PRcelwFfGkVr1WiMiZ/3atidOpwXyPLOcu6q2b\r\n8llPndvUM4/RDkUQCRA4fd8eDs7VRrv+Viuri1MaHLK21MFKbZRMTbsU5L1A\r\nIT03+L9hgQambVVLMP7XKigUK5Tg7o1tMdUqDrkQiXAjG3XUgeP57uSCQ7Nt\r\n6R2zHr3Izk/XePsMuNabCwcgByCUI+dgHUfyMlohg7XaU91HvT50gJyVxzrZ\r\nsMBMMzcY/39hkdKrcFka3xBIX2rP0rcD91GO0DKzysCq2k+1oD8rQrW82Z4/\r\nJCfZITfdoTfEBWbO5Tzf4+1ZsfbReHpHfJFRSXRCZQ/LBX65V19vSycyM/Jb\r\nrqUUbcY2qPX6zNrYgz6wpnEHqlAN2RwOi5lSAhIFnxbxtS29pHu0M5BTfMKX\r\nO9gpK6EfK3FqUNHC+e3MIvajkLqxce+U1Qg=\r\n=O/O4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"c76145b0bd3e6f7a2d64572cdd8b2257fdfb4813","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v16.16.0+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"16.16.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.2_1677156315978_0.579413841861586","host":"s3://npm-registry-packages"}},"1.8.0-alpha.4":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.4","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.4","maintainers":[{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"63a27eeba20763c3162e9e74c8c8c712365c5cdd","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.4.tgz","fileCount":33,"integrity":"sha512-FhRdgfbP9LrP6au6/oZKQReWFUDqeguh7Cc7nDkT+IUoaogIiqILXsNbVM7WWf6Ix6xud+/h6QO4jAmkCCALNg==","signatures":[{"sig":"MEUCIQDt1/1RhMfQ6TdLwcTX49v6vSfbnWgedykfVtGiCbKQfgIgQMSyS/6KKWBzz7vwCrFO6gr6d3OIB0T4+yLBtt9xjOY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130077,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkQciWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoXog/+LOz2Fh/Dqyv2FeY293ZtKFF0qkOvl2SDdkoBEo8KaiSoxBg+\r\nQzSy3xCgS3NgPwlKlsr2QGXHL53IkOBQGgDDjCC9/xpRIvb7ToFK2u5MPZRx\r\njkdDLZRwkaKR0Ct7HMG4E/zu4pJ1oDVQUOEHxmbfGG2OPGFfqmtSxqIfY0al\r\nuL+DxHQcWjQ+P3bpW1Y+g1bjdFt1FtUzJeAYjvkZ8m+FyXK2wUSatd4XcS5X\r\nMBVGWfAZ6p/6ebC+KJWNJGtaNl8SJAnGHqC+RNt8YI8w/NMiwgbK1vBnELQI\r\nPanUxyse+LmWCAiBmvGGbLPrHkNcA+7X1JCetfX/pKV+yxXjWkK2oU1hKOO6\r\nWRJZ7gH1LXN4slLfvP5TJ2ATCo0h0YhFNGJDCSm54pC58ixhTejdYDyh8dY8\r\nkDGnwvD6GCkjMcGQT4qq82qrwZdpZt3aL5z19Y3RmEMqrwsMcD+Yq/2saCaz\r\nZNj8XACu9Btb+nPyxa40cPU4paUOYkRb5AJcJHmGArHLJIojyxkMgrutFTfH\r\nyoggggQz0yxEeUysafqgeet1WiNT5W/nDSmhV+/AUUmx7f3rmxzAKCHO8pWg\r\nBxRgQQDCjtHZo2k1MNIUx5dia6R+ZJUM/rIA+padmNlrv25+khyoiz8XJNMt\r\nDMGIEDmJGDKvKODosVduMs9fBwe99k8cQ/I=\r\n=Pe9e\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"288eda3ab4a0067869c0606cea6a48e066ab20af","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v16.16.0+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"16.16.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.4_1682032790320_0.6534673754388733","host":"s3://npm-registry-packages"}},"1.8.0-alpha.3":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.3","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.3","maintainers":[{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"67184a5b3bb82eb792ed97f170dcc60ac31d472c","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.3.tgz","fileCount":33,"integrity":"sha512-Ogg6TE+LKm/kht4TzFSYCsuJ3xpGJ3I1ox4IbP9YY7Jwd6JW601r/pJPJKSjsFkc7HCcZx18ZfJoOkVaCJYrow==","signatures":[{"sig":"MEUCIH2a97+q7YJg4XW2LTk6Nao2eGNCaPaG1EO/aV6+NiCVAiEAqxEiPudLslsfOTSjW53eDUmunqtvo+0SCf6YopY9w84=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129032,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkQckUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrXIg//XFPAY+J2z7ShDQ/hWvVIsFM7nCjj5GQiFbzQch72zDM0WoTp\r\nFsTAT3TJNy+C+ma1PLorint26Ht2ZxXKbLZMDhYbGOe/N7+yU5gHJKHPD2Nf\r\nEtu4Qt2kMqYAi6YqBhI+Mo6/xtEsw0QYLStYS4KeF+0aBQ+JJJ8Sp2dCEbMN\r\n9lcM+gi86yUuM/XMZNuX6o6plAVsAMVclIwwTF7/TWdCG9Fvxns1c2kNtRlI\r\nTloR8rwHtBMEnF96PAGF3EncLERcziJNrXjDtMkHGB2H8NNnF5+aShmi8sgv\r\nfe0y0oF32BSWwH/DoDafUBVfgKX2hq0f9ktKWieKcRldEJBwuzMC1jl2kFqK\r\n+McY3Ah4ieRmZnGFHGqsaZlvAQGQTJARhv0luqL/udYD8Cs2UN57jYDXJAU8\r\nxUhvyk0VpAvvYNfEza5kqWtXL4n+ZVbbUTeEamg9+ivRSwTKKQnW6SzKkOlt\r\nx3h78PR0/7bwnaVqQF7tQQZbReQ/0w7xWhxzb1BAuPJw8jqpm9yVvo+Wox9p\r\nHJ08qsY1pwLN5blPtvthnvrVGE2s/G/gGNzT6M4Wm+Ch4VDjpAecq8GyNNZD\r\n6jv89KBODflZeAjyws+FNeq0CnpzDZh4fz/EJON1wNHujIzHs0jBkmu8t6gU\r\nKUXNHbFmJ3hc6StJch4d48G+0uqei3DmSko=\r\n=C8FY\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"e43ac2f9b51bb3e3f214cd50a561463168cda6e0","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v16.16.0+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"16.16.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.3_1682032916469_0.5284677519932179","host":"s3://npm-registry-packages"}},"1.8.0-alpha.7":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.7","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.7","maintainers":[{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"94024e2166c4859ed414ea33dd5c359e31502e4b","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.7.tgz","fileCount":33,"integrity":"sha512-YpXXuWgnHRK8ypnQzUItoMOCH9/RbwfM9AzDBWwA5xZbKVdCicPuKxdh6tEu5kpLp0XPYnACDXB0W1MZw28JhA==","signatures":[{"sig":"MEYCIQDmDdNfdspwnf6vCG2SPL+5BMQMQEn38kJuvfxcOTdWmwIhAJT6+73UQgaZVG4bfdS0D4GfaME+Rge4oEoRCXoLzVXe","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":129968,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkQczPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrr8Q//acZt4roheHXKDMdupimEwjs87Zaww0JxuD11Pf1CMfRQGwj0\r\nAS0oYHIt61efMDS39BQbrcAiFrBehiN/8JucL9RcczEHBwN1Jzkk2JKsBKnq\r\niRe4rRGH96dwMfYwSb+vYZA1jj2YAyGKoLNpdDm1wh8GQcJAMusT8Km5RvkT\r\nqegwqMPj4EVJ6sTRbG9Cu+7sXBto4KC/b3bqz08LAqPoxr1EbTEsWI6w1wi2\r\nOZx1SBl23I5qBUDRQ7QGF/gBUGcwcIxde7+EZnrlH5gLOZTetEN3vHqvwNdN\r\nMRHXPxwP3P56e6kcORF2oyc9ELSmR9Gn1B08c0dvIZrhyMkw4Sdw9MIOxg0R\r\nlDhe2HlT75pffdH1iy0DPdkYfr2LzgUyjKTy/V7PT2iJU8s1fSukcuPcnvEf\r\n9q3wlaYdi9JWDMecvRFMvv4uQCJ6yszuKBbXUBshAk3NHkDWGVphIR57yI4b\r\nhxf8kR6xrk+fWMWNTudMge/792KK5Kdbnbyou4Ll2V0jQlmhntN0fpSXACTQ\r\nM6mQWnbbEdW/7m61jObDfHjHH3I+yDmoIL4BLfNpSBNABVP5ONUUThQHasH+\r\nyr8nWPKi7eEJvMaD2ZBXstfnhwv65aSTiSbIOk2kZfelMsUGETn5LLMYjnkw\r\nzQNJY16Q1WgYVnKVQzxbd3TqfStOdPsix60=\r\n=iS2R\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"47f35d60646d4e7c80db729838ce75d7b2416e6a","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v16.16.0+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"16.16.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.7_1682033871383_0.15444508764978848","host":"s3://npm-registry-packages"}},"1.8.0-alpha.8":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.8","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.8","maintainers":[{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"9833fec9469c7711ff8ae6ca2c56423244c11f4f","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.8.tgz","fileCount":33,"integrity":"sha512-zMTkwIpvs2uewkFZHJ+OlhfFP8VTg2XaeRRSqAe98B4QtOoN3CEoWVtS/BYLrJDu0MnwsK8XeGmVkQ3uNHJR/A==","signatures":[{"sig":"MEQCIG2jMlZ2f1FasHb0ODVNEQW159OyOBp3bTgbjbyArZPQAiBGOyDqieXx7Y3UAopp7Zn7vcY2w0ger2a4wxDs6fAILw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":130202,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkQdGwACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqK9g/7B8WbRgOBZQwyL0dugaOZsQbdpyVLT0pLpwT7CI6muHFaDNhB\r\nN0BNiXI3/btSTCewWGtBtCc85+nNL6iJqC3P1bClD5ApAGov6CMDZouYzEfY\r\n+swqaxvB8lBEwAS+6D/sniWHM5JTYHJPk2khlVoCnSHsFJLbzeZF10O3GYJr\r\nyCl1MI8o4w1oEXvPuo9ufo1E0/yqMUrCUB4EsarnzAT9KPMk8Qvg7jYY+WRK\r\nEHQQJ8h8qpGftmLi0sRpGWRYq+HKoNWxtOAdO7AxFTzFU6ov2dQSzWctFQX6\r\nCAqsHvDa4cZp8Hmy8A0dgXS4Kfj3+wbAnVhAqoyYA+LBBTzmKeqeWkpxt9Uc\r\nGrDR5bSNtKV2S8vrjPwAnujh+TgNSIoRVF/iQc+QdrHA3pYcQMhXDE3jR0KO\r\naJujZaWxdsW6E/7SqCJHTCZDy1LlgvxonZjd1Exs795aO8zWp7fDBuuW/dRr\r\neVAFY1et9U0oSf6NMBJJfbz9UMoc+qB/cMBbsghHOl8ag0JU0GKLHIMtDUWo\r\n1xVDtzbpOBNx6Zdo9kyNSm/WeG84waeigFuexjJNbO6dF9s6SQaFMQoMbgYn\r\nBaDjYypWSHvl6VPLgkSXWsCjfJDoAYI3w3u+EpUVofAiRdFnxOB/DjsWliwX\r\ntoRuKsP9sfSoq7YL/UprQUO/zSotK+wnU1g=\r\n=CcBZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"afed746119c74895b7f3df00c76997ff1f45757e","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v16.16.0+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"16.16.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.8_1682035120721_0.5329524997407189","host":"s3://npm-registry-packages"}},"1.8.0-alpha.9":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.9","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.9","maintainers":[{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"636ef5e43bb3fd5be41be7df0acccf2cd68677a7","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.9.tgz","fileCount":33,"integrity":"sha512-aClNQDdMABiGgXUzZqkvoddbI5tdfZMsM6AqDkhabC+2RXncg3xm7qCP1QeQISWI9uQf+HX/rvP91RckBxQ5wQ==","signatures":[{"sig":"MEUCIQD7q9CvjbEr3/F5lnvMc6GCIGfttYjz0bSk5VKtFpYRpQIgFdZz0mmbTawupBIBxeCE0fAgXOUNu5TDc2Ob+OpAUUw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":131443,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkVOD+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo5pg//WXJETaFNMbkck5PvByYTXIdjPp7URktJY3KhvbLofnkIexmN\r\njqLR/s/pOfWoDn30AaQtWFUddASyhU0SxsZCTHgB3/Ffjd7kDXQdc+5PmJd2\r\n/0MsWvQUrXg2uGou5i6xvDpO19hMW//VoicYK0HWOrZkNqTY4XcRBm3xhf+/\r\ndcmmRYEbWWR6gE58Y4G8n6Ao1DxAWc7jsdbfJz+6j7HVs0cfwnHQN58usIXi\r\n6N/NTEUgS8VDo7XvFAN93gEEcazcptkSvt8xXqg77ZyvOBQ9uXdXuD+jimdS\r\nekIYsifR53i4TS+PNoA5vn/By3HeDartQAO+E2ZOFsqHfNW5gWm4dm1xZzSB\r\ncWjWUpixVAMxj0bCsV6J1Z5f71sJPuLFDHYP72TSOSIVQ1DjFW8c/ymVtsRT\r\nkyKcdgB4JInHFDCqNuTnJdcrFbd0FdSJD3KcMApgdVkB8roRg9CwWdD3HnPM\r\nlUm7PTCtvE76TzzHz07H6fyz5q6sVcUlX86ma2htymamM5Pwz/xGFtQSjoEV\r\n8+ogqwKbnHPEeI9bsiGtlik9EJqfoJGd9TKkQQrkx4LnGMLUus/EGDevPL03\r\n88pXHEokhcf/vHF/S55wRbLFVQ7gnT8C6Ei1i5rDqmVEbgBS1flPF/TG+oCs\r\nG/sXFpAOQMR+qBdq31PAjb8Mh56E8slzumg=\r\n=zt8e\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"99f4f03f261bdabe579beb24c14d82f31a294b31","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v16.16.0+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"16.16.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.9_1683284222371_0.12757146569570654","host":"s3://npm-registry-packages"}},"1.8.0-alpha.10":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.10","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.10","maintainers":[{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"a10b09fc0d2543d8effaa3c805f6b70c6416ce92","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.10.tgz","fileCount":33,"integrity":"sha512-HViTCMzocO2KQ5d/Oah0CTGH3i3wBgC677qHKHfVkrWKVNyqrq5HkhcL1MdZY0E+FvTqYcEFE2R0yIRz+aCBOw==","signatures":[{"sig":"MEUCIQDqoJG70Lrl53btFNH/EnKMG+Zqm/OfNVH+5SNzBbnv0QIgMJ0epTlnC7ktU9p+cIckeo8NhGQXy72lO+KBoAZ+WaY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":132889},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"3f3d99a8344b876629209b850e11740a0b78316e","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v16.16.0+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"16.16.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.10_1687145959560_0.9720340830433107","host":"s3://npm-registry-packages"}},"1.8.0-alpha.12":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.12","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.12","maintainers":[{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"cdb0c60ec7746c96faedd40f9086b5eeaa65d360","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.12.tgz","fileCount":34,"integrity":"sha512-bKydqEIaDrX1incNCUfwoCXw1uleRjR6A6YYunBfyR67+dUC+ww/EVQ6EukCHiEaEOdr26xW2KjJVNS6x9Fffw==","signatures":[{"sig":"MEUCIFyie4JHB45ZfVN+LOmCgIPPjzkhsto11ql4GRKX7WHyAiEAy+TDzVTolIGOdkcLhREaekBGoDpUvYDZeHSV6YRcCyc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":312974},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"3b6a69e8c6d2ddf9149a3e717c840c6613178598","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v16.15.1+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"16.15.1","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.12_1693914256359_0.18306520522605085","host":"s3://npm-registry-packages"}},"1.8.0-alpha.13":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.13","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.13","maintainers":[{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"9f512ef65f6fb131c7a4d269b7714f3643b9555f","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.13.tgz","fileCount":34,"integrity":"sha512-rJHi+yTgLhTQq+EblyLS5+R+TXPSSqQx0EmhVLd3/yugypYtyOtCOJYnRMbmdlIy0qzHmHx5UVJPkcKe2jv+rA==","signatures":[{"sig":"MEYCIQDdtc3g/KapwUiDg4vnoSHVm4DrOjsOTPsmZqiQz8aVDgIhAPGo2y+YCqpBe78SkJGNsS3Yx2rO7ALTs+RtuiA8Uy7q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":312737},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"5bc8a5e7d7806659ee72728036f893592770a141","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v16.15.1+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"16.15.1","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.13_1693915683150_0.12914796629878156","host":"s3://npm-registry-packages"}},"1.8.0-alpha.14":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.14","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.14","maintainers":[{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"576abdab20b53657b00f1c5f302eba9ec54a7d51","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.14.tgz","fileCount":33,"integrity":"sha512-9PDcyRRNwiq/7Qp3ylmyDiCcLXUT4gM11AOv9dzBt/J3PMN3Eb6XIMbkCXvQpTcG+q7tf/zSQP2dL3462Fj78A==","signatures":[{"sig":"MEUCIFZYs47wUnEunYW+GfKle3p8UjccN2UKVIPX2UvzoRm0AiEAjipAkJ+LZ18Dearu6rKK9f1EQqwnf51gNHapOu99aUk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":135779},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"252530f28d9c496e0f49f3ea972d61eda01d03b6","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.17.1+x64 (linux)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.17.1","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.14_1694153617841_0.8504261151931551","host":"s3://npm-registry-packages"}},"1.8.0-alpha.25":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.25","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.25","maintainers":[{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"3b20cdfaae5445b9c5f4c76308dc7dfb162805a0","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.25.tgz","fileCount":34,"integrity":"sha512-29plxPEsQZrYMLzEmt1TMXkDKiU5+iUQiMQpX8MOOca2oN3W3eDIhguGKxP6v9WBGPXKkuW6ieozuuX++w59Ww==","signatures":[{"sig":"MEYCIQCExR39im94FCWVnMtocLFDKtOUD9IGjp1QsctsayQo8AIhAOv6yPjXkFvQttx54VTCrfCZzT4RoZN/VSi+xzLP+qNt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":315917},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"b60664bf624ff990d47869a43c44392e93e83316","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v16.15.1+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"16.15.1","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.25_1694522056937_0.06711783643340752","host":"s3://npm-registry-packages"}},"1.8.0-alpha.26":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.26","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.26","maintainers":[{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"f6ba657f94f3c5254b01ba5e052dd85e54d4d9ba","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.26.tgz","fileCount":34,"integrity":"sha512-2P7mySvMeiKrws9ZILhtsC40YrigVRofxIacsoAyxLjRQkkgYxXrVhlG6yQBIqvM384a+TvT+M5h6Abq+nJ5GQ==","signatures":[{"sig":"MEUCIQCY2ZyhsFXuLbI+Qs9GCPOcfqEGok0uRaOhq5ln9dspbQIgYCT31YTe5bTIsH71SttTG6hkj/ZxHRg960PF3QSN04M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":317569},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"2ea85a68ff76d84a461c66bb85c59b712ce7d841","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v16.15.1+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"16.15.1","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.26_1694745727730_0.5285199555888598","host":"s3://npm-registry-packages"}},"1.8.0-alpha.27":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.27","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.27","maintainers":[{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"7bf0a39487c08e637c73f9c65cd52d963ce5a354","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.27.tgz","fileCount":33,"integrity":"sha512-GGX72tOQdcHSm2VLafF3odOKVGQM/J0GKi5rN3zOKBYOP72FRUo4+hhGLpDspxoG95ym3+5QZdeyLq56IlqzlQ==","signatures":[{"sig":"MEUCIQDuEwbxGn/eNAq1XCjQ8Xh09Ldi32CnnJqawTcLx7XA3gIgUxgU1JTB/RzT+Js78COAd9UvHdLBp3/LXzfWvYZQOa8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":139166},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"b5356fe8d90731fa866059ba7460eb2ceb1624a1","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.17.1+x64 (linux)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.17.1","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.27_1696488525682_0.6772551914816882","host":"s3://npm-registry-packages"}},"1.8.0-alpha.29":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.29","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.29","maintainers":[{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"cf1c6e5a924a04c6f54ef5f36a24369ef729b220","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.29.tgz","fileCount":33,"integrity":"sha512-GhTT63R8F+6Dmq3hgkQKMPNbg/TDmlVUA2Pufl8wWnFUOf5WJuM9L6GUy1Auh9vWv1FZ/0GgTatjixydkHNdag==","signatures":[{"sig":"MEQCIErDw9hPBnArD3IGJ75ClwqsJB3BPqZChtLCoduB3XjtAiAoTsyvx/bzqVSwAHuCoNEF1NEJ2kPkvEsMEkL7wHeZfA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":139166},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"e499be20f1a5b1d6b78ef986324a004e0791af64","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.17.1+x64 (linux)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.17.1","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.29_1696558587712_0.3643660396353394","host":"s3://npm-registry-packages"}},"1.8.0-alpha.31":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.31","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.31","maintainers":[{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"3519fe02e25e06be2e9353c52495635b3650296c","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.31.tgz","fileCount":33,"integrity":"sha512-cBMQHwOkSE4T4uz0lm+52H2wc2jZYvSYGWHOP1CjOVDIQglwarH3rEX3LxdeT288Fy2knlgnWX68CnXvLS5Geg==","signatures":[{"sig":"MEQCIDCdFMF/lsU86pdL6FR3bbKyuLLuph2z2GFg9GSyN3a7AiAmgMU248P3+sl/xUw3h2QKr21SQShYOuJBnBKpQxEsuw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":139403},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"2c401c8ffcee0943debf949162942f976d9740e6","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.17.1+x64 (linux)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.17.1","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.31_1696583227010_0.061946395415068745","host":"s3://npm-registry-packages"}},"1.8.0-alpha.33":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.33","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.33","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"348d2c5421e92fed007af47272a4f1def38d05d5","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.33.tgz","fileCount":34,"integrity":"sha512-U+aayYLx6HxCKDqSSXbwJd40X9ua7u6KUB567ik5e1UkLYSN4audlYL4hsO7X5TcA3AfdozqBWkusIFOxG9Y9Q==","signatures":[{"sig":"MEUCIBmbmIoo2/lodvlSrabuMm7tyo7cVWuhy/n3YOfPO7S2AiEA02hTL1/CiMK0BCEUbLdF4O4lrq+sxaSaAP5VmLdp7Ws=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":318868},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"ecc74aaa449e4cbc33ff7a1440c54c170fcac086","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v12.22.12+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"12.22.12","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.33_1713181548819_0.8731653902623058","host":"s3://npm-registry-packages"}},"1.8.0-alpha.34":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.34","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.34","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"56e70a628b3a2597912965067a3ca31a4e5a98aa","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.34.tgz","fileCount":34,"integrity":"sha512-MyApBfrG7H9YliLtcpHx8IihboWwF9VBOjFA37CIO/Qpg4nAtpKkBF4AjQtw0k/joPLwLQu5Wb4EFaWQacAIMA==","signatures":[{"sig":"MEUCIQCk7Unp+7WaL5/INxQhIar+GxSMTLZKEi+bXKHdzA1EsAIgHMMpyi80UCEa6saApPRnUgMx6Jgu5y+BT7HZ7golf0g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":319105},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"d0e9bbe379e586456d4e4a309e1b7ee9c6c918d6","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v12.22.12+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"12.22.12","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.34_1713184309568_0.6908828676615038","host":"s3://npm-registry-packages"}},"1.8.0-alpha.35":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.35","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.35","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"b05527bb129056afb52d0ae06a00fa33a3d2ff2a","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.35.tgz","fileCount":34,"integrity":"sha512-zG3pe0NTxRdY7XwAzhsCiT5CVoTvcwBxf3VgHdZrEWdGb5ZnzOjy7YakRKIQLZkg5iGN7bwZ/r566YmecKLOHg==","signatures":[{"sig":"MEUCIGXfls0PmcbgdcJzxfV7u3mVu8UYNRJ/qnRc8EP5Z2ePAiEAhduybNsphNjiTC4G90/mj/dg94LZUSMkYXaDB233sj4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":319342},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"74e0c6fe85e50a52f0c1494738409988022802d8","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v12.22.12+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"12.22.12","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.35_1713186590442_0.9479339371358129","host":"s3://npm-registry-packages"}},"1.8.0-alpha.36":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.36","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.36","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"d26aa1958d664408174617990d8f55984ddc1a25","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.36.tgz","fileCount":34,"integrity":"sha512-LOHdS6oE9MT4n6rFVGFqfXs/+yz10jjGkJVmNmDm2dKJsDllVI9AZHhNDYiBzKF3d7dJ+hPfZnHtKl0kRA6W8Q==","signatures":[{"sig":"MEUCIQDCCe7HtG84zqa8kDoRL76wShEZAy8xSoJ5feCSU1XH3wIgNo87yAqDgp6Bm3m5mQZkVqNtZOOH2BRWgkiZkBofvHg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":319579},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"70b2698d6079b711c42e27413f7b5a0bcd912c6e","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v12.22.12+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"12.22.12","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.36_1713188269921_0.9568943412335995","host":"s3://npm-registry-packages"}},"1.8.0-alpha.38":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.38","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.38","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"fb62695bc45b109fc10bbdaad59f6658ee000718","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.38.tgz","fileCount":34,"integrity":"sha512-NZOqRxHTHGVYdPVnzOHQ4WqnKr6WXX1wPawqJCA/BIvpBkSdw+MrEqyCV7vtZEKEs8EPGyM4we4/S2//6Cbiew==","signatures":[{"sig":"MEQCICBiKwNKleM2pMBr2UgOlqnwX1TDEZPaePdiAIGCXUY5AiBMxu0+FZxeGa0NHZK/pJykMPY/70+GTmDSc77fbpwk8g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":320053},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"287fc7c3ddd21d1c4ba85a90bed89aacb684b3f1","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v12.22.12+x64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"12.22.12","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.38_1713190592257_0.8562151567386784","host":"s3://npm-registry-packages"}},"1.8.0-alpha.39":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.39","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.39","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"9bd43aa590d3e176faf90be0087fbeb568acef8d","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.39.tgz","fileCount":34,"integrity":"sha512-5IcKTwTkQiDlWjbzsBGHDIjJbatACjjF8I96T/5CXkT9OiGDa/BAzFJ0yXJI4foBx5zPtjtKEF82BGCNIMX7jQ==","signatures":[{"sig":"MEYCIQDZloerN9eaggCa+jU5HOyjyXlyFvGhP6hPPDGjrT+RnQIhAOT96NwYO7NkJeFRXYLdLlWvO9EkKijKoFvHeKua5uKQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":321900},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"db8a5750e0ba00a419bb3a473dfc987a7ceb200a","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.39_1713517146848_0.2792912599353523","host":"s3://npm-registry-packages"}},"1.8.0-alpha.40":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.40","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.40","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"7a66408de053071659ddabf17311f5a3ed38395d","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.40.tgz","fileCount":34,"integrity":"sha512-Epep+VXsgB814qhAK4XeuIxX6BgJakhI0ubbDegq2R7ZXRpjkO188KsohAj/6C6lKhy+RgR4yb3Znwwh+lYDdA==","signatures":[{"sig":"MEUCIQCvYTmYm2ieSqoR7huLC66fY7Q+gEpmM7YYwzIi8G8l4gIgZN9T+ki/RPzEatKUYxD6jlAtHxZ12yFL9Mv6v6EVahA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":322137},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"e3cf9f389a25f3912cfea63928bca10f276f40a5","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.40_1713523313941_0.6897823513370429","host":"s3://npm-registry-packages"}},"1.8.0-alpha.41":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.41","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.41","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"76c7f1d02a8258a0ac21e47c0f6bbced019c6e85","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.41.tgz","fileCount":34,"integrity":"sha512-hGzisoJkbxKQKMdfJriFRjS2wdSMyTb4Xy2iI8yNVjBnYMzyotDm/gS66QfYBV9WvByfwJ5dwz28Haw/Vu0jHw==","signatures":[{"sig":"MEYCIQDt4P/rocTz26QLghwNwhCUP1jakuSL1qApESV16oUTzAIhAIf3/bNTQjaUNJHJIUoe4fRhzj4+y1SOLPse+9d7YP9Z","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":322597},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"2823c2c56d72ca70e3a2546c4fbf6d358e7533bb","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.41_1713525497226_0.0011382885283426347","host":"s3://npm-registry-packages"}},"1.8.0-alpha.42":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.42","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.42","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"c7d4929f9ec16171d309034d8aed1af8d9c1f633","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.42.tgz","fileCount":34,"integrity":"sha512-sg2zT/Fl21ebBcWWAH8z3DIfuTX5SgmxhIQ3Hx0pfNCtXUR9q9xUTahhHie7jSos8b5rwOoAHak/75qL2GcGew==","signatures":[{"sig":"MEYCIQDGXHdyGkBA+7jg5MA5l8eQmRkWiq59qK2ahOjqbbxSjgIhAPmF0vLmPPFRHAYt36GIDFboTQ8EElPFodOnqDRFe2/z","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":324644},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"24873852400d8be99610b018a7e5874bb66428ae","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.42_1713773300185_0.1697371973559807","host":"s3://npm-registry-packages"}},"1.8.0-alpha.43":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.43","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.43","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"8f2104ffc4f46328b71ac354594ed2861977d354","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.43.tgz","fileCount":34,"integrity":"sha512-rVjoM7HbOY06F5Cpyd2Zw1QJoeOxc1KN+2PG5n/E9pyowl6LK46fqZKe2j/MBhjbplOXrz7RG91D7ha4mXazsg==","signatures":[{"sig":"MEQCIG4y8KMtyGzLkT7M16gpl5pm8+aY8dZaFCs9cy3fdE1vAiACz6cqKTOOag2UcYTFUqa+sInf7MJOlaVSdGLW7glVVg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":324881},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"0f188e390d1c3bd3c9c5e17ca8ac3998cbacb084","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.43_1713777286288_0.04126746742571119","host":"s3://npm-registry-packages"}},"1.8.0-alpha.44":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.44","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.44","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"b2fe8eae730b0f7a4667101e7bf52bb0853e9f9a","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.44.tgz","fileCount":34,"integrity":"sha512-sBSMM6FptVMC727y1HL0ewi1QU8164hpnxnYDdGZbLPing9QHCa7zAj8f2mgo9rOYanrJBdmVPHTxHa6WgGaYg==","signatures":[{"sig":"MEUCIEKxiipT/Avyti4f7KqWmIjfXRlnfUxijVF+q/cd2Rs7AiEA0973eVoKhCTdl8M+6vFQ07pbUfy/o5H0wKLzMe9g6NY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":325118},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"9dde1d68dc467a463e611c35d3c491369d6da427","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.44_1713778789461_0.8166519942586257","host":"s3://npm-registry-packages"}},"1.8.0-alpha.45":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.45","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.45","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"7ec3a178aa1267ca3d77febe757dd7b8cb7013ed","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.45.tgz","fileCount":34,"integrity":"sha512-o24pG9L4opzuV9vAqzRLMWSAOKtEbB3ynUHEbg585/yJ1cUFlLB5k1FrZxLHnPnofmhwGV0DZddurSjljp67XA==","signatures":[{"sig":"MEMCIBPjkp1pDsyLITZ7VkRJE+FZdQatM3js7wpCCADt3NegAh8FkRhLK/enfWjVgmWDe5Dm2Mt6OOn0wAgEGCmxgRpO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":325355},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"4866231655da7dd7c311184158f9c2fedf549f14","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.45_1713781448552_0.9983857831982075","host":"s3://npm-registry-packages"}},"1.8.0-alpha.46":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.46","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.46","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"231fbbe9605a27ddbb3473e1d401330a5522bfb8","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.46.tgz","fileCount":34,"integrity":"sha512-8mFUQYGuf3NhnXUVvSP601TxPWdam60mdI4peYn2iItauRFPq9bp1ZBoPfW0CpYL/tp3HWHHaRXxQwq2USofSQ==","signatures":[{"sig":"MEUCIQD/6nbLFtLwjVwV+3PR9btF6l+RINaSK8PvlKwk6mfhfwIgJwf7LepQxDE2XE8VNJSRxOZXNjlob8BFqzqsDFuPFsw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":325592},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"515f486aec56298628767809cf078cf60186df81","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.46_1713783183048_0.6617080509897306","host":"s3://npm-registry-packages"}},"1.8.0-alpha.47":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.47","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.47","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"8d5ece744bf7cfd9be23fa15feef057789dfbaaa","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.47.tgz","fileCount":34,"integrity":"sha512-wjMtx6z6xQcITK0AXebJTJ4PJkv7AVxZ34SqMWtIgfHjxpaB8xYCz9Y7biewpeyEg9cea4D6vJ+0w3UwbSxdMg==","signatures":[{"sig":"MEYCIQCXHDopINC2xb8N2BGqTs9OfbLuz/XnRJ/QZmDzlsuUtgIhAPPyeRjDUenGtNWfyX1JvmqVXk9Zn0qjzTy7N24s9iCY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":325829},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"ed437bde5c22bb4cf13fbc763cf231540ca72d81","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.47_1713851837417_0.3282178196241168","host":"s3://npm-registry-packages"}},"1.8.0-alpha.48":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.48","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.48","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"ab9bbf4a1cd28d0a0511ac0c776c6c154f10688e","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.48.tgz","fileCount":34,"integrity":"sha512-Uf23dLAGTlvuPYW6nPHJMzd5sEHqU5UfpEZDySlK0+hLqviBO/EFFoEhYF8mXl34QXQM5L9i/CJEhzC1vFh1Zg==","signatures":[{"sig":"MEUCIQCGHipNaVzUJJ12pPXIk1oXMC+T/knMyaNlHmilT/rDQQIgZT3la5UxGP16PUwDdTPvjBNZThq9fdhzUg6s4vpcgqo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":326066},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"ac0b6ddea450ede14fd4bf283bf4fd44f92ff4cc","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.48_1714034514142_0.9265629399446862","host":"s3://npm-registry-packages"}},"1.8.0-alpha.49":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.49","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.49","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"69edf89f767d280150b3626489fa9a60fe802437","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.49.tgz","fileCount":34,"integrity":"sha512-U2NhCVotCg+GOcHNHGlD1Mj15fwpIHrlU6GCYtgP2F5Cxts1cD2Ew54p2Q+N3bO2iqIhqEkabA/8rs2tFFaIJw==","signatures":[{"sig":"MEYCIQCAtMdM2OgHmbvEPpgS6G3/+0lVxAE9NYho1Pj2aHJm9AIhAIkueViY3gH2Yp5xdlJKes19Xjtv1sCa3oRlFrfNSFk4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":326303},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"c28888dd56a5d6f6b4d9fe383f874ddecea63005","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.49_1714034739873_0.9277965090191376","host":"s3://npm-registry-packages"}},"1.8.0-alpha.50":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.50","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.50","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"4c424ebdffdf0e27d87df2e5a613dc33946bcfc2","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.50.tgz","fileCount":34,"integrity":"sha512-iQZHODK+AckFoHhH/Y1igrpvJmmr6wOTJ7bzuk5ntJE4jVxMIuZrdUFIFnLLe80PXLvUOApiJWAIAYwLcSizEg==","signatures":[{"sig":"MEQCIAUZ2MrXQmMcc+1B0SISvqHPlIUmBcshDv7/Aa37b3wXAiAtY0Bysnj1FvR9TycxVK+spppSsP7qxoD4O4LoKpHECQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":326540},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"d519f45d08fa1b67f7ec13145ff81cd3e74ad4eb","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.50_1714037042287_0.04096283909671383","host":"s3://npm-registry-packages"}},"1.8.0-alpha.51":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.51","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.51","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"118d88e6e743076692964b19aed08c194fbbb79e","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.51.tgz","fileCount":34,"integrity":"sha512-xht0S8Dj4yrbp3kbHOaA7R+ppKjcyqTGu/F37+tj32PlTvGeKk4UF6Cge3kemTj1tiM5Ovu1oi0ZFKHTdXFXCQ==","signatures":[{"sig":"MEYCIQDZYM0q6kQvyigCF56Wa8fT0TTWWmJyUFQH1xekEJhu3QIhAIwfVDwMJfnohY3diEuDQaOpTkdNQNH1OmkX13yP4uNC","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":326777},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"9a6faeaa697e054a9289e0ed791330f6e00c674a","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.51_1714037197050_0.3772545157781657","host":"s3://npm-registry-packages"}},"1.8.0-alpha.52":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.52","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.52","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"739ed6258fc5af7496495a2a980a8be7a31c4fb8","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.52.tgz","fileCount":34,"integrity":"sha512-QIILcwb95YtLU7J/3GlKDBs6D+6yULAcy4TNST7bX6N67VtC4eHnz2Y4rrHCHEU187Bi4i7MXqaZzIeLd9zeLw==","signatures":[{"sig":"MEYCIQD4sd2zLK6j5oQBQBF1calnhiKKqM1dPwqmccPYn+33EAIhAPDzD73D7GV8EtIQHR2g2/6vXfc9O2ODIVJnY1JHoLv3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":327014},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"d65ebe89a2c4ee06a6a0b6ae454058e3327a7c7e","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.52_1714038172360_0.4931701737129339","host":"s3://npm-registry-packages"}},"1.8.0-alpha.53":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.53","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.53","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"2bc381e70a3c09fb9c476482e9c1ada153eacd96","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.53.tgz","fileCount":34,"integrity":"sha512-SJV9UwYLEYn3nkSaoI6r8A8qegC6+B3xdLcIGm27EU9B27RA5cutw5DJQwfsYNWT6br61bTSosdg0uB6GNosZA==","signatures":[{"sig":"MEYCIQDgU9GwPtEgDKsfPZu8te3CWvR01KsZwVgvEEly+vhGqwIhAJrlxDP4IrMWKVAFfAnE879PPozYehEkaoZ7ZT0zNavh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":327251},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"9f80aa4df44a11346bdabd3bec52f4b6d9ddf102","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.53_1714039417993_0.8425811638303811","host":"s3://npm-registry-packages"}},"1.8.0-alpha.54":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.54","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.54","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"8c20a7b40d7ef9044083c50f454772870736f160","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.54.tgz","fileCount":34,"integrity":"sha512-3WtXu31MhCGmKOHHDrmvvUczAnbwrrXMAXpD27PhDCtAmthWzR48VxS5rEiAlfnOox9uMm8QtgnL9bv0vyNhpw==","signatures":[{"sig":"MEUCIHYuI1a1+a9CewhxUR5rcl8l00uYtbsk9B1rVtrATkSKAiEAvUykQ+Z8qtT9U31abAP49nkVKrvjQb8n1Bd1EDkxDec=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":327488},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"d59ae3e01b2db28760b7f189e047187d07526594","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.54_1714040467825_0.6449415480264991","host":"s3://npm-registry-packages"}},"1.8.0-alpha.55":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.55","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.55","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"7a2aace00fa0c46703bec4b94ec158aaa9a9dc97","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.55.tgz","fileCount":34,"integrity":"sha512-emkj/a67NzZewn9KxmTqsx5ZTxKBT6BjrtyRrvxss2SkS8+tJEw1GHxIJBCLKCyLshbW9VullBlDyDFCJlI+Kg==","signatures":[{"sig":"MEUCIFOpaRjuSCj+99OC/6jOrWNDpPvxy22vzsSUZ6j3rl/VAiEAmiiVvx/B5pJ2j6/LiaINHHsDlc5K/WRToN+x50CnPek=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":327725},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"9278be2a6dfe806eb345953ea4d63bd626c035aa","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.55_1714041885637_0.2456268151799832","host":"s3://npm-registry-packages"}},"1.8.0-alpha.56":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.56","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.56","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"1ffdcfca6211cdf666f1d76bf21cab91c14248fc","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.56.tgz","fileCount":34,"integrity":"sha512-/Oun6IA6iBfRlhS0dStMZfebsttpCwazd+EfeLOi3qEYOTr1h5TjJ5Fx5lOGfNitfHXlPiiZ0pVCUGzJc6i7qA==","signatures":[{"sig":"MEYCIQDVOzqUiSbuEZ/dMFPueFy7YOaQWfHXOliVyjJT00tReAIhAOKU/h3iOPbw29vt5EJUYMnOHt6xQboTSeZbalqKJ5yX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":329975},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"f52eaa96bcf66991917ecea8d748862a8134795f","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.56_1715781029390_0.12958479219200103","host":"s3://npm-registry-packages"}},"1.8.0-alpha.57":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.57","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.57","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"66036287f51054326fbd6ebbd8d32bcb67299ac7","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.57.tgz","fileCount":34,"integrity":"sha512-+HUlWNFypvCgE9p3Nz6m1UDDJM6Y/j4QLE159bg8mhTioQUFNEq8UONS8X0VDEYhbhkFnt4bnLh2d0AFzuKUlA==","signatures":[{"sig":"MEYCIQDacVBVC3U5NZjmScLGe4UamdbuH8E+SCN9Imjy+1zY/QIhAKblv7gYW4yU0s0h763eg54DNjziSbwKfb9T+43hNLrH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":330212},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"4fd2fe2c0a2a30a8fe32f1d7be7141fd482477af","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.57_1715785655723_0.0540407086221788","host":"s3://npm-registry-packages"}},"1.8.0-alpha.58":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.58","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.58","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"5bf01db336be7460182a5af82536e369ab7f98bd","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.58.tgz","fileCount":34,"integrity":"sha512-AbXMmU7RkZFVr5P5O6SD+Dtr4qVkKwrE2z4sYbV3xQ10bfwCRGLW1S+9GVAZbc7wdB5kpSaoRw/dqgPx/1D22Q==","signatures":[{"sig":"MEUCIQDT28PJzYvOu0UPjSA4bDZWI160Ya0DMuNO3XZjuqoc5AIgKmZglO81+iyHO3RDlbGTNSBPsrh3n5O6FAMsE4nmuUM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":330449},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"77f428a41bd572b646d1e893fe5a8a0ee8bca9dc","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.58_1715789068100_0.13766164290083904","host":"s3://npm-registry-packages"}},"1.8.0-alpha.59":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.59","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.59","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"7ab7e68355d0ebb431fd2d2b9d733247e6aa5d59","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.59.tgz","fileCount":34,"integrity":"sha512-h8KlljujH2nplkCERdN1z8dmCeu1lgTMz2dJaTdcOHii1oU09Wvg16/nqo//mN/GE/VPcEUX8V5335IDUR/eGw==","signatures":[{"sig":"MEUCIQCp7VCB1VuPShyEFJGTw7hPR+NHlRkhet5c76jQLZmo1AIgSBdRtUyyjRVZn2GFfD2NQ7SCpNxl2/yysQufJFsABi4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":330686},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"e56282a798bb893e59cef035e9665da7cd70dbdf","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.59_1715791434908_0.23562146255406358","host":"s3://npm-registry-packages"}},"1.8.0-alpha.60":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.60","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.60","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"63f8fa0446c80099ed09f588e33a976e650b5d55","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.60.tgz","fileCount":34,"integrity":"sha512-5RUY+juiadocwK+w9Vz6ZMBdxf82Lxzxmb2PJ7HNqW7v8+hAcFbe0xLOoEb/0XKDRHjgIz0263ZyGxYLl6XAzw==","signatures":[{"sig":"MEUCIAuv99gzyvZH5n+InZJ3IdZuFDcBLgFBFoohvQEMyROLAiEA0N1nPrWF8nn4jtr3YU2abX7UX24PstwLjDo1tLPMP2k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":330923},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"7bc3a39786fdbb721769fa352b4798c6fe5adfd5","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.60_1715844143032_0.3471761572451577","host":"s3://npm-registry-packages"}},"1.8.0-alpha.61":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.61","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.61","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"b239c1b4547e6e0457719ee749c1336b8f3d2237","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.61.tgz","fileCount":34,"integrity":"sha512-SMBWH3XkWeQ7utPy+mWRdnCGTmYW+5k/stDFmOJP1dU9CZCi+XDqr0gureB8azi4rEspRsx+wYEaN/hs4QPtrA==","signatures":[{"sig":"MEUCIFccU1CeebZ3au5EB0H8OFwJ5T/9bRRifnQT/5OFjFULAiEA3Vo9z22fSFuQeC5SzHAj1ASr52WuK7YU1Uk3kUiRsBw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":331160},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"f2da4c82cf314250b09312815757f1bb7b02cb22","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.61_1716266579956_0.502596489355593","host":"s3://npm-registry-packages"}},"1.8.0-alpha.62":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.62","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.62","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"921f663dd6b3ea53dda5825733fd8431dd84cce6","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.62.tgz","fileCount":34,"integrity":"sha512-XzfIHAeuvEq4c6VFCq/aa03UmCiIXzborCcQDnZ5UAMLH2UQfs7McqFRONgZtOGvaGVua+pZcSgish35lNJJ6Q==","signatures":[{"sig":"MEQCID5T2EHZ80fITn9Zv2HionKLESQ5UHcxX60abTkhnhOLAiAfxph6mUOJMfAue9cJBHB0f2x7uq+HCFM8Yaz+kenuBw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":331397},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"bcfb1218dec86aa0095da8484be64e777747cebb","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.62_1716280973842_0.49435377169534567","host":"s3://npm-registry-packages"}},"1.8.0-alpha.63":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.63","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.63","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"b63004fe29a8dc93fba79b9e581ee8927393c725","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.63.tgz","fileCount":34,"integrity":"sha512-if8nBBTB9C5FL24IAIKRAg/eyNbubPbMpsXcqIqVJvZndtLa0z3huQ+35Mvtuyu9wXPtsm/gzrwmhIwBvIbVIA==","signatures":[{"sig":"MEYCIQDXOXrzHBQTT3PEGxtyoFU4qeL7Krh3EL2RxSKx+pOT+wIhAM22dojHncKCiZ0XBqkZ3bMk2sK1/N4qbQ9w39w6UHvV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":331634},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"767bdad11de24307fbbe23cca064602cb725e2f0","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.63_1717629692232_0.26616934302655126","host":"s3://npm-registry-packages"}},"1.8.0-alpha.64":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.64","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.64","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"4719ff28dd2509eb2a1e97cc10b4bb858c7aaaa7","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.64.tgz","fileCount":34,"integrity":"sha512-YDM+ESYyDkSuEnbvJREt8vvjnZ9TFavRL/vzMzZGZGjhXBCrGN7xWo5cgb8jgkVje2mYiw+cyiF2yHHYIW+cNg==","signatures":[{"sig":"MEYCIQDfCqG9eJKUSm33wej04v+noLfJ3ZEBeCxvdgnGqzlSogIhAIEIBJQPNNbVb9sM3JYfkLkPz+TqUE+Eh5v1pESrPveV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":331871},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"b5473fa443a14b39402886d53150035eee7621dd","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.64_1717631622343_0.647585745593807","host":"s3://npm-registry-packages"}},"1.8.0-alpha.65":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.65","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.65","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"27b1ffd093aa1f6960817977fedbf73868d6b1be","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.65.tgz","fileCount":34,"integrity":"sha512-nTgUae2p6Vl3WowewPH+bGiZk8hw12mc3NI0E9kDOaK1Fk/7YhgKvJxZV21r3uLDrXm5FJWhMvgIc0f++EQB6g==","signatures":[{"sig":"MEQCIDuAzM0LUjhO6tdR/K/UQiWvjWEKKCh5Hi5RyllDnz7rAiAWxvuZdapVpYvCZz319JyS5Ez86spcTeENo3xZFIxuhw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":332108},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"c9f00e7e1352b971583c8bb7d8ede6fc9f9a9cce","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.65_1717633095050_0.8121726779765774","host":"s3://npm-registry-packages"}},"1.8.0-alpha.66":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.66","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.66","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"fdfe17ffffa99cc7e1d68dbaa438e97d173c86ee","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.66.tgz","fileCount":34,"integrity":"sha512-Ickc86inZKvomVD/XxGXlZ4pgLD8MPqIdEEg5+tNQacQYpXpnl+ae+O7AKbQUqsO3tO8xqf2a/OV79L0fR6byQ==","signatures":[{"sig":"MEUCIQDFtXk1IfZR7t3xWcbRA2M3uwhToX5n03Hc75rY11pjAAIgOxkuUY6yJiMpNuGMwikYRwNk2i2cHwFZi3kkMJcqOnA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":332345},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"02670750cd864cc7adc45b36a179b4d0562b0055","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.66_1717633283190_0.3635894967816433","host":"s3://npm-registry-packages"}},"1.8.0-alpha.67":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.67","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.67","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"28f489345ed344d53987ae16ab85c3365f9d2daa","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.67.tgz","fileCount":34,"integrity":"sha512-jrIKaOTeFTqQcC3NDvuLQX7B32JptYkHJuRb8tl5WTQLvs638vsk6quY8BUtS5/wPGMMHiZqeZxEFpjViYz2/g==","signatures":[{"sig":"MEUCIAq3FKQXWipgTfnBk4RoClLwoU1JR55aB7RZVhqzwBvqAiEAoAzCAPdAVJmKlVIASTwhIvNC6dwX2Kbo/SE4w+sX4Us=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":332582},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"003868b88bc7167316af9c5fc023d0bee1d850d2","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.67_1717634621643_0.7073600384414072","host":"s3://npm-registry-packages"}},"1.8.0-alpha.68":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.68","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.68","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"cd03580446d52a515c6873d3f0ea724f4a000c66","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.68.tgz","fileCount":34,"integrity":"sha512-X15238Qf0Iod/I41k0qyJimb8iyVEj1jHm7TChtLUgwyRfQAfoJP5FR+4VheeNiVKcrms7AVe0pSRZzIiUB8Ug==","signatures":[{"sig":"MEUCIQDBpYF/kiSude9iSJEl4vQQSwra6ckeqbvxDD3LeayGPAIgKo5xxOkLroVrJXid8I8JzfJtCbOZlYib9DSze1peAbY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":332819},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"ec9fe0afb495ec98ee2f1af99100ff9fae8c4bfb","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.68_1717635993899_0.6201057944452462","host":"s3://npm-registry-packages"}},"1.8.0-alpha.69":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.69","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.69","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"9c7f5e005304b9fef1a22c76eacbc8cf9c9cf7aa","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.69.tgz","fileCount":34,"integrity":"sha512-PZNTWSmRo+mmy673ORdWIIGYEwWIw9NSjwrWoTyd0eQzmQEI9brqRf814u8If5kNdbMaT0DbtKD4i88OFOMCFg==","signatures":[{"sig":"MEUCIB43sMNiubRQi3m2eYmDV7KyvmjqUtxeUQfgxwiIVO5IAiEA66lgHmY3P8kRF77eWsxLpwj1COGDsAYbAh9z/tapkoY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":333056},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"8f30775356f5a97868a94c6139e0be4d3b5e4034","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.69_1717636493440_0.23356896710751274","host":"s3://npm-registry-packages"}},"1.8.0-alpha.70":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.70","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.70","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"cb46f319c73a794dfbdf9102892c3178f811ece3","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.70.tgz","fileCount":34,"integrity":"sha512-4GWAEljIRvfSXSccfgoHrIwxAeq8V04UefkoaK9CqAkUhYYUNVEQ+bKjyDdStsW8ag+ZY/y/oi4fCExKlhpJfQ==","signatures":[{"sig":"MEUCIEjUKLwGStaTEOUmQ63EpMt4xiQvMSaLqBFQDqAHaqaiAiEA3cVo8af0bKpWHKJhOCDmgV0oJUVnFpD8kLSSa1xPAnw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":333293},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"7d524225149ff00de3a27c7e3cb9d92dd760ea3a","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.70_1717637244747_0.06669406970809688","host":"s3://npm-registry-packages"}},"1.8.0-alpha.71":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.71","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.71","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"add7cc2c7db2364d1f4789959c1c99a68062e5bd","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.71.tgz","fileCount":34,"integrity":"sha512-eRgleRSXPKcmLN5QD0akMN0/AkvdBX2/uO4JFi8I+5HEO2jc4bXVssep5FLvyRfd9ErQPrByzjvSYN/Orzc/PQ==","signatures":[{"sig":"MEUCIClknHRrjHYkuE7nwi1nobH3pYmr5NL2H5o28YNzG5PeAiEA961OlJi5X767L2koZrJsLlmhRx2bIWotG+gDasmai94=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":333530},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"719f7cca01ee007f6abb7d95fc01485e4a2bbd6c","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.71_1717641486357_0.7818878244228835","host":"s3://npm-registry-packages"}},"1.8.0-alpha.72":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.72","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.72","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"dfdd93bcb590b56359b6945fdec252fc229be941","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.72.tgz","fileCount":34,"integrity":"sha512-J4SSE2tEu1FdnAFYOyFRLoxoYG3FRS1UZbR0BcV1MzrGfOBYMQelmoiS0YgCvEcZuFS0YP3fkHF+bdQW/3iTLA==","signatures":[{"sig":"MEUCIHDUqDvH5bkOVc3ZxZ3rfOnfFdekyJbhOq4dOBVMJ33aAiEA4wEQeybjgp1pbDzxAGSCzVCew0u+mgYtVAXUCTdiP3o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":333767},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"d22ee09f68f3c90fa04f57100ed01075e3ce7464","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.72_1717643358660_0.7074393683920268","host":"s3://npm-registry-packages"}},"1.8.0-alpha.73":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.73","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.73","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"4ca5ca401242e1d40fe85db6372a3f435c0492aa","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.73.tgz","fileCount":34,"integrity":"sha512-NRrDNtZOyvZ4S+lAA2cou2Rv9Ut0Va2OtgfTHnWXMxxcLLaRAz8WYmfTIRPhPr8wW5nNkTXWxOREKRCOVQjJMQ==","signatures":[{"sig":"MEUCIGeoPOe2oF2K6+Yyibx1KuVhXjUCowoJye67MfS3io1uAiEAx7lBygWFTTgRNh7uonQV2+lmsFdDOOJ/WDarklItZhc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":334004},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"fc3cf648067886aee6e027bc4220e325ce893709","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.73_1717645888779_0.10513045745991012","host":"s3://npm-registry-packages"}},"1.8.0-alpha.74":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.74","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.74","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"8345efe7b2643bce58dbd3ac9b1181b59ad9b103","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.74.tgz","fileCount":34,"integrity":"sha512-gtaWEWk1y5UnCkyTPpFsgz2T3HfMdeobe6hSfcJC9V4YQyAkbJbGakaQ5MbVoD1IUq4CV3xIFxxfjHhGMsa8/A==","signatures":[{"sig":"MEUCIE7VYmCkjklC0g2dZG8fIpLIt2JwqBC4sPPT9qAVG6AJAiEAqKcdO2iAkzze1r9N2JXm7ozSY9AUsAiNTCum185g/t0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":334241},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"5be7acbb01f2cf9b02ce6a8422c9737a60e2b8d8","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.74_1717647281459_0.4724307293690202","host":"s3://npm-registry-packages"}},"1.8.0-alpha.75":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.75","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.75","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"c760e6e7b7549250726d72af0865f3884516d3cf","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.75.tgz","fileCount":34,"integrity":"sha512-FK15TY6Bx3bonf88s5OWHCoM6D+79mQQREaKa6A5Vk6LO4nuZTdfy75FVedVY9kglqrFNx/CmI0uziGr7wNRFg==","signatures":[{"sig":"MEYCIQCnSZgpprhuKWuyQnfxb25Hlnh0dOt2BWEmRVlnpR/uQgIhALmV5YvqzxlNea3yOWjDzkWwTNhcCM9FYsUGOPrYQV4j","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":334478},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"15a7aca84302d01dd0683049c370eb51465b72b4","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.75_1717650052760_0.6355601476163195","host":"s3://npm-registry-packages"}},"1.8.0-alpha.76":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.76","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.76","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"ce24a4f4e7ea8e91335dbe31a8e8397866e4e831","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.76.tgz","fileCount":34,"integrity":"sha512-FwNeADAt4sLM4C7tG49yAIdV1Yig44jrg653y57T33dBJgcpq7qlOWoA2k1WPARuYPIWtAjcpAcUozs58YB2Ow==","signatures":[{"sig":"MEYCIQD8MEH7v7xMPXIBW+a92Owj9ENsnR4oJoHFJaMAUEnT1gIhAM147UrWdyDNwkedFIyZTQqUpWyFdp3wo4Q7SbTkkGWq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":334715},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"fb134e2ea8ae26844b072d62462761c8652d79e3","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.76_1717653042885_0.20711000386136313","host":"s3://npm-registry-packages"}},"1.8.0-alpha.78":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.78","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.78","maintainers":[{"name":"meteorlxy","email":"meteor.lxy@foxmail.com"},{"name":"xinzhe.zhou","email":"xinzhe.zhou@getjerry.com"},{"name":"xahhy","email":"1014596312@qq.com"},{"name":"depeng_meng","email":"depeng@getjerry.com"},{"name":"musawir","email":"musawir@getjerry.com"},{"name":"denisgrankin","email":"denis@getjerry.com"},{"name":"zhangciwu","email":"zhangciwu@gmail.com"},{"name":"xiazhen","email":"zhen@getjerry.com"}],"dist":{"shasum":"76abf50e4526b86bc70dbbba7797b17fb00618e5","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.78.tgz","fileCount":34,"integrity":"sha512-Qo2+AAUh349vXQPiatlfkQ68Gsxo6lnM1czOfuPHNgxGVw6HNZLa+najGg4SIr5K1y9IpNefsnGW21Q2BN5NPg==","signatures":[{"sig":"MEUCIBk8EfCu3MP1i9j5nqUoK6+alY0bURBLPN7YT1H6Uq2pAiEAuO8N0z9S0oXCjvuiMG0e4FBqyxN3nJiY5iMHoYNtYAs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":335189},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"de81f849e14bda248638848b49c97fc9c961b28c","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v18.18.2+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"18.18.2","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.78_1718186199225_0.007890755567624863","host":"s3://npm-registry-packages"}},"1.8.0-alpha.79":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.79","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.79","dist":{"shasum":"50bbffd0c997327107a925ffd5c8da43792cf1a0","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.79.tgz","fileCount":34,"integrity":"sha512-W+QFArF5JmqPd8V6ZJQL0yV9j+Us5cCptRoEjdgXL4tFuyriqJG7F8mPdtnDSjNZ5QGf+OgFTyrAHpTpNB4gOw==","signatures":[{"sig":"MEQCIDLkB8zIN158HXo9X1Y3p2zPVUGI1xygnWxip8AG8danAiAS7jVSwNRLqwhkrpg6jmL1/1B+thEhplPaacr1nJ3MBQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":335426},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"469259431d6dc8135041b070efc7b6d596f6f543","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v22.3.0+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"22.3.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.79_1719224794048_0.41448152162525065","host":"s3://npm-registry-packages"}},"1.8.0-alpha.80":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.80","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.80","dist":{"shasum":"0f10213effc51bc75b91a9479e1daaf628e0ccc8","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.80.tgz","fileCount":34,"integrity":"sha512-MsYW7RTR8faoKeuDSRpLtGaxWiRB4G4ANrFmZpwUcOMU6wGKUuulVXkB8QuvP7l8+2JU2HKWRK0lUwtunaVXKg==","signatures":[{"sig":"MEYCIQCPTwaYUgCZVSGRhN96D2X25EBGyWbz+9on/qcDXp6x9wIhAKeZ2tuIsWE6ZPTMvgYLBZXn4uEJ9q/xuOheYG1L2oj2","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":335663},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"fcf0df0c39cdb4c9cb652db0e6eaffc72edc4266","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v22.3.0+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"22.3.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.80_1719239066171_0.7637618231892289","host":"s3://npm-registry-packages"}},"1.8.0-alpha.81":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.81","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.81","dist":{"shasum":"eb368f8e30f4a424067e8cf26dd0283b176a0d19","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.81.tgz","fileCount":34,"integrity":"sha512-6k+hZEhVNN37S6Ld8UeohJl/7ulJaXDaKkyLCaKhG6LfyNIaSaZ41ILeqBzhi5GQE5/JAvmmlnkvBkEIPvvUVQ==","signatures":[{"sig":"MEQCIHXPydKm0iUdvsdN9LpQtLOpt0hW5qkXFIHURBng697FAiAJ5FQkws32Tz7cerKyHEvswe2JWzsEhWX5FlZPgbI9jg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":335900},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"2b64057a88e446cf53af13b0867ea666968cf59e","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v22.3.0+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"22.3.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.81_1719241566781_0.9156251588973772","host":"s3://npm-registry-packages"}},"1.8.0-alpha.82":{"name":"@getjerry/aws-cloudfront","version":"1.8.0-alpha.82","author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","_id":"@getjerry/aws-cloudfront@1.8.0-alpha.82","dist":{"shasum":"afb02541874dbb8bc9a5ba9bc8ae597cf639ca81","tarball":"https://registry.npmjs.org/@getjerry/aws-cloudfront/-/aws-cloudfront-1.8.0-alpha.82.tgz","fileCount":34,"integrity":"sha512-tYEH0R1Vs3ARrzZJ3vKG6fWGVX/VzLTDAYSCseSF3to+1s0xQlsCYdYdxpFLWw3eKiQTOSg8kPDwkJ2bKeyXNw==","signatures":[{"sig":"MEYCIQD6vYpvcrPeq82ZhXLakHVTYXXt0d83aI+PRUQL7sB+5AIhAKSg6PRoYXpMt1n3JMseaW+ltT38ah5qbiPQL77NA6Tj","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":336137},"main":"./serverless.js","readme":"# aws-cloudfront\n\nThis package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore.\nIt is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-component) to provision the CloudFront distribution behind the scenes.\n\n&nbsp;\n\nDeploy an AWS CloudFront distribution for the provided origins using [Serverless Components](https://github.com/serverless/components).\n\n&nbsp;\n\n1. [Install](#1-install)\n2. [Create](#2-create)\n3. [Configure](#3-configure)\n4. [Deploy](#4-deploy)\n\n&nbsp;\n\n### 1. Install\n\n```console\n$ npm install -g serverless\n```\n\n### 2. Create\n\n```console\n$ mkdir cdn\n$ cd cdn\n```\n\nthe directory should look something like this:\n\n```\n|- serverless.yml\n|- .env      # your AWS api keys\n\n```\n\n```\n# .env\nAWS_ACCESS_KEY_ID=XXX\nAWS_SECRET_ACCESS_KEY=XXX\n```\n\n### 3. Configure\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: '@serverless/aws-cloudfront'\n  inputs:\n    distributionId: XYZEXAMPLE #optional\n    region: us-east-1\n    enabled: true # optional\n    comment: 'My distribution' # optional\n    aliases: ['foo.example.com', 'bar.example.com']\n    priceClass: 'PriceClass_All' # optional\n    errorPages: # optional\n      - code: 503\n        path: \"/503.html\"\n        minTTL: 5 # optional, minimum ttl the error is cached (default 10)\n        responseCode: 500 # optional, alters the response code\n    defaults: # optional\n      ttl: 15\n      allowedHttpMethods: ['HEAD', 'GET']\n      forward: # optional\n        # array of header names, 'none' or 'all'\n        headers: ['Accept', 'Accept-Language']\n        # array of cookie names, 'none' or 'all'\n        cookies: ['my-cookie]\n        queryString: true\n        queryStringCacheKeys: ['queryKey']\n      viewerProtocolPolicy: 'redirect-to-https' # optional\n      smoothStreaming: true # optional\n      compress: true # optional\n      fieldLevelEncryptionId: '123' # optional\n      lambda@edge: # added to cloudfront default cache behavior\n        viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version\n    origins:\n      - https://my-bucket.s3.amazonaws.com\n```\n\n#### Custom cache behavior\n\nCustom cache behaviors support the same config parameters as the default cache behavior (see the example above).\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-assets.com\n        pathPatterns:\n          /static/images: # route any /static/images requests to https://my-assets.com\n            ttl: 10\n            allowedHttpMethods: [\"GET\", \"HEAD\"] # optional\n            forward: # optional\n              headers: \"all\"\n              cookies: [\"auth-token\"]\n              queryString: true\n            compress: false # optional\n            # ...\n```\n\n#### Custom origin config\n\nTo configure custom origins:\nhttps://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CustomOriginConfig.html\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: http://old-api.com\n        protocolPolicy: http-only\n        pathPatterns:\n          /old-api:\n          # ...\n```\n\n#### Lambda@Edge\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://sampleorigin.com\n        pathPatterns:\n          /sample/path:\n            ttl: 10\n            lambda@edge:\n              viewer-request: arn:aws:lambda:us-east-1:123:function:myFunc:version # lambda ARN including version\n```\n\n#### Private S3 Content\n\nTo restrict access to content that you serve from S3 you can mark as `private` your S3 origins:\n\n```yml\n# serverless.yml\n\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    origins:\n      - url: https://my-private-bucket.s3.amazonaws.com\n        private: true\n```\n\nA bucket policy will be added that grants CloudFront with access to the bucket objects. Note that it doesn't remove any existing permissions on the bucket. If users currently have permission to access the files in your bucket using Amazon S3 URLs you will need to manually remove those.\n\nThis is documented in more detail here: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html\n\n#### Updating an existing CloudFront distribution\n\nTo update an existing CloudFront distribution you can add the optional `distributionId` to your config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n```\n\nTo update an existing origin with a new cache behavior the component uses the origin's `url` value to find and update with the specified config:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-existing-origin.com\n        pathPatterns:\n          /some/new/path:\n            ttl: 10\n```\n\nTo add a new origin to the existing CloudFront distribution just specify the new origin as you would normally:\n\n```yml\ndistribution:\n  component: \"@serverless/aws-cloudfront\"\n  inputs:\n    distributionId: SomeDistributionId\n    origins:\n      - url: https://some-new-origin.com\n```\n\nThis will create the new origin and add any defined cache behaviors to that origin.\n\n### 4. Deploy\n\n```console\n$ serverless\n```\n\n### Credits\n\nThis package was originally implemented by the [serverless framework team](https://github.com/serverless-components/domain).\nI decided to fork it and bring it into this monorepo because it wasn't being maintained anymore\n","gitHead":"b772d8c2ada5065cfb382deb6050d29ee3daa88a","scripts":{"lint":"eslint . --fix --cache","test":"jest"},"_npmUser":{"name":"depeng_meng","email":"depeng@getjerry.com"},"_npmVersion":"lerna/3.22.1/node@v22.3.0+arm64 (darwin)","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","directories":{},"_nodeVersion":"22.3.0","dependencies":{"ramda":"^0.26.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^24.9.0","eslint":"5.6.0","fs-extra":"^8.1.0","prettier":"^1.15.3","babel-eslint":"9.0.0","eslint-plugin-import":"^2.14.0","eslint-config-prettier":"^3.6.0","eslint-plugin-prettier":"^3.0.1"},"peerDependencies":{"aws-sdk":"2.1093.0","@serverless/core":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/aws-cloudfront_1.8.0-alpha.82_1719366036179_0.5955103884285391","host":"s3://npm-registry-packages"}}},"time":{"created":"2020-09-08T18:19:09.278Z","modified":"2025-09-01T16:42:34.372Z","1.1.1":"2020-09-08T18:19:09.658Z","1.1.2":"2020-11-05T23:58:45.378Z","1.1.3":"2020-11-17T16:21:32.817Z","1.1.4":"2020-11-28T17:10:49.339Z","1.1.5":"2020-12-01T20:13:44.275Z","1.1.6":"2020-12-16T08:50:38.401Z","1.2.0":"2021-01-04T15:19:28.349Z","1.2.1":"2021-01-06T15:29:08.405Z","1.2.3":"2021-04-13T06:42:40.973Z","1.2.4":"2021-04-13T07:46:52.687Z","1.2.5-alpha.5":"2021-10-05T03:22:30.232Z","1.2.31":"2021-10-29T10:25:26.280Z","1.2.33":"2022-01-07T08:30:05.819Z","1.2.34":"2022-01-07T08:38:15.004Z","1.2.35":"2022-01-07T08:46:58.128Z","1.2.36":"2022-01-07T08:52:39.955Z","1.2.37":"2022-01-07T09:34:07.810Z","1.2.38":"2022-01-07T09:41:03.609Z","1.2.39":"2022-01-07T10:08:50.151Z","1.2.40":"2022-01-07T15:16:24.298Z","1.2.41":"2022-01-07T15:28:31.457Z","1.2.43":"2022-08-10T01:34:43.949Z","1.2.44-alpha.0":"2022-08-16T00:01:01.342Z","1.2.46":"2022-08-16T00:52:12.767Z","1.2.47-alpha.0":"2022-08-16T10:44:50.731Z","1.2.47-alpha.1":"2022-11-23T02:50:38.088Z","1.7.0":"2022-11-25T08:28:47.648Z","1.8.0-alpha.0":"2023-01-10T16:46:06.892Z","1.8.0-alpha.1":"2023-02-06T14:36:06.911Z","1.8.0-alpha.2":"2023-02-23T12:45:16.175Z","1.8.0-alpha.4":"2023-04-20T23:19:50.522Z","1.8.0-alpha.3":"2023-04-20T23:21:56.640Z","1.8.0-alpha.7":"2023-04-20T23:37:51.567Z","1.8.0-alpha.8":"2023-04-20T23:58:40.910Z","1.8.0-alpha.9":"2023-05-05T10:57:02.589Z","1.8.0-alpha.10":"2023-06-19T03:39:19.732Z","1.8.0-alpha.12":"2023-09-05T11:44:16.818Z","1.8.0-alpha.13":"2023-09-05T12:08:03.475Z","1.8.0-alpha.14":"2023-09-08T06:13:38.025Z","1.8.0-alpha.25":"2023-09-12T12:34:17.180Z","1.8.0-alpha.26":"2023-09-15T02:42:08.007Z","1.8.0-alpha.27":"2023-10-05T06:48:45.914Z","1.8.0-alpha.29":"2023-10-06T02:16:27.939Z","1.8.0-alpha.31":"2023-10-06T09:07:07.196Z","1.8.0-alpha.33":"2024-04-15T11:45:49.076Z","1.8.0-alpha.34":"2024-04-15T12:31:49.762Z","1.8.0-alpha.35":"2024-04-15T13:09:50.683Z","1.8.0-alpha.36":"2024-04-15T13:37:50.075Z","1.8.0-alpha.38":"2024-04-15T14:16:32.489Z","1.8.0-alpha.39":"2024-04-19T08:59:07.070Z","1.8.0-alpha.40":"2024-04-19T10:41:54.146Z","1.8.0-alpha.41":"2024-04-19T11:18:17.433Z","1.8.0-alpha.42":"2024-04-22T08:08:20.372Z","1.8.0-alpha.43":"2024-04-22T09:14:46.419Z","1.8.0-alpha.44":"2024-04-22T09:39:49.607Z","1.8.0-alpha.45":"2024-04-22T10:24:08.766Z","1.8.0-alpha.46":"2024-04-22T10:53:03.242Z","1.8.0-alpha.47":"2024-04-23T05:57:17.655Z","1.8.0-alpha.48":"2024-04-25T08:41:54.301Z","1.8.0-alpha.49":"2024-04-25T08:45:40.052Z","1.8.0-alpha.50":"2024-04-25T09:24:02.492Z","1.8.0-alpha.51":"2024-04-25T09:26:37.197Z","1.8.0-alpha.52":"2024-04-25T09:42:52.501Z","1.8.0-alpha.53":"2024-04-25T10:03:38.159Z","1.8.0-alpha.54":"2024-04-25T10:21:08.175Z","1.8.0-alpha.55":"2024-04-25T10:44:45.837Z","1.8.0-alpha.56":"2024-05-15T13:50:29.575Z","1.8.0-alpha.57":"2024-05-15T15:07:35.922Z","1.8.0-alpha.58":"2024-05-15T16:04:28.256Z","1.8.0-alpha.59":"2024-05-15T16:43:55.081Z","1.8.0-alpha.60":"2024-05-16T07:22:23.187Z","1.8.0-alpha.61":"2024-05-21T04:43:00.118Z","1.8.0-alpha.62":"2024-05-21T08:42:53.977Z","1.8.0-alpha.63":"2024-06-05T23:21:32.415Z","1.8.0-alpha.64":"2024-06-05T23:53:42.494Z","1.8.0-alpha.65":"2024-06-06T00:18:15.299Z","1.8.0-alpha.66":"2024-06-06T00:21:23.388Z","1.8.0-alpha.67":"2024-06-06T00:43:41.876Z","1.8.0-alpha.68":"2024-06-06T01:06:34.036Z","1.8.0-alpha.69":"2024-06-06T01:14:53.641Z","1.8.0-alpha.70":"2024-06-06T01:27:24.936Z","1.8.0-alpha.71":"2024-06-06T02:38:06.503Z","1.8.0-alpha.72":"2024-06-06T03:09:18.865Z","1.8.0-alpha.73":"2024-06-06T03:51:29.040Z","1.8.0-alpha.74":"2024-06-06T04:14:41.617Z","1.8.0-alpha.75":"2024-06-06T05:00:52.952Z","1.8.0-alpha.76":"2024-06-06T05:50:43.099Z","1.8.0-alpha.78":"2024-06-12T09:56:39.388Z","1.8.0-alpha.79":"2024-06-24T10:26:34.203Z","1.8.0-alpha.80":"2024-06-24T14:24:26.332Z","1.8.0-alpha.81":"2024-06-24T15:06:07.113Z","1.8.0-alpha.82":"2024-06-26T01:40:36.404Z"},"author":{"name":"Daniel Conde","email":"danielconde9@gmail.com"},"license":"MIT","description":"This package was copied from https://github.com/serverless-components/aws-cloudfront because it wasn't being maintained anymore. It is being used by the [nextjs serverless component](https://github.com/serverless-nextjs/serverless-next.js/tree/master/pack","maintainers":[{"email":"musawir@getjerry.com","name":"musawir"},{"email":"denis@getjerry.com","name":"denisgrankin"},{"email":"zhangciwu@gmail.com","name":"zhangciwu"},{"email":"1014596312@qq.com","name":"xahhy"},{"email":"meteor.lxy@foxmail.com","name":"meteorlxy"}],"readme":"","readmeFilename":""}