{"_id":"@superherocheesecake/cache-validator","_rev":"54-ce23666622df5f5b539f6d2694c68c29","name":"@superherocheesecake/cache-validator","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@superherocheesecake/cache-validator","version":"1.0.0","description":"Validates cache settings against Superhero Cheesecake standards","main":"src/index.js","bin":{"validate-cache":"bin/validate-cache"},"contributors":[{"name":"Rian Verhagen","email":"rian@superherocheesecake.com"}],"repository":{"type":"git","url":"https://code.shcc.nl/projects/frontend-packages/repositories/shcc-tooling-cache-check"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Superhero Cheesecake","url":"http://www.superherocheesecake.com"},"license":"ISC","devDependencies":{"arg":"^5.0.0","cache-control-parser":"^1.0.8","esm":"^3.2.25","inquirer":"^8.0.0","puppeteer":"^9.1.1","puppeteer-request-spy":"^1.4.0"},"gitHead":"f9b2509ac7e4f975f44ba422ff86a90c6858930d","_id":"@superherocheesecake/cache-validator@1.0.0","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-Nticgyki+czg9wkuJXDVnpUlIXscPieoV0gbW0+eKtfLwn2WsGMMFO2K+vgPYo8fAXTOeWa7/uII+lrUFCfQLQ==","shasum":"7caa70bc0e04fd4e0c08a61c3cf1fccda8766a48","tarball":"https://registry.npmjs.org/@superherocheesecake/cache-validator/-/cache-validator-1.0.0.tgz","fileCount":6,"unpackedSize":7333,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgm73tCRA9TVsSAnZWagAAlCQP/3k+fmIHh47Ov5tVqsIU\n7IPbEhgeokmoTPMF/gy7XU3j12Rp4q7LvxmFQuBEmWwePQ1W82R/48TT16aF\nvWStBIHtXMxBRpaQtXyTHTwd3DTP/9v5k648Vy8+e9aoYNr5uY/9xGNqskeE\ntSz2iObMxBRs2TwaGDq+/RhrnEFP0J/MzqSoKYG6i3cAAKNeDYMci78ir3GH\nLGom3adHmfw/EfseXTg7ou6juKHP1b259jFh91ZmePEqdBWttDInYAdgCyrD\nhFMuRK7t77SP42gDRTk3z2+MxWhMsC/jAy4xnTflqp5f/L9Mpmbn21dHtuPx\nAd7aciTRfMl+mKp6PKU8IdTkWbE+WyMmCzRdnPFrv9FQNOEo0RkBOZYdoMF1\nKN8TTiMKgjZPOBjb06IJQpKgjO0OhuA8Qc2DcDR40b1rp7YScfYupRc1t1U1\np8NXFOquaHHk2Zrh7qGqdix6c0Qeqgu2mwNvPJICcR6uvpWXiNUexTpkuy9n\nZN8/ciZr6Wv2x/G0IVa2/3laQJExqmGdaIOgTEgBd2aiqdhJrUqH5V82swHO\nX1YFEQWLjSzL/kw1RGmvhIlI6MXtFvR3Y6btn1TPKts/6AqbpK19vTqHYMlV\nyZ4Ix6SsA1rQCg4wVCSuV501uQQcMFjwoVBYFEukpDojGzF9ZrRk7x5b14Ey\nBOli\r\n=6bXa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBKdbOKBcQS1Au/Ez31k0tU/owe/cXtI957/gBb4LsajAiAJJzsJZwMSTssVPoUZB0k57pdJ/a7I1OFa+ds2naPlZQ=="}]},"_npmUser":{"name":"peter_shcc","email":"peter@superherocheesecake.com"},"directories":{},"maintainers":[{"name":"gabrielnorman","email":"gabriel@superherocheesecake.com"},{"name":"vandenhork25","email":"t.vandenhork@nerds.company"},{"name":"raul.roman","email":"raul@superherocheesecake.com"},{"name":"elzar","email":"viktarrudzenia@gmail.com"},{"name":"anneka","email":"anneka@jump24.co.uk"},{"name":"secondejk","email":"jim.seconde@googlemail.com"},{"name":"jameswhite","email":"james@superherocheesecake.com"},{"name":"rianverhagen","email":"rian@superherocheesecake.com"},{"name":"peter_shcc","email":"peter@superherocheesecake.com"},{"name":"ambervanos","email":"amber@shcc.nl"},{"name":"joanna-shcc","email":"joanna@superherocheesecake.com"},{"name":"shcc_backend","email":"backend@superherocheesecake.com"},{"name":"thijs-shcc","email":"thijs@superherocheesecake.com"},{"name":"davidshcc","email":"david@superherocheesecake.com"},{"name":"coco_g","email":"coco@superherocheesecake.com"},{"name":"lashikova","email":"lashikova@superherocheesecake.com"},{"name":"riccardo.merli","email":"riccardo@superherocheesecake.com"},{"name":"stan-shcc","email":"stan@superherocheesecake.com"},{"name":"frontend_shcc","email":"frontend@superherocheesecake.com"},{"name":"istvanpataki","email":"hello@istvanpataki.com"},{"name":"alfred_shcc","email":"alfred@superherocheesecake.com"},{"name":"carinashcc","email":"carina@superherocheesecake.com"},{"name":"heytopher","email":"topher@heytopher.com"},{"name":"sjeiti","email":"npm@sjeiti.com"},{"name":"lukasfeitsma","email":"lukas@superherocheesecake.com"},{"name":"plasmic","email":"m@plasmic.nl"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cache-validator_1.0.0_1620819437405_0.5271792114036196"},"_hasShrinkwrap":false},"1.0.1":{"name":"@superherocheesecake/cache-validator","version":"1.0.1","description":"Validates cache settings against Superhero Cheesecake standards","main":"src/index.js","bin":{"validate-cache":"bin/validate-cache"},"contributors":[{"name":"Rian Verhagen","email":"rian@superherocheesecake.com"}],"repository":{"type":"git","url":"https://code.shcc.nl/projects/frontend-packages/repositories/shcc-tooling-cache-check"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Superhero Cheesecake","url":"http://www.superherocheesecake.com"},"license":"ISC","devDependencies":{"arg":"^5.0.0","cache-control-parser":"^1.0.8","esm":"^3.2.25","inquirer":"^8.0.0","puppeteer":"^9.1.1","puppeteer-request-spy":"^1.4.0"},"gitHead":"4106dee513d10bec78e72f3f315f90b9220dfc6b","_id":"@superherocheesecake/cache-validator@1.0.1","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-kCNb4pAj05/77EG9nbiFfZru4iv/KqdSrgryCpVZrGLbIbaCE/W+BmZI4JRQKqEIm8GTm8H+Tuv62YEyz+mG0w==","shasum":"ed6856fc9d9fc0e852f546c9bc112900070f8e32","tarball":"https://registry.npmjs.org/@superherocheesecake/cache-validator/-/cache-validator-1.0.1.tgz","fileCount":7,"unpackedSize":9553,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgm8VLCRA9TVsSAnZWagAALigP/iy1q4Mp+WjeXTjGNipO\nM3++RjibNusdxiwT2LrVokC+j8knPSh8fjtNo09UzCMT5YCfV/7HJnJHqfyY\nttH2CWeMey2CCvGtDe1kfIAr37qewbdwG+gyyne4kBeDp4l2pHSCaU3ICUTI\nfQF9W/lBCMcXrAKNHTEqb1Ck2FMG8NKJnTU4kGvnfItOJ5bXqtaAd7hg4Bms\nGP3UTyi9AiCiXRlVzYHkLXgod9NPPF2aYtuilz/V7WrZmgByDskH3Q0Vrnf+\ny2hZ9xPI2FVefIVOJMd4vmVbrsEoba7+zZsuQ0rHlDKT5iPx7gKAoBzIrNMY\nqSTCqIkL9Um28tfA8QLKgxVYfoJdlcOuDk+LcrKZZyj/qZmgqo+LkgNF6EO0\nFpHJIpMGyaGEt/WAEMhIUvymFa9Nzv8drNLAjCm/P5HvQrMe0QS5yF7y+UMe\nr6H9pbjtytj31IwaBKvhe2b/zjwviyfMzfzH0E5vq/xZ2ajiPg7SgNZDPiAb\nnJQjoB2gl025u21JHBs/7sIFF8iZO+XdXAI3LCPuvmgn9rfma++ZyRFYgmWe\nZi+/BTpgDvhE2RT861fUpC+3SE8aK8Y9k7vtHaUvRRlN8mc1tju449b6LbHp\nQtaLefNDof3u4UWftyUWccwd/UdgJ4f1kAue5tODgjMb4peWOwgoFmESaLOi\n8gCn\r\n=Lb5O\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDwSCYHC/D3APWcRqvtJBE5+EOcINagVr9xuQpGtV9PkAiB70Ljk+KfNgohWqeaRmjC8d7o/0IUq+/Nc23vWdSKWoQ=="}]},"_npmUser":{"name":"rianverhagen","email":"rian@superherocheesecake.com"},"directories":{},"maintainers":[{"name":"gabrielnorman","email":"gabriel@superherocheesecake.com"},{"name":"vandenhork25","email":"t.vandenhork@nerds.company"},{"name":"raul.roman","email":"raul@superherocheesecake.com"},{"name":"elzar","email":"viktarrudzenia@gmail.com"},{"name":"anneka","email":"anneka@jump24.co.uk"},{"name":"secondejk","email":"jim.seconde@googlemail.com"},{"name":"jameswhite","email":"james@superherocheesecake.com"},{"name":"rianverhagen","email":"rian@superherocheesecake.com"},{"name":"peter_shcc","email":"peter@superherocheesecake.com"},{"name":"ambervanos","email":"amber@shcc.nl"},{"name":"joanna-shcc","email":"joanna@superherocheesecake.com"},{"name":"shcc_backend","email":"backend@superherocheesecake.com"},{"name":"thijs-shcc","email":"thijs@superherocheesecake.com"},{"name":"davidshcc","email":"david@superherocheesecake.com"},{"name":"coco_g","email":"coco@superherocheesecake.com"},{"name":"lashikova","email":"lashikova@superherocheesecake.com"},{"name":"riccardo.merli","email":"riccardo@superherocheesecake.com"},{"name":"stan-shcc","email":"stan@superherocheesecake.com"},{"name":"frontend_shcc","email":"frontend@superherocheesecake.com"},{"name":"istvanpataki","email":"hello@istvanpataki.com"},{"name":"alfred_shcc","email":"alfred@superherocheesecake.com"},{"name":"carinashcc","email":"carina@superherocheesecake.com"},{"name":"heytopher","email":"topher@heytopher.com"},{"name":"sjeiti","email":"npm@sjeiti.com"},{"name":"lukasfeitsma","email":"lukas@superherocheesecake.com"},{"name":"plasmic","email":"m@plasmic.nl"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cache-validator_1.0.1_1620821323002_0.2828078833799399"},"_hasShrinkwrap":false},"1.0.2":{"name":"@superherocheesecake/cache-validator","version":"1.0.2","description":"Validates cache settings against Superhero Cheesecake standards","main":"src/index.js","bin":{"validate-cache":"bin/validate-cache"},"contributors":[{"name":"Rian Verhagen","email":"rian@superherocheesecake.com"}],"repository":{"type":"git","url":"https://code.shcc.nl/projects/frontend-packages/repositories/shcc-tooling-cache-check"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Superhero Cheesecake","url":"http://www.superherocheesecake.com"},"license":"ISC","dependencies":{"arg":"^5.0.0","cache-control-parser":"^1.0.8","esm":"^3.2.25","inquirer":"^8.0.0","puppeteer":"^9.1.1","puppeteer-request-spy":"^1.4.0"},"gitHead":"22d8e8cc31aef064134ec22087da34b3fab9415c","_id":"@superherocheesecake/cache-validator@1.0.2","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-PbabE0Flj5Oke01zA0O5Hm5puZL2G87pOFug4ODJK+6ch4flVRrwHCETUAUrWVeNH5GqnKQmLPm9adALe6SrJQ==","shasum":"1f23764aa30e932e5f6ad3124da110dbba6d631f","tarball":"https://registry.npmjs.org/@superherocheesecake/cache-validator/-/cache-validator-1.0.2.tgz","fileCount":7,"unpackedSize":9550,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgm8ZHCRA9TVsSAnZWagAA3UQQAJuwAFvTfQ04P5C/UVDJ\nePnSwyZxOhTyC3It/yhyUl8PzL9u2NvBIA2HjhynOfW1tVvtW6x2SirGOUOP\nakGa1h4rYcNjitPcNLPAAnLOGytjvDD3Sd783StHo+QmTXxaHzeqh2DeU95w\nFkS5QptFKyUcDGsBjcipAK7hUARHwx2i4wAlGDfLiv+BhwO33qF0K6KkgxGF\nFb/8Jq08WxxQNtyvqscPolQeMK5puYWjVNOIId1F0IQt9Dhbg4l8BVYD0oVk\nRcBtzB+lurFewtV3kbMmtqanne2r9e8njc3PaXOGKZiW0HmRtLWYLDCG7QtJ\nObEwxdjbxxDGEHXkdsL07+movae/3yfXYv029V7d2NUSX4e+UiHsmUbnoMaa\nFYQvZ784xqlCriQWTmpfzrzYGXOyrTCvWZli/XruigMlTCmxFF0CDjNz5ZVa\nJUgdzU/L/LqFC6bEKeuBXNfPbQNdpK1mScyaWtqcm81GwkO4LdpvEPeDP9gu\nhannShyGoHxaQmlyqpWJAkg7y3N+1Nz0OVkb4FLdC7h5211z+qofxK59geTN\nZGpfe3E7ie1ALDjxgOKjVgzyrk76Mp1sFGOqLzfQXx9tXyvkZn9Dg58GlNCm\n+8nt8Jqfpvqty/17a5+Zd9saInjiJsyA9LKEDNtVt/gP6jj2wqBOrmmMil2h\nFNCt\r\n=B6Io\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGOY1pMgC0UvOHWx47JV/0Jc7KUuJkHMACO4YGes7WyrAiEA+JxVZTiPXbM86vLeKe/Sfs3ZwI80dhpGBQhCM1UuxVk="}]},"_npmUser":{"name":"rianverhagen","email":"rian@superherocheesecake.com"},"directories":{},"maintainers":[{"name":"gabrielnorman","email":"gabriel@superherocheesecake.com"},{"name":"vandenhork25","email":"t.vandenhork@nerds.company"},{"name":"raul.roman","email":"raul@superherocheesecake.com"},{"name":"elzar","email":"viktarrudzenia@gmail.com"},{"name":"anneka","email":"anneka@jump24.co.uk"},{"name":"secondejk","email":"jim.seconde@googlemail.com"},{"name":"jameswhite","email":"james@superherocheesecake.com"},{"name":"rianverhagen","email":"rian@superherocheesecake.com"},{"name":"peter_shcc","email":"peter@superherocheesecake.com"},{"name":"ambervanos","email":"amber@shcc.nl"},{"name":"joanna-shcc","email":"joanna@superherocheesecake.com"},{"name":"shcc_backend","email":"backend@superherocheesecake.com"},{"name":"thijs-shcc","email":"thijs@superherocheesecake.com"},{"name":"davidshcc","email":"david@superherocheesecake.com"},{"name":"coco_g","email":"coco@superherocheesecake.com"},{"name":"lashikova","email":"lashikova@superherocheesecake.com"},{"name":"riccardo.merli","email":"riccardo@superherocheesecake.com"},{"name":"stan-shcc","email":"stan@superherocheesecake.com"},{"name":"frontend_shcc","email":"frontend@superherocheesecake.com"},{"name":"istvanpataki","email":"hello@istvanpataki.com"},{"name":"alfred_shcc","email":"alfred@superherocheesecake.com"},{"name":"carinashcc","email":"carina@superherocheesecake.com"},{"name":"heytopher","email":"topher@heytopher.com"},{"name":"sjeiti","email":"npm@sjeiti.com"},{"name":"lukasfeitsma","email":"lukas@superherocheesecake.com"},{"name":"plasmic","email":"m@plasmic.nl"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cache-validator_1.0.2_1620821574955_0.5860863824753311"},"_hasShrinkwrap":false}},"time":{"created":"2021-05-12T11:37:17.403Z","1.0.0":"2021-05-12T11:37:17.529Z","modified":"2022-12-08T14:45:02.328Z","1.0.1":"2021-05-12T12:08:43.155Z","1.0.2":"2021-05-12T12:12:55.124Z"},"maintainers":[{"email":"n0chabizniz@gmail.com","name":"n0cha"},{"email":"edward.ter.weeme@mediamonks.com","name":"edwardmediamonks"},{"email":"wesley.smulders@mediamonks.com","name":"wesleysmulders"},{"email":"ksawery.karczewski@mediamonks.com","name":"ksawery.mediamonks"},{"email":"t.vandenhork@nerds.company","name":"vandenhork25"},{"email":"johan@mediamonks.com","name":"johanholwerda"},{"email":"rene@mediamonks.com","name":"renedrie"},{"email":"kris@neuroproductions.be","name":"kristemmerman123"},{"email":"odin.schwartz@mediamonks.com","name":"odin.schwartz"},{"email":"biblex1222@gmail.com","name":"bolex222"},{"email":"coco.granger@mediamonks.com","name":"coco_g"},{"email":"frontend@superherocheesecake.com","name":"frontend_shcc"},{"email":"alfred@superherocheesecake.com","name":"alfred_shcc"},{"email":"carina@superherocheesecake.com","name":"carinashcc"},{"email":"lukas@superherocheesecake.com","name":"lukasfeitsma"},{"email":"online.james100@gmail.com","name":"jameswhite"},{"email":"raul@superherocheesecake.com","name":"raul.roman"},{"email":"jaak.kivinukk@mediamonks.com","name":"jaak.kivinukk"}],"description":"Validates cache settings against Superhero Cheesecake standards","repository":{"type":"git","url":"https://code.shcc.nl/projects/frontend-packages/repositories/shcc-tooling-cache-check"},"contributors":[{"name":"Rian Verhagen","email":"rian@superherocheesecake.com"}],"author":{"name":"Superhero Cheesecake","url":"http://www.superherocheesecake.com"},"license":"ISC","readme":"# Cache Validator\n\nThis CLI util will validate CDN/cache settings on a website, by default using the standard Superhero Cheesecake caching strategy patterns for CloudFront. \n\nThe tool will load the user specified url, render the webpage, and execute javascript. Then individual requests will be checked against the cache settings as specified in the config.\n\n## Get the tool (installs globally)\n\n```console\nnpm i @superherocheesecake/cache-validator -g\n```\n\n## Basic Usage\n```console\nvalidate-cache --url https://superherocheesecake.com\n```\n\n\n## Options\n\n#### url\n\ndefault is  `https://superherocheesecake.com`\n\n`--url=url`\n\n#### cachePatterns\n\nIt is possible to specify a custom cache pattern config to allow custom cache settings and CDN provider to be validated. This parameter requires a path to a config JSON file.\n\n`--cachePatterns=cachePatternsConfigJSON`\n\n## Custom configuration\n\nThe default cache pattern config file for the validator looks like this:\n\n```javascript\n{\n    \"patterns\": [\n        {\n            \"name\" : \"Main document\",\n            \"path\" : \"/\",\n            \"requiredHeaders\": [\"cache-control\", \"x-cache\"],\n            \"requiredValues\" : {\n                \"cache-control\": {\n                    \"maxAge\": \"1800\"\n                },\n                \"x-cache\" : \"Hit from cloudfront\" \n            }\n        },\n        {\n            \"name\" : \"API's\",\n            \"path\" : \"/api\",\n            \"requiredHeaders\": [\"cache-control\"],\n            \"requiredValues\" : {\n            }\n        },\n        {\n            \"name\" : \"Static assets\",\n            \"path\" : \"/static\",\n            \"requiredHeaders\": [\"cache-control\", \"x-cache\"],\n            \"requiredValues\" : {\n                \"cache-control\": {\n                    \"maxAge\": \"31536000\"\n                },\n                \"x-cache\" : \"Hit from cloudfront\" \n            }\n        },\n        {\n            \"name\" : \"Content\",\n            \"path\" : \"/content\",\n            \"requiredHeaders\": [\"cache-control\", \"x-cache\"],\n            \"requiredValues\" : {\n                \"cache-control\": {\n                    \"maxAge\": \"3600\"\n                },\n                \"x-cache\" : \"Hit from cloudfront\"                \n            }\n        }   \n    ] \n}\n```\n","readmeFilename":"readme.md"}