{"_id":"@fastify/view","_rev":"44-aa80893c9faae795da29454fcd2f21a3","name":"@fastify/view","dist-tags":{"next":"10.0.0","latest":"12.0.0"},"versions":{"7.0.0":{"name":"@fastify/view","version":"7.0.0","keywords":["fastify","template","view","speed","ejs","nunjucks","pug","handlebars","mustache","twig","eta"],"author":{"url":"http://delved.org","name":"Tomas Della Vedova - @delvedor"},"license":"MIT","_id":"@fastify/view@7.0.0","maintainers":[{"name":"simenb","email":"sbekkhus91@gmail.com"},{"name":"coopflow","email":"community@coopflow.com"},{"name":"simoneb","email":"simone.busoli@gmail.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"},{"name":"starptech","email":"deusdustin@gmail.com"},{"name":"delvedor","email":"tommydelved@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"allevo","email":"tomallevi@gmail.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"zekth","email":"vince.legoff@gmail.com"},{"name":"ethan_arrowood","email":"ethan@arrowood.dev"},{"name":"eomm","email":"behemoth89@gmail.com"},{"name":"fox1t","email":"maksim@sinik.it"},{"name":"davidmarkclements","email":"david.mark.clements@gmail.com"},{"name":"airhorns","email":"harry@harry.me"},{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"climba03003","email":"kaka@kakawebsitedemo.com"}],"homepage":"https://github.com/fastify/point-of-view#readme","bugs":{"url":"https://github.com/fastify/point-of-view/issues"},"tsd":{"directory":"test"},"dist":{"shasum":"a81f23c9b06829370c785459bb573c7844e2fe75","tarball":"https://registry.npmjs.org/@fastify/view/-/view-7.0.0.tgz","fileCount":97,"integrity":"sha512-IEs4qUHtDto9KmaXXhGZsJlM95HXziOdcOxv0bqhhAp6sSTu1SHj7D0XJoMO6nh+c7pBgpTDeiius9dQfbUq6Q==","signatures":[{"sig":"MEQCIFQKOhF79UJCnbGuVKXPiCIZphTis3HJbCXP1Sh3mSeYAiBakZki0XAg38+tO0GQPadxMg/YjO03FD8ZC5GgpLolFw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":278510,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJin43EACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpEiA/5AM9v4owiign9L0j+kCE5QKdwO8o5WNg7/aDQ6fa9rG092QRz\r\n4MWHkHlTIQDDoZKrs82AzY1YF9yZ5vc4dUxvw7TEH38EcLvXQPv4SfiqneSK\r\ntlJrf/1bxGSysYeN/EOi/oO8tVZ1qEJoIKrMXRl+IXwCzvhfeaT6clnMurZ6\r\nw7Q6wzKavARvsry/nEo3EYElCQOi0Pfad6pHtYB+8MjqV+JpV5BBcVcRPT6p\r\nH65Q/4vziqz479Xc2ccGO7f/z4ZbBNuJxZDpdC+Wz6b9eIFjdlbHDzs+XPiL\r\nmZ/58bBmH3NaeSo59t5Edz6+frsI2cnp+/PClCa4P+snp5LJNKc2N+YnEySc\r\n0IcZpIkGyVXk4Fw+9y3/fE4n4jLArxcyCggyEG202at7zD4MSIv23lECqtwP\r\njGPEvVSLHFqnM3JvgKV4SQV775A8xYVT/veEo9GJgFaXF7DZVdrFk/MlXspW\r\nV/BCty0+wwZ2EyvWAMlk5P7SLjuAJ2tu7i0dZGeHuIZ8x0VLQ12XUuEyFUKJ\r\nYBPMRN8Nl9z5B6KtNoyNamxCi8WAKqCIVHc/WIVpCJ5QqV2EKoBhw5bB9sNB\r\nb2/Zz+D6pnfmdw70eNxB2YmAHWjXBFIEmAstu/6DO/G2mkYqzHKBLGpeBqyi\r\ngy48z14+7AkIvV5wWR01w1/W/nsVVIvJMNE=\r\n=Yh71\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","gitHead":"33d108d4340d51c0bea216fbcbcbb50acef8fbce","scripts":{"test":"standard && tap -J test/*.js && tsd","example":"node example.js","example-typescript":"npx ts-node test/index.test-d.ts","test-with-snapshot":"cross-env TAP_SNAPSHOT=1 tap test/test-ejs-with-snapshot.js","example-with-options":"node example-ejs-with-some-options.js"},"_npmUser":{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"},"repository":{"url":"git+https://github.com/fastify/point-of-view.git","type":"git"},"_npmVersion":"8.1.0","description":"Template plugin for Fastify","directories":{},"_nodeVersion":"16.13.0","dependencies":{"hashlru":"^2.3.0","fastify-plugin":"^3.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dot":"^1.1.3","ejs":"^3.1.8","eta":"^1.11.0","pug":"^3.0.0","tap":"^16.0.0","tsd":"^0.20.0","pino":"^8.0.0","twig":"^1.13.3","split2":"^4.0.0","express":"^4.17.1","fastify":"^4.0.0-rc.2","liquidjs":"^9.15.1","mustache":"^4.0.1","nunjucks":"^3.2.1","standard":"^17.0.0","cross-env":"^7.0.2","handlebars":"^4.7.6","pre-commit":"^1.2.2","proxyquire":"^2.1.3","simple-get":"^4.0.0","typescript":"^4.0.2","@types/node":"^17.0.0","art-template":"^4.13.2","html-minifier":"^4.0.0","html-minify-stream":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/view_7.0.0_1654623684004_0.9720979777260768","host":"s3://npm-registry-packages"}},"7.1.0":{"name":"@fastify/view","version":"7.1.0","keywords":["fastify","template","view","speed","ejs","nunjucks","pug","handlebars","mustache","twig","eta"],"author":{"url":"http://delved.org","name":"Tomas Della Vedova - @delvedor"},"license":"MIT","_id":"@fastify/view@7.1.0","maintainers":[{"name":"simenb","email":"sbekkhus91@gmail.com"},{"name":"coopflow","email":"community@coopflow.com"},{"name":"simoneb","email":"simone.busoli@gmail.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"},{"name":"starptech","email":"deusdustin@gmail.com"},{"name":"delvedor","email":"tommydelved@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"allevo","email":"tomallevi@gmail.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"zekth","email":"vince.legoff@gmail.com"},{"name":"ethan_arrowood","email":"ethan@arrowood.dev"},{"name":"eomm","email":"behemoth89@gmail.com"},{"name":"fox1t","email":"maksim@sinik.it"},{"name":"davidmarkclements","email":"david.mark.clements@gmail.com"},{"name":"airhorns","email":"harry@harry.me"},{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"climba03003","email":"kaka@kakawebsitedemo.com"}],"homepage":"https://github.com/fastify/point-of-view#readme","bugs":{"url":"https://github.com/fastify/point-of-view/issues"},"tsd":{"directory":"test"},"dist":{"shasum":"7fb3dcf24b0ad1fc5a393860a56d9a4939b8a68a","tarball":"https://registry.npmjs.org/@fastify/view/-/view-7.1.0.tgz","fileCount":101,"integrity":"sha512-CLl5XnTvm1YZ3+VvXZDyA19Gejr+2jFG8dPTEO3D+lQlephSD2ukMbpgT56Insmu4ZEw+jikpXY3WBrVHFUt0g==","signatures":[{"sig":"MEUCIACeyW+tlgy/YGHoSh1aV0PsuneCL0Nr4/j/zXCZNPNbAiEAgl4E55/yjwQ4/jRoeOk9FPGECmuPB6L1zm9WpmwOMrQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":280438,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi7uM0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrwhRAAneGLxtr08dcT7/JXzeO0Cw9BQvfl339m1Lu1zVjuYBQPQ723\r\nBKTIkwMiStYYJtTO22jE7gMr56N8V2SBktzde1whWJsDVjV/5iawV31RXT+c\r\nfGOkJRJ5dw1gy1mpP6b3aY2hy2aF+NhOsZP4jFngExu1cyTVU7OuK+uMEZPI\r\nMp7UvTnac89ioJJj76KUbakC5FT/cU/WKvEDw2Y53sI/FibONx1fjXX88Z5/\r\nq62YzuroQs08FVT2XakVeU5QPnI0Yw6jWxeLNX3Hpcfj3XGfm7X/1n3v/8IV\r\nwzvcCfMpN+Ol8tbwhA7S51Bh1nWWve+Y5+uE3/La4nCmPisxXEv1CkDWf8ID\r\nHaDzwZ2uXwt/VnYcY6ijOKRnV+KKCfLXjvc4HDq7Dw+laA52dizmIvA84FOe\r\nP57MEMnyx7cNHhznmrVcVdMbJscGuM8f4iB5uYk7svsv9/dcF6gODQYvCKR5\r\nzVDI2HKbofuy5YPWaG5vnit31/OoHRcWdGS0BPm9JXIyKQQiFuxTmk22HBQu\r\n7xOSQmr1jLjK/wmgoNWmYIdtYmyGdriQJ/Jlm01STB9JZrg9nqYd286IAu0M\r\nfD0a4IJxeMM/IN2gBNJAJB/3/sGZJvwwtXwHtrNXgl8p226b9SH1sDxL5mFO\r\n73hvHcSUK0+mAe4XX9oM/uIKsN+js1yFFec=\r\n=jhPp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","gitHead":"14fcfd462c5044a8e886b2ff7ba68a920feccd00","scripts":{"test":"standard && tap -J test/*.js && tsd","example":"node example.js","example-typescript":"npx ts-node test/index.test-d.ts","test-with-snapshot":"cross-env TAP_SNAPSHOT=1 tap test/test-ejs-with-snapshot.js","example-with-options":"node example-ejs-with-some-options.js"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"repository":{"url":"git+https://github.com/fastify/point-of-view.git","type":"git"},"_npmVersion":"8.14.0","description":"Template plugin for Fastify","directories":{},"_nodeVersion":"16.15.1","dependencies":{"hashlru":"^2.3.0","fastify-plugin":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dot":"^1.1.3","ejs":"^3.1.8","eta":"^1.11.0","pug":"^3.0.0","tap":"^16.0.0","tsd":"^0.22.0","pino":"^8.0.0","twig":"^1.13.3","split2":"^4.0.0","express":"^4.17.1","fastify":"^4.0.0-rc.2","liquidjs":"^9.15.1","mustache":"^4.0.1","nunjucks":"^3.2.1","standard":"^17.0.0","cross-env":"^7.0.2","handlebars":"^4.7.6","proxyquire":"^2.1.3","simple-get":"^4.0.0","typescript":"^4.0.2","@types/node":"^18.0.0","art-template":"^4.13.2","html-minifier":"^4.0.0","html-minify-stream":"^2.0.0","@fastify/pre-commit":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/view_7.1.0_1659822900672_0.5212486403501475","host":"s3://npm-registry-packages"}},"7.1.1":{"name":"@fastify/view","version":"7.1.1","keywords":["fastify","template","view","speed","ejs","nunjucks","pug","handlebars","mustache","twig","eta"],"author":{"url":"http://delved.org","name":"Tomas Della Vedova - @delvedor"},"license":"MIT","_id":"@fastify/view@7.1.1","maintainers":[{"name":"simenb","email":"sbekkhus91@gmail.com"},{"name":"coopflow","email":"community@coopflow.com"},{"name":"simoneb","email":"simone.busoli@gmail.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"},{"name":"starptech","email":"deusdustin@gmail.com"},{"name":"delvedor","email":"tommydelved@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"allevo","email":"tomallevi@gmail.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"zekth","email":"vince.legoff@gmail.com"},{"name":"ethan_arrowood","email":"ethan@arrowood.dev"},{"name":"eomm","email":"behemoth89@gmail.com"},{"name":"fox1t","email":"maksim@sinik.it"},{"name":"davidmarkclements","email":"david.mark.clements@gmail.com"},{"name":"airhorns","email":"harry@harry.me"},{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"climba03003","email":"kaka@kakawebsitedemo.com"}],"homepage":"https://github.com/fastify/point-of-view#readme","bugs":{"url":"https://github.com/fastify/point-of-view/issues"},"dist":{"shasum":"e511b276728d5ed2147821f2caaadbb475e5fab7","tarball":"https://registry.npmjs.org/@fastify/view/-/view-7.1.1.tgz","fileCount":99,"integrity":"sha512-0qZUF9w61PJdHfHGzjPtMRQj2Rfw9r1hJ6QfnJgz6fdAeOMDWN1EB+LcBOODs1xkNOVXVJcjlZWSv+zv6bebGw==","signatures":[{"sig":"MEYCIQDoAsGSUFtIs106G7W1Oou6Zv3aKD05jGnVQN3MytEapAIhAMES8wSd9vIRaop2YiAk9JRYX+/Ffe6mF4u+dPIVcCNR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":280891,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjTA6KACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpeFQ//bSJ1IKjrqRh5/8RNUVpfC5pBaLutdfSnnQpqUpj26agRfNWg\r\n+5hxO3fdyswSwr1h0kUxW7zsKz/dcFq+hh8s3t90QdaVcuepAulmUXCRfao8\r\nc/hfL3PI6qpx4LdXZKeKTL89h1NVQo4QAacwaAYkpCyZaQeVd6TnY/NBd3Mf\r\n6sLWfWTHPvDULb7uJxY9AoHsD3LgaG21yqmJ9SZTalM6zSllp9Y7az5O7VLC\r\npvvLKHhkLGJxqcAL+wYV4wp5B+EMVpUafIHHxUKqF5+Xn67HPfNcvPcwNXpw\r\nMQOVqsf0cqfuYZZbPQzgudZnjZmRrTEGBw9+wyR+l82Ll/d7kWle1uEHTLoZ\r\nisjm9c9f9PYPs2yJ0Tm0We2QMWijYOTgdXr+N5ZE+k2JwijOi+Ji+1ZGkuSU\r\nk+Blq4T++56Q0QDRDxxXnHt743eI27sUDfDOkBh1vizWVqrmNCOf/Dl384uB\r\nFdkvnE7DGpZVuQdp18mk5/j47ND709Oc45GhInLFYIqhnFxpZ4qVAXoPTlfU\r\n1eETM4+00chOrREZXi6qbIycZr00eeir8rOEp6laXIHW5qgGRL5kiUscaKrG\r\nLOg3YgJG9P3EThGjVERclw9/gmqpEgjxQJvj1/B6uQRdzH+WB6u7tBCnT6M+\r\nNACc63+g8kfKuRcKva3fH1s7KXSk6RGQ4rw=\r\n=HIiM\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"types/index.d.ts","gitHead":"69e6e3ac2b712970609f0edd175556884a184828","scripts":{"lint":"standard","test":"npm run test:unit && npm run test:typescript","example":"node examples/example.js","test:unit":"tap","test:typescript":"tsd","example-typescript":"npx ts-node types/index.test-d.ts","test-with-snapshot":"cross-env TAP_SNAPSHOT=1 tap test/test-ejs-with-snapshot.js","example-with-options":"node examples/example-ejs-with-some-options.js"},"_npmUser":{"name":"eomm","email":"behemoth89@gmail.com"},"pre-commit":["lint","test"],"repository":{"url":"git+https://github.com/fastify/point-of-view.git","type":"git"},"_npmVersion":"8.10.0","description":"Template plugin for Fastify","directories":{},"_nodeVersion":"16.13.0","dependencies":{"hashlru":"^2.3.0","fastify-plugin":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dot":"^1.1.3","ejs":"^3.1.8","eta":"^1.11.0","pug":"^3.0.0","tap":"^16.0.0","tsd":"^0.24.1","pino":"^8.0.0","twig":"^1.13.3","split2":"^4.0.0","express":"^4.17.1","fastify":"^4.0.0-rc.2","liquidjs":"^9.15.1","mustache":"^4.0.1","nunjucks":"^3.2.1","standard":"^17.0.0","cross-env":"^7.0.2","handlebars":"^4.7.6","proxyquire":"^2.1.3","simple-get":"^4.0.0","@types/node":"^18.0.0","art-template":"^4.13.2","html-minifier":"^4.0.0","@fastify/pre-commit":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/view_7.1.1_1665928841423_0.9329151129710114","host":"s3://npm-registry-packages"}},"7.1.2":{"name":"@fastify/view","version":"7.1.2","keywords":["fastify","template","view","speed","ejs","nunjucks","pug","handlebars","mustache","twig","eta"],"author":{"url":"http://delved.org","name":"Tomas Della Vedova - @delvedor"},"license":"MIT","_id":"@fastify/view@7.1.2","maintainers":[{"name":"galvez","email":"jonasgalvez@gmail.com"},{"name":"simenb","email":"sbekkhus91@gmail.com"},{"name":"coopflow","email":"community@coopflow.com"},{"name":"simoneb","email":"simone.busoli@gmail.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"},{"name":"starptech","email":"deusdustin@gmail.com"},{"name":"delvedor","email":"tommydelved@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"allevo","email":"tomallevi@gmail.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"zekth","email":"vince.legoff@gmail.com"},{"name":"ethan_arrowood","email":"ethan@arrowood.dev"},{"name":"eomm","email":"behemoth89@gmail.com"},{"name":"fox1t","email":"maksim@sinik.it"},{"name":"davidmarkclements","email":"david.mark.clements@gmail.com"},{"name":"airhorns","email":"harry@harry.me"},{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"climba03003","email":"kaka@kakawebsitedemo.com"}],"homepage":"https://github.com/fastify/point-of-view#readme","bugs":{"url":"https://github.com/fastify/point-of-view/issues"},"dist":{"shasum":"7cf5bd4930b72522382646bd9e58577a08df21fc","tarball":"https://registry.npmjs.org/@fastify/view/-/view-7.1.2.tgz","fileCount":99,"integrity":"sha512-45aVeHcnyFy4o8Q7rbBO3ZRN/j8SL+NMEERBJZtRjUph8esOK1v6COmSsBD4p6t6x1OGFPVM48Rw+3qWygm/LA==","signatures":[{"sig":"MEUCIQDItF7HQ+NGPAklS427x43jjwXeoDHA0TdFxXhFznjrTgIgUebEZnGrtRJdF1gFDMC6+hOnkDbgYfOdmxKrU2XrPtM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":281758,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjZjrGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqs/A/9GJl6sbHMrQSvizh9JuM85cfdFaWlH2XACDTFrbsrwEq+tZUb\r\nc9DwUCwf5uN8wOdxgyerOTbRX/xTpRtYyGQHPv/fzeQs+aJqQ2GAPuBn2z7t\r\n3z64JUZ9hUfQm7KtMmicjSI1EcjyKyRk4NWmclh60lWvOwq0czWWXi0+EfFS\r\nyXLCkvbsTQBDxawOIkRP7Rnc5fnu1qJe3+6ljZpkTjCEfQer7DaOIMjY4cp5\r\nvJADL83GMpzqAVGYYS8/ymZj+gNwOGYgMsEfcuswOVAJ8Ndf14pedOaedGpo\r\nQ1KfnOfTylY7OPD+sdG+qlBbgtFJlJCkMZyQAWM2rYzknCB6pUMG1spN40rp\r\nBMnel/hXbD5O7qiHi5Qmmgt8RjMKbRmJjN5tGsaS5nBkRWoTGFoTl3OMcuuR\r\nBO2DrIQh3Bie+kIVgm5KhsMsc+PXVwGyPUizIU6J9Cgo2doxztaZjAA+feuz\r\nVeK1EuArb0fGXQA40/N2upB3KIFku3+/6RDhNvduz3FAEpj20235la25jyxM\r\nZcu/ZR3/NZbymK1ZLYch9hz54lNApRHsDFf2s9mm+3kJ/G3IursDPy6CKoWs\r\nIJLMBu9rstqv3U/fKLgWdDqqEp0Ua4CD631GTms3CV9/0iowtGE4tedsx9Aw\r\nagSfcAlF8hh6yhXR1gkRnC0A4BohY4fe20Q=\r\n=QxNV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"types/index.d.ts","gitHead":"179acef7331d994304a94a66d64bdae656c66bbe","scripts":{"lint":"standard","test":"npm run test:unit && npm run test:typescript","example":"node examples/example.js","test:unit":"tap","test:typescript":"tsd","example-typescript":"npx ts-node types/index.test-d.ts","test-with-snapshot":"cross-env TAP_SNAPSHOT=1 tap test/test-ejs-with-snapshot.js","example-with-options":"node examples/example-ejs-with-some-options.js"},"_npmUser":{"name":"eomm","email":"behemoth89@gmail.com"},"pre-commit":["lint","test"],"repository":{"url":"git+https://github.com/fastify/point-of-view.git","type":"git"},"_npmVersion":"8.10.0","description":"Template plugin for Fastify","directories":{},"_nodeVersion":"16.13.0","dependencies":{"hashlru":"^2.3.0","fastify-plugin":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dot":"^1.1.3","ejs":"^3.1.8","eta":"^1.11.0","pug":"^3.0.0","tap":"^16.0.0","tsd":"^0.24.1","pino":"^8.0.0","twig":"^1.13.3","split2":"^4.0.0","express":"^4.17.1","fastify":"^4.0.0-rc.2","liquidjs":"^9.15.1","mustache":"^4.0.1","nunjucks":"^3.2.1","standard":"^17.0.0","cross-env":"^7.0.2","handlebars":"^4.7.6","proxyquire":"^2.1.3","simple-get":"^4.0.0","@types/node":"^18.0.0","art-template":"^4.13.2","html-minifier":"^4.0.0","@fastify/pre-commit":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/view_7.1.2_1667644102511_0.4056627338034344","host":"s3://npm-registry-packages"}},"7.2.0":{"name":"@fastify/view","version":"7.2.0","keywords":["fastify","template","view","speed","ejs","nunjucks","pug","handlebars","mustache","twig","eta"],"author":{"url":"http://delved.org","name":"Tomas Della Vedova - @delvedor"},"license":"MIT","_id":"@fastify/view@7.2.0","maintainers":[{"name":"galvez","email":"jonasgalvez@gmail.com"},{"name":"simenb","email":"sbekkhus91@gmail.com"},{"name":"coopflow","email":"community@coopflow.com"},{"name":"simoneb","email":"simone.busoli@gmail.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"},{"name":"starptech","email":"deusdustin@gmail.com"},{"name":"delvedor","email":"tommydelved@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"allevo","email":"tomallevi@gmail.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"zekth","email":"vince.legoff@gmail.com"},{"name":"ethan_arrowood","email":"ethan@arrowood.dev"},{"name":"eomm","email":"behemoth89@gmail.com"},{"name":"fox1t","email":"maksim@sinik.it"},{"name":"davidmarkclements","email":"david.mark.clements@gmail.com"},{"name":"airhorns","email":"harry@harry.me"},{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"climba03003","email":"kaka@kakawebsitedemo.com"}],"homepage":"https://github.com/fastify/point-of-view#readme","bugs":{"url":"https://github.com/fastify/point-of-view/issues"},"dist":{"shasum":"e3401d6f3c2792c49eedfeb398997d0557a730c0","tarball":"https://registry.npmjs.org/@fastify/view/-/view-7.2.0.tgz","fileCount":99,"integrity":"sha512-DgBm3tMVOhm32PS7T8W4PjtyZqBW3IfHTAsZBylj8jEp75Fj6uGVak2dbT4VDIoUS6mW53qJRU7qx9FY2rZtFA==","signatures":[{"sig":"MEUCIAXENx2cc+4wnxqUv971EMCP6l2otRxkn4MwtrqCT48yAiEAsnw550zzfH+IazdqF6FY9DRGDJ0+HEsJQ78+aB2zmcI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":282707,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfRJsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrAXA/8CiB+8CB1UYqzjuYMIoXBnagt6vZhW6TWu12HljhDQE+zEERZ\r\noVPDG/LINrr2LdVkvF/usZpLngNw4VEhiz/XoeCFVYMV1quc3ibAhymmxMbs\r\nKwWtxGXH079S314/1bi3KlPb+MW/fUMCnZ31G2+ODCWSvL+GBAbm+mdJrMYw\r\nUUdCH97uHDA6q8zVKzZBdnWHHa+apKMSZX+AtQheok5TSKwlEfFb63lUFskB\r\nU07Dr7/4B86iB1OHtbtSVv8JgGRx90lu9+eOpnYYzH5OusRROqDWPIVTj2pj\r\n3yRsJHIPMR37XzcPW9JbTOXQ0DhiVmBKChsToc7rokOn5mdPPRK+aX9CdOQl\r\n3Q8DRSK1qzuhRbYdxULJ2g3LSVyzMJrGVZpkZcc0MoJqH4QU/ryDv4YlW7kJ\r\nOENt5/V1xYHzZSM+6sj5WLShAEieEIKWBWz1nnLm/IcCwLjgeXZUtlWpRpZ2\r\noeJAWNhb+aKedYjWqH6Bx4f8fBl0Rjyh1OdBHaje3jUjB8iL6h/q5nl4/Fsn\r\nflb9DdtPHWs1apkrZx76gRfdy+DVL1XOhLrerbkRVfxIcCzCH0dhgQXj6nbR\r\nqXunZaAASwNmwNU/Y/go1BWJBpUD4sJUIp/MXNhPkw7V8lDP6hJAyuYE/0pg\r\nNlEB6ZVsWkPPu/WDoUSxLe9wbBQdIvMpHzs=\r\n=Dyje\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"types/index.d.ts","gitHead":"4c592a4baea973f842689a36dd297ed1c0997d16","scripts":{"lint":"standard","test":"npm run test:unit && npm run test:typescript","example":"node examples/example.js","test:unit":"tap","test:typescript":"tsd","example-typescript":"npx ts-node types/index.test-d.ts","test-with-snapshot":"cross-env TAP_SNAPSHOT=1 tap test/test-ejs-with-snapshot.js","example-with-options":"node examples/example-ejs-with-some-options.js"},"_npmUser":{"name":"eomm","email":"behemoth89@gmail.com"},"pre-commit":["lint","test"],"repository":{"url":"git+https://github.com/fastify/point-of-view.git","type":"git"},"_npmVersion":"8.10.0","description":"Template plugin for Fastify","directories":{},"_nodeVersion":"16.13.0","dependencies":{"hashlru":"^2.3.0","fastify-plugin":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dot":"^1.1.3","ejs":"^3.1.8","eta":"^1.11.0","pug":"^3.0.0","tap":"^16.0.0","tsd":"^0.24.1","pino":"^8.0.0","twig":"^1.13.3","split2":"^4.0.0","express":"^4.17.1","fastify":"^4.0.0-rc.2","liquidjs":"^9.15.1","mustache":"^4.0.1","nunjucks":"^3.2.1","standard":"^17.0.0","cross-env":"^7.0.2","handlebars":"^4.7.6","proxyquire":"^2.1.3","simple-get":"^4.0.0","@types/node":"^18.0.0","art-template":"^4.13.2","html-minifier":"^4.0.0","@fastify/pre-commit":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/view_7.2.0_1669141100343_0.8543359412282674","host":"s3://npm-registry-packages"}},"7.3.0":{"name":"@fastify/view","version":"7.3.0","keywords":["fastify","template","view","speed","ejs","nunjucks","pug","handlebars","mustache","twig","eta"],"author":{"url":"http://delved.org","name":"Tomas Della Vedova - @delvedor"},"license":"MIT","_id":"@fastify/view@7.3.0","maintainers":[{"name":"galvez","email":"jonasgalvez@gmail.com"},{"name":"simenb","email":"sbekkhus91@gmail.com"},{"name":"coopflow","email":"community@coopflow.com"},{"name":"simoneb","email":"simone.busoli@gmail.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"},{"name":"starptech","email":"deusdustin@gmail.com"},{"name":"delvedor","email":"tommydelved@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"allevo","email":"tomallevi@gmail.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"zekth","email":"vince.legoff@gmail.com"},{"name":"ethan_arrowood","email":"ethan@arrowood.dev"},{"name":"eomm","email":"behemoth89@gmail.com"},{"name":"fox1t","email":"maksim@sinik.it"},{"name":"davidmarkclements","email":"david.mark.clements@gmail.com"},{"name":"airhorns","email":"harry@harry.me"},{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"climba03003","email":"kaka@kakawebsitedemo.com"}],"homepage":"https://github.com/fastify/point-of-view#readme","bugs":{"url":"https://github.com/fastify/point-of-view/issues"},"dist":{"shasum":"5f315b2fd5ed9cdd2c04b359deee9c6c1227812e","tarball":"https://registry.npmjs.org/@fastify/view/-/view-7.3.0.tgz","fileCount":99,"integrity":"sha512-NkT7VemozRmuYyML2oosEwwJk43Ca02CxwMnVmZ3XNF2ULYMI1pgiauIgTn+cCV6JT9wtsqpXRp4SvyH8vZF2A==","signatures":[{"sig":"MEYCIQCHpyk9SIfIgPN+o0u1EZpfbxwK/S9Si2i4A7hkzrnr1gIhAKZkzKrSLxmqEeaMyX3af9jVvmSTq3Z/ahBjGjLgGfBo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":283222,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjfn92ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp+rA/+L2WViuzewEfufHSlq875xtqPOVHI0xkayE0wiYg1uv7ICCW3\r\nPiQF84oNmMSOKbDoW21U+1BHCtMr5A0/N1rLGUzTYmtv4uU2573rm68oMtyG\r\nLQ9YVelSBz+hm+sW8kP65ThKhsvY6lYASkgThLU2BtH9V+G5XKyapEBZ1YeS\r\n6qnHdmlAAL/7pT8lbNBSptZx9x/E0wC5ZKNFfHnZKB35++52KuP65oiyVtQ+\r\nUn9iRSoNVUl5w8qaYw72Oy3LfmD29DA/wcrlG9IWCoGR6jl02ungeP92nbxm\r\nZA7pNQea39DW+bULYTaBcpZPgQls5IQWSBaoJWZV1wVBbFTHOWZrezqTc2OS\r\nFT0/TYnsh3M4WPYYuP2rYmo3z4iVI0FIvR0SzGIRd1Yg6VTmdTDYCuFnFvLd\r\nBmdSAZF5M6HPmDzn2b7wZzDcseuxRMbXm3wQyPll7vHeNOdOHCExJjoDcLKg\r\nmNIjSUSZfdGLCVHUx+D981KGSzqghman5+HMECtDB0A/S/EBz7DfIBWbxt2w\r\nno54QcQ2eSbeRnWgonzg6rOvlYq13kd/FYV7ClHmCT2BD879F05jW5DV1F8c\r\n8zIphkzVSvK9jVVndZWqlZ+luZezVTr52OYC2bu5hBT42ZpUnG2exzKBAfd3\r\nuf60ulLgntGdv8CvgF86/ebPMEuI++41BQA=\r\n=K2QO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"types/index.d.ts","gitHead":"45b628aa0477d9a2d1b6f1ba4288328a5e68e5a0","scripts":{"lint":"standard","test":"npm run test:unit && npm run test:typescript","example":"node examples/example.js","test:unit":"tap","test:typescript":"tsd","example-typescript":"npx ts-node types/index.test-d.ts","test-with-snapshot":"cross-env TAP_SNAPSHOT=1 tap test/test-ejs-with-snapshot.js","example-with-options":"node examples/example-ejs-with-some-options.js"},"_npmUser":{"name":"eomm","email":"behemoth89@gmail.com"},"pre-commit":["lint","test"],"repository":{"url":"git+https://github.com/fastify/point-of-view.git","type":"git"},"_npmVersion":"8.10.0","description":"Template plugin for Fastify","directories":{},"_nodeVersion":"16.13.0","dependencies":{"hashlru":"^2.3.0","fastify-plugin":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dot":"^1.1.3","ejs":"^3.1.8","eta":"^1.11.0","pug":"^3.0.0","tap":"^16.0.0","tsd":"^0.24.1","pino":"^8.0.0","twig":"^1.13.3","split2":"^4.0.0","express":"^4.17.1","fastify":"^4.0.0-rc.2","liquidjs":"^9.15.1","mustache":"^4.0.1","nunjucks":"^3.2.1","standard":"^17.0.0","cross-env":"^7.0.2","handlebars":"^4.7.6","proxyquire":"^2.1.3","simple-get":"^4.0.0","@types/node":"^18.0.0","art-template":"^4.13.2","html-minifier":"^4.0.0","@fastify/pre-commit":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/view_7.3.0_1669234550518_0.6342984861039187","host":"s3://npm-registry-packages"}},"7.4.0":{"name":"@fastify/view","version":"7.4.0","keywords":["fastify","template","view","speed","ejs","nunjucks","pug","handlebars","mustache","twig","eta"],"author":{"url":"http://delved.org","name":"Tomas Della Vedova - @delvedor"},"license":"MIT","_id":"@fastify/view@7.4.0","maintainers":[{"name":"galvez","email":"jonasgalvez@gmail.com"},{"name":"simenb","email":"sbekkhus91@gmail.com"},{"name":"coopflow","email":"community@coopflow.com"},{"name":"simoneb","email":"simone.busoli@gmail.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"},{"name":"starptech","email":"deusdustin@gmail.com"},{"name":"delvedor","email":"tommydelved@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"allevo","email":"tomallevi@gmail.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"zekth","email":"vince.legoff@gmail.com"},{"name":"eomm","email":"behemoth89@gmail.com"},{"name":"fox1t","email":"maksim@sinik.it"},{"name":"davidmarkclements","email":"david.mark.clements@gmail.com"},{"name":"airhorns","email":"harry@harry.me"},{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"climba03003","email":"kaka@kakawebsitedemo.com"}],"homepage":"https://github.com/fastify/point-of-view#readme","bugs":{"url":"https://github.com/fastify/point-of-view/issues"},"dist":{"shasum":"6710c542e0c3845b3149aca923a32b239397dc85","tarball":"https://registry.npmjs.org/@fastify/view/-/view-7.4.0.tgz","fileCount":99,"integrity":"sha512-0AzLsS7+Vbn2ElN2w1MqbHacecv4FJxWuiDg9LrqeWeG8suUIV5qBnF1ZGbf023NQUchgR++g2hY7uAyk5PaWA==","signatures":[{"sig":"MEQCIBKCqKbcNDagyu0+wuALfgvSxL4W++v9DwIvvGEMW2DGAiBwreFJeigOWepZ3SVloOAmcPoZYyuV5NLhKR12JRYdcw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":284012,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjwXBLACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpd4xAAmGYdAI0JZaQgFKTAR7T0ArS4n7MqcDKuzUJhn5niTpgIRSqu\r\n3b6hFwmHpOPunz3BxBXPFVGX6dtstTAuJNz8rkO/2R4RsY+YoV/BVrCZdnXw\r\nv8Y/GavreHDj7nbrtIvIugO+/ssvX2EHMaaFnYBSYzGdkMbYeZA71qoaL+XD\r\nreABbK+jsIioXceS8Y8D1V7CsJafEl2Qr6lsQ/8as/9CslFlkwTRcTPipnF6\r\nCoF6JkyHsveXCm5gKNlRCr7cVkmX6nrKxuT86H4sFxIoEmzlVTUNBB+8GMcP\r\nSA515pK3QBcxvMiLwr2ARQV7wSzmbMdiqCxEqmvuYnBY5QnoSQOdZaHJfIbb\r\n7G7JdRJUwB4pZy1sruqQVpmesljTynR2fKZ0bGjSLbOPCydSQ8ZjBf29LjEr\r\n66U7tSBZ935SFDrB1FigkYDdnyCJXGMxGVKKBMo1JR3Gsv/OqAGXMpvvalvm\r\nTg3NDe6w3W4bR6kQVj0Zuiii+gUcBCrSNspAx/jHABZew3JDoh+f+qcLLi9Z\r\nPIHAzgG4KFRi1Y7nr+TEJxbAgfG/pPX+StKKcAicn/fiut9J4mL2cGdK/lat\r\n3V98qvDX/UaD/+Dux7zDi43JGy+4QKCm9rVGE77cEk0FRi0x/SS/Sqd/sWla\r\nTgCLYC8VFd9F2fcnB3XhhyldjG0ce2afd00=\r\n=JnvO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"types/index.d.ts","gitHead":"441400ffa0aa1e830794442ab07819f73e1225a5","scripts":{"lint":"standard","test":"npm run test:unit && npm run test:typescript","example":"node examples/example.js","test:unit":"tap","test:typescript":"tsd","example-typescript":"npx ts-node types/index.test-d.ts","test-with-snapshot":"cross-env TAP_SNAPSHOT=1 tap test/test-ejs-with-snapshot.js","example-with-options":"node examples/example-ejs-with-some-options.js"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"pre-commit":["lint","test"],"repository":{"url":"git+https://github.com/fastify/point-of-view.git","type":"git"},"_npmVersion":"9.2.0","description":"Template plugin for Fastify","directories":{},"_nodeVersion":"16.19.0","dependencies":{"hashlru":"^2.3.0","fastify-plugin":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dot":"^1.1.3","ejs":"^3.1.8","eta":"^1.11.0","pug":"^3.0.0","tap":"^16.0.0","tsd":"^0.25.0","pino":"^8.0.0","twig":"^1.13.3","split2":"^4.0.0","express":"^4.17.1","fastify":"^4.0.0-rc.2","liquidjs":"^10.0.0","mustache":"^4.0.1","nunjucks":"^3.2.1","standard":"^17.0.0","cross-env":"^7.0.2","handlebars":"^4.7.6","proxyquire":"^2.1.3","simple-get":"^4.0.0","@types/node":"^18.0.0","art-template":"^4.13.2","html-minifier":"^4.0.0","@fastify/pre-commit":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/view_7.4.0_1673621579053_0.17165648080437745","host":"s3://npm-registry-packages"}},"7.4.1":{"name":"@fastify/view","version":"7.4.1","keywords":["fastify","template","view","speed","ejs","nunjucks","pug","handlebars","mustache","twig","eta"],"author":{"url":"http://delved.org","name":"Tomas Della Vedova - @delvedor"},"license":"MIT","_id":"@fastify/view@7.4.1","maintainers":[{"name":"galvez","email":"jonasgalvez@gmail.com"},{"name":"simenb","email":"sbekkhus91@gmail.com"},{"name":"coopflow","email":"community@coopflow.com"},{"name":"simoneb","email":"simone.busoli@gmail.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"},{"name":"starptech","email":"deusdustin@gmail.com"},{"name":"delvedor","email":"tommydelved@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"allevo","email":"tomallevi@gmail.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"zekth","email":"vince.legoff@gmail.com"},{"name":"eomm","email":"behemoth89@gmail.com"},{"name":"fox1t","email":"maksim@sinik.it"},{"name":"davidmarkclements","email":"david.mark.clements@gmail.com"},{"name":"airhorns","email":"harry@harry.me"},{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"climba03003","email":"kaka@kakawebsitedemo.com"}],"homepage":"https://github.com/fastify/point-of-view#readme","bugs":{"url":"https://github.com/fastify/point-of-view/issues"},"dist":{"shasum":"265daba48386a5d3f69dfc446af468d72e0a8757","tarball":"https://registry.npmjs.org/@fastify/view/-/view-7.4.1.tgz","fileCount":99,"integrity":"sha512-ahmRmSbNVM8bIoz0BAFnY0jNigom+xbPQ9Q1ZjmNOtGVVT3nYXCxw2OMkTr9iXwrJ4Le3EtWDHlFkZ2fCQ2hJA==","signatures":[{"sig":"MEUCIQCb+uOGJaJAAIJBbCTHFofb6ged6tHey/fLjSA9tGAWBQIgPacQ19csxFIj/espMDjXNnzVXzkHWZB9pP+YJnOt5W4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":284671,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj0mX8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoPgg/6A+7fmEWGsVesdvcURWBsP/yKLgMdiiHDnVkiGvrtknogw+in\r\nFK46weLJKT6/Rl6ie6CogIhzfVd8+PtItomD7rjDySC6Wuh5avKO5te3bK/+\r\nhSQ6vERjbS+oCnRYCEJKo0JMpQxyXle6HmrxrHOoTcb8rk/fDsJQ6HEkSFP4\r\nS9YhmG7p2W7bJzJKeJMRRQJUh2d8wItt+h3fwzjUFUF8TKgA7OxPUnM/8Oak\r\nm09SzWG2Jm2Mes0FiBi8Gbs9NdCZQ9X5RcK0nJAH9vvrcxA/uAM7gY7Wvwx0\r\naYnqdUuw/ua0hsk8QLxtERZVmFD7gvUk4wN/RbSUvgbN4SdwVGksGKAAskWh\r\nGt1vgH9VjAICpcAh4iL9365zl8ID71sU4IlvgNDVCgqgf1EfwnwSTCl1pDMH\r\nNL0Qo8w0bLcobrZkT39ENsJkEu1wYk9iaMJpdkH3qXOBm7GmyY/VuEFPeWE+\r\nFYq+b0nOprat9wkIf3mhjwu4nfHBGRkEyZsggI1g7GXMNw9jrgs3i8+fZsJU\r\nEY/ndIcn9XzSWTZU8pwSytu1mlkDDF04wybHIyN58JhtAgQ7T14pgt0fJ3N7\r\ntXbpcSiuyLK5ts580rkcN3VWTMICB9aCjxw3pXGs50tNsUc9loUQpCUndSOq\r\nzvPPdYKDSwdFGj2sPTalQvlyZ+LjHmhrdrQ=\r\n=o1O8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"types/index.d.ts","gitHead":"ae72d6e9c3d2847bd82b7b4bfd6da33c37335563","scripts":{"lint":"standard","test":"npm run test:unit && npm run test:typescript","example":"node examples/example.js","test:unit":"tap","test:typescript":"tsd","example-typescript":"npx ts-node types/index.test-d.ts","test-with-snapshot":"cross-env TAP_SNAPSHOT=1 tap test/test-ejs-with-snapshot.js","example-with-options":"node examples/example-ejs-with-some-options.js"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"pre-commit":["lint","test"],"repository":{"url":"git+https://github.com/fastify/point-of-view.git","type":"git"},"_npmVersion":"9.2.0","description":"Template plugin for Fastify","directories":{},"_nodeVersion":"16.19.0","dependencies":{"hashlru":"^2.3.0","fastify-plugin":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dot":"^1.1.3","ejs":"^3.1.8","eta":"^1.11.0","pug":"^3.0.0","tap":"^16.0.0","tsd":"^0.25.0","pino":"^8.0.0","twig":"^1.13.3","split2":"^4.0.0","express":"^4.17.1","fastify":"^4.0.0-rc.2","liquidjs":"^10.0.0","mustache":"^4.0.1","nunjucks":"^3.2.1","standard":"^17.0.0","cross-env":"^7.0.2","handlebars":"^4.7.6","proxyquire":"^2.1.3","simple-get":"^4.0.0","@types/node":"^18.0.0","art-template":"^4.13.2","html-minifier":"^4.0.0","@fastify/pre-commit":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/view_7.4.1_1674733052613_0.7637281608748268","host":"s3://npm-registry-packages"}},"8.0.0":{"name":"@fastify/view","version":"8.0.0","keywords":["fastify","template","view","speed","ejs","nunjucks","pug","handlebars","mustache","twig","eta"],"author":{"url":"http://delved.org","name":"Tomas Della Vedova - @delvedor"},"license":"MIT","_id":"@fastify/view@8.0.0","maintainers":[{"name":"metcoder95","email":"me@metcoder.dev"},{"name":"galvez","email":"jonasgalvez@gmail.com"},{"name":"simenb","email":"sbekkhus91@gmail.com"},{"name":"coopflow","email":"community@coopflow.com"},{"name":"simoneb","email":"simone.busoli@gmail.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"},{"name":"starptech","email":"deusdustin@gmail.com"},{"name":"delvedor","email":"tommydelved@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"allevo","email":"tomallevi@gmail.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"zekth","email":"vince.legoff@gmail.com"},{"name":"eomm","email":"behemoth89@gmail.com"},{"name":"fox1t","email":"maksim@sinik.it"},{"name":"airhorns","email":"harry@harry.me"},{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"climba03003","email":"kaka@kakawebsitedemo.com"}],"homepage":"https://github.com/fastify/point-of-view#readme","bugs":{"url":"https://github.com/fastify/point-of-view/issues"},"dist":{"shasum":"ccd4fa217a36c8058a723296d09a8a6a48a004a2","tarball":"https://registry.npmjs.org/@fastify/view/-/view-8.0.0.tgz","fileCount":99,"integrity":"sha512-XfAffgqRj+AtEtkZeAAkMwTtu32Ve6xWkhxWQ9JOwXm2qQM6Fj+xphxnLvqpvQ0hJAYFYGiTOpB5ZS2VI5u00Q==","signatures":[{"sig":"MEUCIDJZ2LkN2aaPVNBmxRKFzOBhE+i+/T9AfGvZZ9G5uEW1AiEAmYBaGc1ndYnWDhuj9RIOtL0yffaGLNkykMo17++O7+k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":284794},"main":"index.js","types":"types/index.d.ts","gitHead":"2cd6425b7c5cef5f2e0fb907e7c9e23ce2d935bb","scripts":{"lint":"standard","test":"npm run test:unit && npm run test:typescript","example":"node examples/example.js","test:unit":"tap","test:typescript":"tsd","example-typescript":"npx ts-node types/index.test-d.ts","test-with-snapshot":"cross-env TAP_SNAPSHOT=1 tap test/test-ejs-with-snapshot.js","example-with-options":"node examples/example-ejs-with-some-options.js"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"pre-commit":["lint","test"],"repository":{"url":"git+https://github.com/fastify/point-of-view.git","type":"git"},"_npmVersion":"9.5.1","description":"Template plugin for Fastify","directories":{},"_nodeVersion":"18.16.1","dependencies":{"hashlru":"^2.3.0","fastify-plugin":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dot":"^1.1.3","ejs":"^3.1.8","eta":"^3.0.3","pug":"^3.0.0","tap":"^16.0.0","tsd":"^0.28.0","pino":"^8.0.0","twig":"^1.13.3","split2":"^4.0.0","express":"^4.17.1","fastify":"^4.0.0-rc.2","liquidjs":"^10.0.0","mustache":"^4.0.1","nunjucks":"^3.2.1","standard":"^17.0.0","cross-env":"^7.0.2","handlebars":"^4.7.6","proxyquire":"^2.1.3","simple-get":"^4.0.0","@types/node":"^20.1.0","art-template":"^4.13.2","html-minifier":"^4.0.0","@fastify/pre-commit":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/view_8.0.0_1688129058219_0.9761087708740033","host":"s3://npm-registry-packages"}},"8.1.0":{"name":"@fastify/view","version":"8.1.0","keywords":["fastify","template","view","speed","ejs","nunjucks","pug","handlebars","mustache","twig","eta"],"author":{"url":"http://delved.org","name":"Tomas Della Vedova - @delvedor"},"license":"MIT","_id":"@fastify/view@8.1.0","maintainers":[{"name":"gurgunday","email":"gurgun.dayioglu@icloud.com"},{"name":"metcoder95","email":"me@metcoder.dev"},{"name":"galvez","email":"jonasgalvez@gmail.com"},{"name":"simenb","email":"sbekkhus91@gmail.com"},{"name":"coopflow","email":"community@coopflow.com"},{"name":"simoneb","email":"simone.busoli@gmail.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"},{"name":"starptech","email":"deusdustin@gmail.com"},{"name":"delvedor","email":"tommydelved@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"allevo","email":"tomallevi@gmail.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"zekth","email":"vince.legoff@gmail.com"},{"name":"eomm","email":"behemoth89@gmail.com"},{"name":"fox1t","email":"maksim@sinik.it"},{"name":"airhorns","email":"harry@harry.me"},{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"climba03003","email":"kaka@kakawebsitedemo.com"}],"homepage":"https://github.com/fastify/point-of-view#readme","bugs":{"url":"https://github.com/fastify/point-of-view/issues"},"dist":{"shasum":"280a563a3be4252cacc76ecf5c2dede6e7a0b5f0","tarball":"https://registry.npmjs.org/@fastify/view/-/view-8.1.0.tgz","fileCount":100,"integrity":"sha512-O2a7ylzevXB7HtEaZmBFzaOsBc2J6zbAhoSyEYQMOQOYZz8AHxlLR+gH+mFkcd9lHdJaMBhMiWC+smftA/5fXg==","signatures":[{"sig":"MEUCIFNqOgikR6L0IBm9qoe+Xs64D8F+1AVV+CP33ToGNpjNAiEAuqULHpk6rNZ+i6cyeF6xTG+3t2ocYTO7YuWrzq7omqQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":287739},"main":"index.js","types":"types/index.d.ts","gitHead":"39f16ecd1aa741960f6bb8d973f7f2deea3c2eaa","scripts":{"lint":"standard","test":"npm run test:unit && npm run test:typescript","example":"node examples/example.js","test:unit":"tap","test:typescript":"tsd","example-typescript":"npx ts-node types/index.test-d.ts","test-with-snapshot":"cross-env TAP_SNAPSHOT=1 tap test/test-ejs-with-snapshot.js","example-with-options":"node examples/example-ejs-with-some-options.js"},"_npmUser":{"name":"eomm","email":"behemoth89@gmail.com"},"pre-commit":["lint","test"],"repository":{"url":"git+https://github.com/fastify/point-of-view.git","type":"git"},"_npmVersion":"9.5.0","description":"Template plugin for Fastify","directories":{},"_nodeVersion":"18.15.0","dependencies":{"hashlru":"^2.3.0","fastify-plugin":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dot":"^1.1.3","ejs":"^3.1.8","eta":"^3.0.3","pug":"^3.0.0","tap":"^16.0.0","tsd":"^0.29.0","pino":"^8.0.0","twig":"^1.13.3","split2":"^4.0.0","express":"^4.17.1","fastify":"^4.0.0-rc.2","liquidjs":"^10.0.0","mustache":"^4.0.1","nunjucks":"^3.2.1","standard":"^17.0.0","cross-env":"^7.0.2","handlebars":"^4.7.6","proxyquire":"^2.1.3","simple-get":"^4.0.0","@types/node":"^20.1.0","art-template":"^4.13.2","html-minifier":"^4.0.0","@fastify/pre-commit":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/view_8.1.0_1694540849207_0.5874907864338763","host":"s3://npm-registry-packages"}},"8.2.0":{"name":"@fastify/view","version":"8.2.0","keywords":["fastify","template","view","speed","ejs","nunjucks","pug","handlebars","mustache","twig","eta"],"author":{"url":"http://delved.org","name":"Tomas Della Vedova - @delvedor"},"license":"MIT","_id":"@fastify/view@8.2.0","maintainers":[{"name":"gurgunday","email":"gurgun.dayioglu@icloud.com"},{"name":"metcoder95","email":"me@metcoder.dev"},{"name":"galvez","email":"jonasgalvez@gmail.com"},{"name":"simenb","email":"sbekkhus91@gmail.com"},{"name":"coopflow","email":"community@coopflow.com"},{"name":"simoneb","email":"simone.busoli@gmail.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"},{"name":"starptech","email":"deusdustin@gmail.com"},{"name":"delvedor","email":"tommydelved@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"allevo","email":"tomallevi@gmail.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"zekth","email":"vince.legoff@gmail.com"},{"name":"eomm","email":"behemoth89@gmail.com"},{"name":"fox1t","email":"maksim@sinik.it"},{"name":"airhorns","email":"harry@harry.me"},{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"climba03003","email":"kaka@kakawebsitedemo.com"}],"homepage":"https://github.com/fastify/point-of-view#readme","bugs":{"url":"https://github.com/fastify/point-of-view/issues"},"dist":{"shasum":"80ef9569198ca3a0f3207fa25b2dd6d0c12fc4c7","tarball":"https://registry.npmjs.org/@fastify/view/-/view-8.2.0.tgz","fileCount":100,"integrity":"sha512-hBSiBofCnJNlPHEMZWpO1SL84eqOaqujJ1hR3jntFyZZCkweH5jMs12DKYyGesjVll7SJFRRxPUBB8kmUmneRQ==","signatures":[{"sig":"MEQCIHA3sWtgxHI9JHoS4UN9ZvlbcyxofohFbEHqjpDNe9TEAiA2wVZTNHoAjehMFRWKOeAf5dQCr2Qq1my9hK+VAEuDng==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":327467},"main":"index.js","types":"types/index.d.ts","gitHead":"5e9f24d4e8127fe08aae3fe6eb7818e2eb6d176e","scripts":{"lint":"standard","test":"npm run test:unit && npm run test:typescript","example":"node examples/example.js","test:unit":"tap","test:typescript":"tsd","example-typescript":"npx ts-node types/index.test-d.ts","test-with-snapshot":"cross-env TAP_SNAPSHOT=1 tap test/test-ejs-with-snapshot.js","example-with-options":"node examples/example-ejs-with-some-options.js"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"pre-commit":["lint","test"],"repository":{"url":"git+https://github.com/fastify/point-of-view.git","type":"git"},"_npmVersion":"9.6.7","description":"Template plugin for Fastify","directories":{},"_nodeVersion":"18.17.1","dependencies":{"hashlru":"^2.3.0","fastify-plugin":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dot":"^1.1.3","ejs":"^3.1.8","eta":"^3.0.3","pug":"^3.0.0","tap":"^16.0.0","tsd":"^0.29.0","pino":"^8.0.0","twig":"^1.13.3","split2":"^4.0.0","express":"^4.17.1","fastify":"^4.0.0-rc.2","liquidjs":"^10.0.0","mustache":"^4.0.1","nunjucks":"^3.2.1","standard":"^17.0.0","cross-env":"^7.0.2","handlebars":"^4.7.6","proxyquire":"^2.1.3","simple-get":"^4.0.0","@types/node":"^20.1.0","art-template":"^4.13.2","html-minifier":"^4.0.0","@fastify/pre-commit":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/view_8.2.0_1695129370191_0.763678492819498","host":"s3://npm-registry-packages"}},"9.0.0":{"name":"@fastify/view","version":"9.0.0","keywords":["fastify","template","view","speed","ejs","nunjucks","pug","handlebars","mustache","twig","eta"],"author":{"url":"http://delved.org","name":"Tomas Della Vedova - @delvedor"},"license":"MIT","_id":"@fastify/view@9.0.0","maintainers":[{"name":"gurgunday","email":"gurgun.dayioglu@icloud.com"},{"name":"metcoder95","email":"me@metcoder.dev"},{"name":"galvez","email":"jonasgalvez@gmail.com"},{"name":"simenb","email":"sbekkhus91@gmail.com"},{"name":"coopflow","email":"community@coopflow.com"},{"name":"simoneb","email":"simone.busoli@gmail.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"},{"name":"starptech","email":"deusdustin@gmail.com"},{"name":"delvedor","email":"tommydelved@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"allevo","email":"tomallevi@gmail.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"zekth","email":"vince.legoff@gmail.com"},{"name":"eomm","email":"behemoth89@gmail.com"},{"name":"fox1t","email":"maksim@sinik.it"},{"name":"airhorns","email":"harry@harry.me"},{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"climba03003","email":"kaka@kakawebsitedemo.com"}],"homepage":"https://github.com/fastify/point-of-view#readme","bugs":{"url":"https://github.com/fastify/point-of-view/issues"},"dist":{"shasum":"563386b06eb26fb9a17db872c46f8b77af23c2cb","tarball":"https://registry.npmjs.org/@fastify/view/-/view-9.0.0.tgz","fileCount":116,"integrity":"sha512-4KSM75Ad7Q9adQWJK17XAJlmwNE9HhIe8TdSTnvFzDvt0aOwmS4iY6k+Xd4NWuEk0JbteS6kzo0eZOr0ZZgPVg==","signatures":[{"sig":"MEYCIQDFWmR35vU7hPNlWsKDNQPx7JQ2hxc0dn5PpfAMR21KbAIhAJmSOh/MjXQvyNqI1wQPsiS7X9lmXRfJLJ3leJ3rOAK0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":327437},"main":"index.js","type":"commonjs","types":"types/index.d.ts","gitHead":"616f0f9e9bdb7c765b33a95713774f9c33677ef0","scripts":{"lint":"standard","test":"npm run test:unit && npm run test:typescript","example":"node examples/example.js","benchmark":"node benchmark.js","test:unit":"tap","test:typescript":"tsd","example-typescript":"npx ts-node types/index.test-d.ts","test-with-snapshot":"cross-env TAP_SNAPSHOT=1 tap test/test-ejs-with-snapshot.js","example-with-options":"node examples/example-ejs-with-some-options.js"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"pre-commit":["lint","test"],"repository":{"url":"git+https://github.com/fastify/point-of-view.git","type":"git"},"_npmVersion":"10.2.4","description":"Template plugin for Fastify","directories":{},"_nodeVersion":"20.11.0","dependencies":{"hashlru":"^2.3.0","fastify-plugin":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dot":"^1.1.3","ejs":"^3.1.8","eta":"^3.0.3","pug":"^3.0.0","tap":"^16.0.0","tsd":"^0.30.0","pino":"^8.0.0","twig":"^1.13.3","split2":"^4.0.0","express":"^4.17.1","fastify":"^4.0.0-rc.2","liquidjs":"^10.0.0","mustache":"^4.0.1","nunjucks":"^3.2.1","standard":"^17.0.0","cross-env":"^7.0.2","autocannon":"^7.15.0","handlebars":"^4.7.6","proxyquire":"^2.1.3","simple-get":"^4.0.0","@types/node":"^20.1.0","art-template":"^4.13.2","html-minifier":"^4.0.0","@fastify/pre-commit":"^2.0.2"},"_npmOperationalInternal":{"tmp":"tmp/view_9.0.0_1708359285253_0.20534716026772015","host":"s3://npm-registry-packages"}},"9.1.0":{"name":"@fastify/view","version":"9.1.0","keywords":["fastify","template","view","speed","ejs","nunjucks","pug","handlebars","mustache","twig","eta"],"author":{"url":"http://delved.org","name":"Tomas Della Vedova - @delvedor"},"license":"MIT","_id":"@fastify/view@9.1.0","maintainers":[{"name":"gurgunday","email":"hey@gurgun.day"},{"name":"metcoder95","email":"me@metcoder.dev"},{"name":"galvez","email":"jonasgalvez@gmail.com"},{"name":"simenb","email":"sbekkhus91@gmail.com"},{"name":"coopflow","email":"community@coopflow.com"},{"name":"simoneb","email":"simone.busoli@gmail.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"},{"name":"starptech","email":"deusdustin@gmail.com"},{"name":"delvedor","email":"tommydelved@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"allevo","email":"tomallevi@gmail.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"zekth","email":"vince.legoff@gmail.com"},{"name":"eomm","email":"behemoth89@gmail.com"},{"name":"fox1t","email":"maksim@sinik.it"},{"name":"airhorns","email":"harry@harry.me"},{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"climba03003","email":"kaka@kakawebsitedemo.com"}],"homepage":"https://github.com/fastify/point-of-view#readme","bugs":{"url":"https://github.com/fastify/point-of-view/issues"},"dist":{"shasum":"41d527e2d53cd7d7e135a1a9feb191927aa0f0e2","tarball":"https://registry.npmjs.org/@fastify/view/-/view-9.1.0.tgz","fileCount":118,"integrity":"sha512-jRTGDljs/uB2p8bf6c1x4stGjP7H84VQkhbtDgCx55Mxf9Fplud5UZIHubvL4BTTX8jNYEzP1FpNAOBi7vibxg==","signatures":[{"sig":"MEUCIHmZrPXJ6piMkhe7v07uMOa7KxEgnAVwg1owHhvnSdWkAiEAnC+7nsbvx+5IhUxBX19LgnJnrmdN0tOFLlUhX9Frtjw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":341305},"main":"index.js","type":"commonjs","types":"types/index.d.ts","gitHead":"ca01b2ff418894fceb3c1666118e80a8f2e0ce46","scripts":{"lint":"standard","test":"npm run test:unit && npm run test:typescript","example":"node examples/example.js","benchmark":"node benchmark.js","test:unit":"tap","test:typescript":"tsd","example-typescript":"npx ts-node types/index.test-d.ts","test-with-snapshot":"cross-env TAP_SNAPSHOT=1 tap test/test-ejs-with-snapshot.js","example-with-options":"node examples/example-ejs-with-some-options.js"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"pre-commit":["lint","test"],"repository":{"url":"git+https://github.com/fastify/point-of-view.git","type":"git"},"_npmVersion":"10.5.0","description":"Template plugin for Fastify","directories":{},"_nodeVersion":"20.12.2","dependencies":{"toad-cache":"^3.7.0","fastify-plugin":"^4.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dot":"^1.1.3","ejs":"^3.1.8","eta":"^3.0.3","pug":"^3.0.0","tap":"^16.0.0","tsd":"^0.31.0","pino":"^8.0.0","twig":"^1.13.3","split2":"^4.0.0","express":"^4.17.1","fastify":"^4.0.0-rc.2","liquidjs":"^10.0.0","mustache":"^4.0.1","nunjucks":"^3.2.1","standard":"^17.0.0","cross-env":"^7.0.2","autocannon":"^7.15.0","handlebars":"^4.7.6","simple-get":"^4.0.0","@types/node":"^20.1.0","art-template":"^4.13.2","@fastify/pre-commit":"^2.0.2","html-minifier-terser":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/view_9.1.0_1714473449789_0.45685993355574994","host":"s3://npm-registry-packages"}},"10.0.0-pre.fv5.1":{"name":"@fastify/view","version":"10.0.0-pre.fv5.1","keywords":["fastify","template","view","speed","ejs","nunjucks","pug","handlebars","mustache","twig","eta"],"author":{"url":"http://delved.org","name":"Tomas Della Vedova - @delvedor"},"license":"MIT","_id":"@fastify/view@10.0.0-pre.fv5.1","maintainers":[{"name":"gurgunday","email":"hey@gurgun.day"},{"name":"metcoder95","email":"me@metcoder.dev"},{"name":"galvez","email":"jonasgalvez@gmail.com"},{"name":"simenb","email":"sbekkhus91@gmail.com"},{"name":"coopflow","email":"community@coopflow.com"},{"name":"simoneb","email":"simone.busoli@gmail.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"},{"name":"starptech","email":"deusdustin@gmail.com"},{"name":"delvedor","email":"tommydelved@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"allevo","email":"tomallevi@gmail.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"zekth","email":"vince.legoff@gmail.com"},{"name":"eomm","email":"behemoth89@gmail.com"},{"name":"fox1t","email":"maksim@sinik.it"},{"name":"airhorns","email":"harry@harry.me"},{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"climba03003","email":"kaka@kakawebsitedemo.com"}],"homepage":"https://github.com/fastify/point-of-view#readme","bugs":{"url":"https://github.com/fastify/point-of-view/issues"},"dist":{"shasum":"4269aee70f2cbd282d0941702c9faaaacd20e5a4","tarball":"https://registry.npmjs.org/@fastify/view/-/view-10.0.0-pre.fv5.1.tgz","fileCount":117,"integrity":"sha512-rinoaTuaF6MyzsoHMEgNn0dFEnBbSyZg20xVPZZVlc2cVO2fuSD74dBk6k+ODmkUX9eAWHy4U6Y1PzdoYV+vlQ==","signatures":[{"sig":"MEYCIQCPZDKKVEnSnd6xM1r0xUBkOLEafzsyU+NLJ9r36falXgIhAM+qxESq6YHIJ1fbC9A6kefAjMFkqnI3A6l11ptsMzf+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":339113},"main":"index.js","type":"commonjs","types":"types/index.d.ts","gitHead":"b051f6ce944d417c9894ee27ee9a82a5bb632f17","scripts":{"lint":"standard","test":"npm run test:unit && npm run test-with-snapshot && npm run test:typescript","example":"node examples/example.js","benchmark":"node benchmark.js","test:unit":"tap","test:typescript":"tsd","example-typescript":"npx ts-node types/index.test-d.ts","test-with-snapshot":"cross-env TAP_SNAPSHOT=1 tap test/snap/*","example-with-options":"node examples/example-ejs-with-some-options.js"},"_npmUser":{"name":"jsumners","email":"james.sumners@gmail.com"},"pre-commit":["lint","test"],"repository":{"url":"git+https://github.com/fastify/point-of-view.git","type":"git"},"_npmVersion":"10.7.0","description":"Template plugin for Fastify","directories":{},"_nodeVersion":"20.15.0","dependencies":{"toad-cache":"^3.7.0","fastify-plugin":"^5.0.0-pre.fv5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dot":"^1.1.3","ejs":"^3.1.10","eta":"^3.4.0","pug":"^3.0.2","tap":"^18.7.2","tsd":"^0.31.0","pino":"^9.0.0","twig":"^1.17.1","split2":"^4.2.0","express":"^4.19.2","fastify":"^5.0.0-alpha.3","liquidjs":"^10.11.0","mustache":"^4.2.0","nunjucks":"^3.2.4","standard":"^17.1.0","cross-env":"^7.0.3","autocannon":"^7.15.0","handlebars":"^4.7.8","simple-get":"^4.0.1","@types/node":"^20.12.7","art-template":"^4.13.2","@fastify/pre-commit":"^2.1.0","html-minifier-terser":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/view_10.0.0-pre.fv5.1_1721644152318_0.4744944538568894","host":"s3://npm-registry-packages"}},"10.0.0-pre.fv5.2":{"name":"@fastify/view","version":"10.0.0-pre.fv5.2","keywords":["fastify","template","view","speed","ejs","nunjucks","pug","handlebars","mustache","twig","eta"],"author":{"url":"http://delved.org","name":"Tomas Della Vedova - @delvedor"},"license":"MIT","_id":"@fastify/view@10.0.0-pre.fv5.2","maintainers":[{"name":"gurgunday","email":"hey@gurgun.day"},{"name":"metcoder95","email":"me@metcoder.dev"},{"name":"galvez","email":"jonasgalvez@gmail.com"},{"name":"simenb","email":"sbekkhus91@gmail.com"},{"name":"coopflow","email":"community@coopflow.com"},{"name":"simoneb","email":"simone.busoli@gmail.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"},{"name":"starptech","email":"deusdustin@gmail.com"},{"name":"delvedor","email":"tommydelved@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"allevo","email":"tomallevi@gmail.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"zekth","email":"vince.legoff@gmail.com"},{"name":"eomm","email":"behemoth89@gmail.com"},{"name":"fox1t","email":"maksim@sinik.it"},{"name":"airhorns","email":"harry@harry.me"},{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"climba03003","email":"kaka@kakawebsitedemo.com"}],"homepage":"https://github.com/fastify/point-of-view#readme","bugs":{"url":"https://github.com/fastify/point-of-view/issues"},"dist":{"shasum":"d884f76c269c2a3191517fca98da8134cc31aab6","tarball":"https://registry.npmjs.org/@fastify/view/-/view-10.0.0-pre.fv5.2.tgz","fileCount":117,"integrity":"sha512-8xANfmeYZjSh3J+MCVTKUkWA/3r9jx1u80MQCJa/BnUEB2QAstiNavU85uwsIyo2tNSwuSy+iAbtHiuEPvmdsw==","signatures":[{"sig":"MEYCIQCcg5RFUYNMt2BIfiQXn4k4HXt/5q58LDXw+tnc6DjeTgIhAM7nKhXa+GXcPTbGswaEOpnQHE8JjlmyUDZ4iBO+jEmo","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":339112},"main":"index.js","type":"commonjs","types":"types/index.d.ts","gitHead":"070660c32cd49039e6feafd58fbc4352615247f3","scripts":{"lint":"standard","test":"npm run test:unit && npm run test-with-snapshot && npm run test:typescript","example":"node examples/example.js","benchmark":"node benchmark.js","test:unit":"tap","test:typescript":"tsd","example-typescript":"npx ts-node types/index.test-d.ts","test-with-snapshot":"cross-env TAP_SNAPSHOT=1 tap test/snap/*","example-with-options":"node examples/example-ejs-with-some-options.js"},"_npmUser":{"name":"climba03003","email":"kaka@kakawebsitedemo.com"},"pre-commit":["lint","test"],"repository":{"url":"git+https://github.com/fastify/point-of-view.git","type":"git"},"_npmVersion":"10.2.4","description":"Template plugin for Fastify","directories":{},"_nodeVersion":"22.3.0","dependencies":{"toad-cache":"^3.7.0","fastify-plugin":"^5.0.0-pre.fv5.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dot":"^1.1.3","ejs":"^3.1.10","eta":"^3.4.0","pug":"^3.0.2","tap":"^21.0.0","tsd":"^0.31.0","pino":"^9.0.0","twig":"^1.17.1","split2":"^4.2.0","express":"^4.19.2","fastify":"^5.0.0-alpha.3","liquidjs":"^10.11.0","mustache":"^4.2.0","nunjucks":"^3.2.4","standard":"^17.1.0","cross-env":"^7.0.3","autocannon":"^7.15.0","handlebars":"^4.7.8","simple-get":"^4.0.1","@types/node":"^22.0.0","art-template":"^4.13.2","@fastify/pre-commit":"^2.1.0","html-minifier-terser":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/view_10.0.0-pre.fv5.2_1722925033892_0.10269134150347736","host":"s3://npm-registry-packages"}},"10.0.0":{"name":"@fastify/view","version":"10.0.0","keywords":["fastify","template","view","speed","ejs","nunjucks","pug","handlebars","mustache","twig","eta"],"author":{"url":"http://delved.org","name":"Tomas Della Vedova - @delvedor"},"license":"MIT","_id":"@fastify/view@10.0.0","maintainers":[{"name":"gurgunday","email":"hey@gurgun.day"},{"name":"metcoder95","email":"me@metcoder.dev"},{"name":"galvez","email":"jonasgalvez@gmail.com"},{"name":"simenb","email":"sbekkhus91@gmail.com"},{"name":"coopflow","email":"community@coopflow.com"},{"name":"simoneb","email":"simone.busoli@gmail.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"},{"name":"starptech","email":"deusdustin@gmail.com"},{"name":"delvedor","email":"tommydelved@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"allevo","email":"tomallevi@gmail.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"zekth","email":"vince.legoff@gmail.com"},{"name":"eomm","email":"behemoth89@gmail.com"},{"name":"fox1t","email":"maksim@sinik.it"},{"name":"airhorns","email":"harry@harry.me"},{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"climba03003","email":"kaka@kakawebsitedemo.com"}],"homepage":"https://github.com/fastify/point-of-view#readme","bugs":{"url":"https://github.com/fastify/point-of-view/issues"},"dist":{"shasum":"602a08067cca8bbf330c6826ce3963f292b7f39e","tarball":"https://registry.npmjs.org/@fastify/view/-/view-10.0.0.tgz","fileCount":117,"integrity":"sha512-2KnfgpSbAImKV5kKdNAkSyjV+9kYUYLvgDLx/wlzgqel92bN9Z520cwG3g3bAkr0yVnEJu62dIm2qAL9FASS1w==","signatures":[{"sig":"MEQCIDlRXNGTXILakfseGuHXak5VKWvMX5VIq9oz6LxJ2HwoAiARD8xlGAlN6IL5QDKtvc9G/pWo+u+Ze9Zn32aWs3ygEQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":339092},"main":"index.js","type":"commonjs","types":"types/index.d.ts","gitHead":"9fe797911268443ca0e4f718dc9c4db0c3deb8fb","scripts":{"lint":"standard","test":"npm run test:unit && npm run test-with-snapshot && npm run test:typescript","example":"node examples/example.js","benchmark":"node benchmark.js","test:unit":"tap","test:typescript":"tsd","example-typescript":"npx ts-node types/index.test-d.ts","test-with-snapshot":"cross-env TAP_SNAPSHOT=1 tap test/snap/*","example-with-options":"node examples/example-ejs-with-some-options.js"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"pre-commit":["lint","test"],"repository":{"url":"git+https://github.com/fastify/point-of-view.git","type":"git"},"_npmVersion":"10.8.1","description":"Template plugin for Fastify","directories":{},"_nodeVersion":"20.16.0","dependencies":{"toad-cache":"^3.7.0","fastify-plugin":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"dot":"^1.1.3","ejs":"^3.1.10","eta":"^3.4.0","pug":"^3.0.2","tap":"^21.0.0","tsd":"^0.31.0","pino":"^9.0.0","twig":"^1.17.1","split2":"^4.2.0","express":"^4.19.2","fastify":"^5.0.0-alpha.4","liquidjs":"^10.11.0","mustache":"^4.2.0","nunjucks":"^3.2.4","standard":"^17.1.0","cross-env":"^7.0.3","autocannon":"^7.15.0","handlebars":"^4.7.8","simple-get":"^4.0.1","@types/node":"^22.0.0","art-template":"^4.13.2","@fastify/pre-commit":"^2.1.0","html-minifier-terser":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/view_10.0.0_1725614716552_0.9862844477768373","host":"s3://npm-registry-packages"}},"10.0.1":{"name":"@fastify/view","version":"10.0.1","keywords":["fastify","template","view","speed","ejs","nunjucks","pug","handlebars","mustache","twig","eta"],"author":{"url":"http://delved.org","name":"Tomas Della Vedova - @delvedor"},"license":"MIT","_id":"@fastify/view@10.0.1","maintainers":[{"name":"gurgunday","email":"hey@gurgun.day"},{"name":"metcoder95","email":"me@metcoder.dev"},{"name":"galvez","email":"jonasgalvez@gmail.com"},{"name":"simenb","email":"sbekkhus91@gmail.com"},{"name":"coopflow","email":"community@coopflow.com"},{"name":"simoneb","email":"simone.busoli@gmail.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"},{"name":"starptech","email":"deusdustin@gmail.com"},{"name":"delvedor","email":"tommydelved@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"allevo","email":"tomallevi@gmail.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"zekth","email":"vince.legoff@gmail.com"},{"name":"eomm","email":"behemoth89@gmail.com"},{"name":"fox1t","email":"maksim@sinik.it"},{"name":"airhorns","email":"harry@harry.me"},{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"climba03003","email":"kaka@kakawebsitedemo.com"}],"homepage":"https://github.com/fastify/point-of-view#readme","bugs":{"url":"https://github.com/fastify/point-of-view/issues"},"dist":{"shasum":"79de7764b3de78bfe577228ac16974547dd25be1","tarball":"https://registry.npmjs.org/@fastify/view/-/view-10.0.1.tgz","fileCount":117,"integrity":"sha512-rXtBN0oVDmoRZAS7lelrCIahf+qFtlMOOas8VPdA7JvrJ9ChcF7e36pIUPU0Vbs3KmHxESUb7XatavUZEe/k5Q==","signatures":[{"sig":"MEYCIQDPD04FNVtUOZrC6fqy8DbHfgcJgtctB1blObDj9thBtwIhAOukL00U8vFfTfN65+Gku6mv97kNIwfFD1Ov7xWjIoPT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":339084},"main":"index.js","type":"commonjs","types":"types/index.d.ts","gitHead":"cf8aa3cf2ff378904b0a1c520a95e6aa1a604cbe","scripts":{"lint":"standard","test":"npm run test:unit && npm run test-with-snapshot && npm run test:typescript","example":"node examples/example.js","benchmark":"node benchmark.js","test:unit":"tap","test:typescript":"tsd","example-typescript":"npx ts-node types/index.test-d.ts","test-with-snapshot":"cross-env TAP_SNAPSHOT=1 tap test/snap/*","example-with-options":"node examples/example-ejs-with-some-options.js"},"_npmUser":{"name":"eomm","email":"behemoth89@gmail.com"},"pre-commit":["lint","test"],"repository":{"url":"git+https://github.com/fastify/point-of-view.git","type":"git"},"_npmVersion":"10.1.0","description":"Template plugin for Fastify","directories":{},"_nodeVersion":"20.8.0","dependencies":{"toad-cache":"^3.7.0","fastify-plugin":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dot":"^1.1.3","ejs":"^3.1.10","eta":"^3.4.0","pug":"^3.0.2","tap":"^21.0.0","tsd":"^0.31.0","pino":"^9.0.0","twig":"^1.17.1","split2":"^4.2.0","express":"^4.19.2","fastify":"^5.0.0","liquidjs":"^10.11.0","mustache":"^4.2.0","nunjucks":"^3.2.4","standard":"^17.1.0","cross-env":"^7.0.3","autocannon":"^7.15.0","handlebars":"^4.7.8","simple-get":"^4.0.1","@types/node":"^22.0.0","art-template":"^4.13.2","@fastify/pre-commit":"^2.1.0","html-minifier-terser":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/view_10.0.1_1726907863566_0.5440082359922924","host":"s3://npm-registry-packages"}},"10.0.2":{"name":"@fastify/view","version":"10.0.2","keywords":["fastify","template","view","speed","ejs","nunjucks","pug","handlebars","mustache","twig","eta"],"author":{"url":"http://delved.org","name":"Tomas Della Vedova - @delvedor"},"license":"MIT","_id":"@fastify/view@10.0.2","maintainers":[{"name":"starptech","email":"deusdustin@gmail.com"},{"name":"simoneb","email":"simone.busoli@gmail.com"},{"name":"coopflow","email":"community@coopflow.com"},{"name":"delvedor","email":"tommydelved@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"allevo","email":"tomallevi@gmail.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"zekth","email":"vince.legoff@gmail.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"},{"name":"eomm","email":"behemoth89@gmail.com"},{"name":"fox1t","email":"maksim@sinik.it"},{"name":"airhorns","email":"harry@harry.me"},{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"climba03003","email":"kaka@kakawebsitedemo.com"},{"name":"galvez","email":"jonasgalvez@gmail.com"},{"name":"simenb","email":"sbekkhus91@gmail.com"},{"name":"gurgunday","email":"hey@gurgun.day"},{"name":"metcoder95","email":"me@metcoder.dev"},{"name":"fdawgs","email":"frazer.dev@icloud.com"}],"contributors":[{"name":"Matteo Collina","email":"hello@matteocollina.com"},{"name":"Manuel Spigolon","email":"behemoth89@gmail.com"},{"name":"Aras Abbasi","email":"aras.abbasi@gmail.com"},{"url":"https://github.com/fdawgs","name":"Frazer Smith","email":"frazer.dev@icloud.com"}],"homepage":"https://github.com/fastify/point-of-view#readme","bugs":{"url":"https://github.com/fastify/point-of-view/issues"},"dist":{"shasum":"e661057ae927126d4582683732a13b615d64696a","tarball":"https://registry.npmjs.org/@fastify/view/-/view-10.0.2.tgz","fileCount":117,"integrity":"sha512-tGjXFyDUMj5a+E8BBrQ2wpsVnpOfMq3cqy4WD8pnjWPE/HGNItBASUPoPUcX/QjPhxfuZZTYv2XdCmKXdcMZPw==","signatures":[{"sig":"MEYCIQCn4ZSsrq20YckGNSMYu6h3YuEoiLXHzxN7JW4f18eT/gIhAJXX5EF1cXY0GTcQfbcyT6kRidHBxR+nG7iti1CfG5gG","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":340913},"main":"index.js","type":"commonjs","types":"types/index.d.ts","funding":[{"url":"https://github.com/sponsors/fastify","type":"github"},{"url":"https://opencollective.com/fastify","type":"opencollective"}],"gitHead":"a21d1cb232f27fe67510b0b6146ab9b07c9a6e93","scripts":{"lint":"eslint","test":"npm run test:unit && npm run test-with-snapshot && npm run test:typescript","example":"node examples/example.js","lint:fix":"eslint --fix","benchmark":"node benchmark.js","test:unit":"tap","test:typescript":"tsd","example-typescript":"npx ts-node types/index.test-d.ts","test-with-snapshot":"cross-env TAP_SNAPSHOT=1 tap test/snap/*","example-with-options":"node examples/example-ejs-with-some-options.js"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"pre-commit":["lint","test"],"repository":{"url":"git+https://github.com/fastify/point-of-view.git","type":"git"},"_npmVersion":"10.9.0","description":"Template plugin for Fastify","directories":{},"_nodeVersion":"22.12.0","dependencies":{"toad-cache":"^3.7.0","fastify-plugin":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"dot":"^1.1.3","ejs":"^3.1.10","eta":"^3.4.0","pug":"^3.0.2","tap":"^21.0.0","tsd":"^0.31.0","pino":"^9.0.0","twig":"^1.17.1","eslint":"^9.17.0","split2":"^4.2.0","express":"^4.19.2","fastify":"^5.0.0","liquidjs":"^10.11.0","mustache":"^4.2.0","nunjucks":"^3.2.4","cross-env":"^7.0.3","autocannon":"^8.0.0","handlebars":"^4.7.8","simple-get":"^4.0.1","@types/node":"^22.0.0","neostandard":"^0.12.0","art-template":"^4.13.2","@fastify/pre-commit":"^2.1.0","html-minifier-terser":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/view_10.0.2_1736685765263_0.8313253391123057","host":"s3://npm-registry-packages-npm-production"}},"11.0.0":{"name":"@fastify/view","version":"11.0.0","keywords":["fastify","template","view","speed","ejs","nunjucks","pug","handlebars","mustache","twig","eta"],"author":{"url":"http://delved.org","name":"Tomas Della Vedova - @delvedor"},"license":"MIT","_id":"@fastify/view@11.0.0","maintainers":[{"name":"starptech","email":"deusdustin@gmail.com"},{"name":"simoneb","email":"simone.busoli@gmail.com"},{"name":"coopflow","email":"community@coopflow.com"},{"name":"delvedor","email":"tommydelved@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"allevo","email":"tomallevi@gmail.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"zekth","email":"vince.legoff@gmail.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"},{"name":"eomm","email":"behemoth89@gmail.com"},{"name":"fox1t","email":"maksim@sinik.it"},{"name":"airhorns","email":"harry@harry.me"},{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"climba03003","email":"kaka@kakawebsitedemo.com"},{"name":"galvez","email":"jonasgalvez@gmail.com"},{"name":"simenb","email":"sbekkhus91@gmail.com"},{"name":"gurgunday","email":"hey@gurgun.day"},{"name":"metcoder95","email":"me@metcoder.dev"},{"name":"fdawgs","email":"frazer.dev@icloud.com"}],"contributors":[{"name":"Matteo Collina","email":"hello@matteocollina.com"},{"name":"Manuel Spigolon","email":"behemoth89@gmail.com"},{"name":"Aras Abbasi","email":"aras.abbasi@gmail.com"},{"url":"https://github.com/fdawgs","name":"Frazer Smith","email":"frazer.dev@icloud.com"}],"homepage":"https://github.com/fastify/point-of-view#readme","bugs":{"url":"https://github.com/fastify/point-of-view/issues"},"dist":{"shasum":"eb28693d2f3e7a5d92c5bfc27966ddc2e3b8047e","tarball":"https://registry.npmjs.org/@fastify/view/-/view-11.0.0.tgz","fileCount":114,"integrity":"sha512-uMNwZoY88uUMP6hidJYHT0/7bXzLrWgo/X5kjKdKPi3bj69kSkuNKmcG5KEU2sDF91n+IiLAnqx3dkldFfz5hQ==","signatures":[{"sig":"MEMCH3vbJBPJsCf+HJ3+1p0213joElgTq4XLqGrrVqv8vwICIAVGDBwWOZXJXDeWbOL4dN937FN04eh1kIvY6UVwCtti","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":320387},"main":"index.js","type":"commonjs","types":"types/index.d.ts","funding":[{"url":"https://github.com/sponsors/fastify","type":"github"},{"url":"https://opencollective.com/fastify","type":"opencollective"}],"gitHead":"1e57bbdeeccd292f423de91d74d968d0764a36e6","scripts":{"lint":"eslint","test":"npm run test:unit && npm run test-with-snapshot && npm run test:typescript","example":"node examples/example.js","lint:fix":"eslint --fix","benchmark":"node benchmark.js","test:unit":"c8 borp test/*.js","test:typescript":"tsd","example-typescript":"npx ts-node types/index.test-d.ts","test-with-snapshot":"cross-env TAP_SNAPSHOT=1 tap test/snap/*","example-with-options":"node examples/example-ejs-with-some-options.js"},"_npmUser":{"name":"fdawgs","email":"frazer.dev@icloud.com"},"pre-commit":["lint","test"],"repository":{"url":"git+https://github.com/fastify/point-of-view.git","type":"git"},"_npmVersion":"10.8.2","description":"Template plugin for Fastify","directories":{},"_nodeVersion":"20.18.1","dependencies":{"toad-cache":"^3.7.0","fastify-plugin":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","dot":"^1.1.3","ejs":"^3.1.10","eta":"^3.4.0","pug":"^3.0.2","tap":"^21.0.0","tsd":"^0.31.0","borp":"^0.19.0","pino":"^9.0.0","twig":"^1.17.1","eslint":"^9.17.0","split2":"^4.2.0","express":"^4.19.2","fastify":"^5.0.0","liquidjs":"^10.11.0","mustache":"^4.2.0","nunjucks":"^3.2.4","cross-env":"^7.0.3","autocannon":"^8.0.0","handlebars":"^4.7.8","@types/node":"^22.0.0","neostandard":"^0.12.0","@fastify/pre-commit":"^2.1.0","html-minifier-terser":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/view_11.0.0_1742293913471_0.5078335963224578","host":"s3://npm-registry-packages-npm-production"}},"11.1.0":{"name":"@fastify/view","version":"11.1.0","keywords":["fastify","template","view","speed","ejs","nunjucks","pug","handlebars","mustache","twig","eta"],"author":{"url":"http://delved.org","name":"Tomas Della Vedova - @delvedor"},"license":"MIT","_id":"@fastify/view@11.1.0","maintainers":[{"name":"starptech","email":"deusdustin@gmail.com"},{"name":"simoneb","email":"simone.busoli@gmail.com"},{"name":"coopflow","email":"community@coopflow.com"},{"name":"delvedor","email":"tommydelved@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"allevo","email":"tomallevi@gmail.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"zekth","email":"vince.legoff@gmail.com"},{"name":"rafaelgss","email":"rafael.nunu@hotmail.com"},{"name":"eomm","email":"behemoth89@gmail.com"},{"name":"fox1t","email":"maksim@sinik.it"},{"name":"airhorns","email":"harry@harry.me"},{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"climba03003","email":"kaka@kakawebsitedemo.com"},{"name":"galvez","email":"jonasgalvez@gmail.com"},{"name":"simenb","email":"sbekkhus91@gmail.com"},{"name":"gurgunday","email":"hey@gurgun.day"},{"name":"metcoder95","email":"me@metcoder.dev"},{"name":"fdawgs","email":"frazer.dev@icloud.com"}],"contributors":[{"name":"Matteo Collina","email":"hello@matteocollina.com"},{"name":"Manuel Spigolon","email":"behemoth89@gmail.com"},{"name":"Aras Abbasi","email":"aras.abbasi@gmail.com"},{"url":"https://github.com/fdawgs","name":"Frazer Smith","email":"frazer.dev@icloud.com"}],"homepage":"https://github.com/fastify/point-of-view#readme","bugs":{"url":"https://github.com/fastify/point-of-view/issues"},"dist":{"shasum":"ab5199d92ac7cc3bc0b55134957c375b142510ae","tarball":"https://registry.npmjs.org/@fastify/view/-/view-11.1.0.tgz","fileCount":118,"integrity":"sha512-ab8LG5V8srCdnknYlufaSusrjkYLYf5TUWm3DTdPFr5m1C9tI7KNl78UCcP0BJiaGaZj1udsyzAC67JCf5Ol/g==","signatures":[{"sig":"MEYCIQCZ2kYGA21zOoA1/roU40USpGAxLg77HayZkX0sE0ojRAIhAO0qjIMKiBTR8deIAH25mMX199sBCDNGjw4Vag3dAh24","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":326081},"main":"index.js","type":"commonjs","types":"types/index.d.ts","funding":[{"url":"https://github.com/sponsors/fastify","type":"github"},{"url":"https://opencollective.com/fastify","type":"opencollective"}],"gitHead":"966840f8f649bd03b165b04597d25d7145f9f2d2","scripts":{"lint":"eslint","test":"npm run test:unit && npm run test-with-snapshot && npm run test:typescript","example":"node examples/example.js","lint:fix":"eslint --fix","benchmark":"node benchmark.js","test:unit":"c8 borp test/*.js","test:typescript":"tsd","example-typescript":"npx ts-node types/index.test-d.ts","test-with-snapshot":"cross-env TAP_SNAPSHOT=1 tap test/snap/*","example-with-options":"node examples/example-ejs-with-some-options.js"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"pre-commit":["lint","test"],"repository":{"url":"git+https://github.com/fastify/point-of-view.git","type":"git"},"_npmVersion":"10.8.2","description":"Template plugin for Fastify","directories":{},"_nodeVersion":"20.19.1","dependencies":{"toad-cache":"^3.7.0","fastify-plugin":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","dot":"^1.1.3","ejs":"^3.1.10","eta":"^3.4.0","pug":"^3.0.2","tap":"^21.0.0","tsd":"^0.32.0","borp":"^0.20.0","pino":"^9.0.0","twig":"^1.17.1","eslint":"^9.17.0","split2":"^4.2.0","edge.js":"^6.2.1","express":"^5.1.0","fastify":"^5.0.0","liquidjs":"^10.11.0","mustache":"^4.2.0","nunjucks":"^3.2.4","cross-env":"^7.0.3","autocannon":"^8.0.0","handlebars":"^4.7.8","@types/node":"^22.0.0","neostandard":"^0.12.0","@fastify/pre-commit":"^2.1.0","html-minifier-terser":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/view_11.1.0_1746467915147_0.29617168267086513","host":"s3://npm-registry-packages-npm-production"}},"11.1.1":{"name":"@fastify/view","version":"11.1.1","keywords":["fastify","template","view","speed","ejs","nunjucks","pug","handlebars","mustache","twig","eta"],"author":{"url":"http://delved.org","name":"Tomas Della Vedova - @delvedor"},"license":"MIT","_id":"@fastify/view@11.1.1","maintainers":[{"name":"simoneb","email":"simone.busoli@gmail.com"},{"name":"delvedor","email":"tommydelved@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"zekth","email":"vince.legoff@gmail.com"},{"name":"eomm","email":"behemoth89@gmail.com"},{"name":"fox1t","email":"maksim@sinik.it"},{"name":"airhorns","email":"harry@harry.me"},{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"climba03003","email":"kaka@kakawebsitedemo.com"},{"name":"galvez","email":"jonasgalvez@gmail.com"},{"name":"simenb","email":"sbekkhus91@gmail.com"},{"name":"gurgunday","email":"hey@gurgun.day"},{"name":"metcoder95","email":"me@metcoder.dev"},{"name":"jean-michelet","email":"jean.antoine.michelet@gmail.com"},{"name":"fdawgs","email":"frazer.dev@icloud.com"}],"contributors":[{"name":"Matteo Collina","email":"hello@matteocollina.com"},{"name":"Manuel Spigolon","email":"behemoth89@gmail.com"},{"name":"Aras Abbasi","email":"aras.abbasi@gmail.com"},{"url":"https://github.com/fdawgs","name":"Frazer Smith","email":"frazer.dev@icloud.com"}],"homepage":"https://github.com/fastify/point-of-view#readme","bugs":{"url":"https://github.com/fastify/point-of-view/issues"},"dist":{"shasum":"e9e4693422689d9182f9160d69cccc8bdc90fda6","tarball":"https://registry.npmjs.org/@fastify/view/-/view-11.1.1.tgz","fileCount":122,"integrity":"sha512-GiHqT3R2eKJgWmy0s45eELTC447a4+lTM2o+8fSWeKwBe9VToeePuHJcKtOEXPrKGSddGO0RsNayULiS3aeHeQ==","signatures":[{"sig":"MEYCIQDUtmNVpWAfNsEJPNxTBEGQtn6Whxe+R6LcWJeuqckXXAIhAKqclVwF0B1MqYV1m0N8humTKAetVlaypBqvIVOjZEgW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":328628},"main":"index.js","type":"commonjs","types":"types/index.d.ts","funding":[{"url":"https://github.com/sponsors/fastify","type":"github"},{"url":"https://opencollective.com/fastify","type":"opencollective"}],"gitHead":"d0da7340cd976955c4902916bda57be915b767c2","scripts":{"lint":"eslint","test":"npm run test:unit && npm run test:typescript","example":"node examples/example.js","lint:fix":"eslint --fix","benchmark":"node benchmark.js","test:unit":"c8 borp test/*.js","test:typescript":"tsd","example-typescript":"npx ts-node types/index.test-d.ts","example-with-options":"node examples/example-ejs-with-some-options.js"},"_npmUser":{"name":"matteo.collina","email":"hello@matteocollina.com"},"pre-commit":["lint","test"],"repository":{"url":"git+https://github.com/fastify/point-of-view.git","type":"git"},"_npmVersion":"10.9.2","description":"Template plugin for Fastify","directories":{},"_nodeVersion":"22.17.1","dependencies":{"toad-cache":"^3.7.0","fastify-plugin":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^10.1.3","dot":"^1.1.3","ejs":"^3.1.10","eta":"^3.4.0","pug":"^3.0.2","tsd":"^0.32.0","borp":"^0.20.1","pino":"^9.0.0","twig":"^1.17.1","eslint":"^9.17.0","split2":"^4.2.0","edge.js":"^6.2.1","express":"^5.1.0","fastify":"^5.0.0","liquidjs":"^10.11.0","mustache":"^4.2.0","nunjucks":"^3.2.4","cross-env":"^10.0.0","autocannon":"^8.0.0","handlebars":"^4.7.8","@types/node":"^24.0.8","neostandard":"^0.12.0","@fastify/pre-commit":"^2.1.0","html-minifier-terser":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/view_11.1.1_1755874811850_0.4647828029136494","host":"s3://npm-registry-packages-npm-production"}},"12.0.0":{"name":"@fastify/view","version":"12.0.0","keywords":["fastify","template","view","speed","ejs","nunjucks","pug","handlebars","mustache","twig","eta","squirrelly"],"author":{"url":"http://delved.org","name":"Tomas Della Vedova - @delvedor"},"license":"MIT","_id":"@fastify/view@12.0.0","maintainers":[{"name":"simoneb","email":"simone.busoli@gmail.com"},{"name":"delvedor","email":"tommydelved@gmail.com"},{"name":"matteo.collina","email":"hello@matteocollina.com"},{"name":"jsumners","email":"james.sumners@gmail.com"},{"name":"zekth","email":"vince.legoff@gmail.com"},{"name":"eomm","email":"behemoth89@gmail.com"},{"name":"fox1t","email":"maksim@sinik.it"},{"name":"airhorns","email":"harry@harry.me"},{"name":"kibertoad","email":"iselwin@gmail.com"},{"name":"climba03003","email":"kaka@kakawebsitedemo.com"},{"name":"galvez","email":"jonasgalvez@gmail.com"},{"name":"simenb","email":"sbekkhus91@gmail.com"},{"name":"gurgunday","email":"hey@gurgun.day"},{"name":"tony133","email":"a.tripodi133@gmail.com"},{"name":"metcoder95","email":"me@metcoder.dev"},{"name":"jean-michelet","email":"jean.antoine.michelet@gmail.com"},{"name":"ilteoood","email":"matteopietro.dazzi@gmail.com"},{"name":"fdawgs","email":"frazer.dev@icloud.com"}],"contributors":[{"name":"Matteo Collina","email":"hello@matteocollina.com"},{"name":"Manuel Spigolon","email":"behemoth89@gmail.com"},{"name":"Aras Abbasi","email":"aras.abbasi@gmail.com"},{"url":"https://github.com/fdawgs","name":"Frazer Smith","email":"frazer.dev@icloud.com"}],"homepage":"https://github.com/fastify/point-of-view#readme","bugs":{"url":"https://github.com/fastify/point-of-view/issues"},"dist":{"shasum":"882b09330f7775eb3f4256fbc66a02e2916db5c9","tarball":"https://registry.npmjs.org/@fastify/view/-/view-12.0.0.tgz","fileCount":124,"integrity":"sha512-Prcoim4yTwG6vPnIyGrWViDx6FFnchV0GQWeBgAgywlL1JflGhTLDhIsyd7EkOreYHyqALqxnmhhJhD4NrJTWw==","signatures":[{"sig":"MEYCIQC9M940+Lkn/ePnaKzxo+L7jQy44lNqajava2oOPu7wXQIhANoZ8FuoGlUr5sfU90sqc+YG9JqcOj1Q4GQMUKY5QuX8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":343629},"main":"index.js","type":"commonjs","types":"types/index.d.ts","funding":[{"url":"https://github.com/sponsors/fastify","type":"github"},{"url":"https://opencollective.com/fastify","type":"opencollective"}],"gitHead":"477e52669bfa83c74581d4ae5a18a242b14f0e06","scripts":{"lint":"eslint","test":"npm run test:unit && npm run test:typescript","example":"node examples/example.js","lint:fix":"eslint --fix","benchmark":"node benchmark.js","test:unit":"c8 node --test","test:typescript":"tstyche","example-typescript":"npx ts-node types/index.test-d.ts","example-with-options":"node examples/example-ejs-with-some-options.js"},"_npmUser":{"name":"fdawgs","email":"frazer.dev@icloud.com"},"repository":{"url":"git+https://github.com/fastify/point-of-view.git","type":"git"},"_npmVersion":"11.12.1","description":"Template plugin for Fastify","directories":{},"_nodeVersion":"24.15.0","dependencies":{"toad-cache":"^3.7.0","fastify-plugin":"^5.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0","dot":"^1.1.3","ejs":"^3.1.10","eta":"^4.4.1","pug":"^3.0.2","pino":"^10.1.0","twig":"^3.0.0","eslint":"^9.17.0","split2":"^4.2.0","edge.js":"^6.2.1","express":"^5.1.0","fastify":"^5.0.0","tstyche":"^7.0.0","liquidjs":"^10.11.0","mustache":"^4.2.0","nunjucks":"^3.2.4","cross-env":"^10.0.0","autocannon":"^8.0.0","handlebars":"^4.7.8","squirrelly":"^9.1.0","@types/node":"^25.0.3","neostandard":"^0.13.0","html-minifier-terser":"^7.2.0"},"_npmOperationalInternal":{"tmp":"tmp/view_12.0.0_1781007727810_0.019108918296267374","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2022-06-07T17:41:23.926Z","modified":"2026-09-04T11:16:56.168Z","7.0.0":"2022-06-07T17:41:24.141Z","7.1.0":"2022-08-06T21:55:00.851Z","7.1.1":"2022-10-16T14:00:42.007Z","7.1.2":"2022-11-05T10:28:22.716Z","7.2.0":"2022-11-22T18:18:20.513Z","7.3.0":"2022-11-23T20:15:50.673Z","7.4.0":"2023-01-13T14:52:59.240Z","7.4.1":"2023-01-26T11:37:32.766Z","8.0.0":"2023-06-30T12:44:18.426Z","8.1.0":"2023-09-12T17:47:29.433Z","8.2.0":"2023-09-19T13:16:10.466Z","9.0.0":"2024-02-19T16:14:45.513Z","9.1.0":"2024-04-30T10:37:29.967Z","10.0.0-pre.fv5.1":"2024-07-22T10:29:12.480Z","10.0.0-pre.fv5.2":"2024-08-06T06:17:14.069Z","10.0.0":"2024-09-06T09:25:16.740Z","10.0.1":"2024-09-21T08:37:43.763Z","10.0.2":"2025-01-12T12:42:45.524Z","11.0.0":"2025-03-18T10:31:53.713Z","11.1.0":"2025-05-05T17:58:35.335Z","11.1.1":"2025-08-22T15:00:12.027Z","12.0.0":"2026-06-09T12:22:07.957Z"},"bugs":{"url":"https://github.com/fastify/point-of-view/issues"},"author":{"url":"http://delved.org","name":"Tomas Della Vedova - @delvedor"},"license":"MIT","homepage":"https://github.com/fastify/point-of-view#readme","keywords":["fastify","template","view","speed","ejs","nunjucks","pug","handlebars","mustache","twig","eta","squirrelly"],"repository":{"url":"git+https://github.com/fastify/point-of-view.git","type":"git"},"description":"Template plugin for Fastify","contributors":[{"name":"Matteo Collina","email":"hello@matteocollina.com"},{"name":"Manuel Spigolon","email":"behemoth89@gmail.com"},{"name":"Aras Abbasi","email":"aras.abbasi@gmail.com"},{"url":"https://github.com/fdawgs","name":"Frazer Smith","email":"frazer.dev@icloud.com"}],"maintainers":[{"email":"hello@matteocollina.com","name":"matteo.collina"},{"email":"behemoth89@gmail.com","name":"eomm"},{"email":"iselwin@gmail.com","name":"kibertoad"},{"email":"kaka@kakawebsitedemo.com","name":"climba03003"},{"email":"hey@gurgun.day","name":"gurgunday"},{"email":"a.tripodi133@gmail.com","name":"tony133"},{"email":"me@metcoder.dev","name":"metcoder95"},{"email":"frazer.dev@icloud.com","name":"fdawgs"}],"readme":"# @fastify/view\n\n[![CI](https://github.com/fastify/point-of-view/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/fastify/point-of-view/actions/workflows/ci.yml)\n[![NPM version](https://img.shields.io/npm/v/@fastify/view.svg?style=flat)](https://www.npmjs.com/package/@fastify/view)\n[![neostandard javascript style](https://img.shields.io/badge/code_style-neostandard-brightgreen?style=flat)](https://github.com/neostandard/neostandard)\n\nTemplates rendering plugin support for Fastify.\n\n`@fastify/view` decorates the reply interface with the `view` and `viewAsync` methods for managing view engines, which can be used to render templated responses.\n\nCurrently supports the following templates engines:\n\n- [`ejs`](https://ejs.co/)\n- [`nunjucks`](https://mozilla.github.io/nunjucks/)\n- [`pug`](https://pugjs.org/api/getting-started.html)\n- [`handlebars`](https://handlebarsjs.com/)\n- [`mustache`](https://mustache.github.io/)\n- [`twig`](https://twig.symfony.com/)\n- [`liquid`](https://github.com/harttle/liquidjs)\n- [`doT`](https://github.com/olado/doT)\n- [`eta`](https://eta.js.org)\n- [`edge`](https://edgejs.dev)\n- [`squirrelly`](https://squirrelly.js.org/)\n\nIn `production` mode, `@fastify/view` will heavily cache the templates file and functions, while in `development` will reload every time the template file and function.\n\n_Note: For **Fastify v3 support**, please use point-of-view `5.x` (npm i point-of-view@5)._\n\n_Note that at least Fastify `v2.0.0` is needed._\n\n## Recent Changes\n\n_Note: `reply.viewAsync` added as a replacement for `reply.view` and `fastify.view`. See [Migrating from view to viewAsync](#migrating-from-view-to-viewAsync)._\n\n_Note: [`ejs-mate`](https://github.com/JacksonTian/ejs-mate) support [has been dropped](https://github.com/fastify/point-of-view/pull/157)._\n\n_Note: [`marko`](https://markojs.com/) support has been dropped. Please use [`@marko/fastify`](https://github.com/marko-js/fastify) instead._\n\n#### Benchmarks\n\nThe benchmarks were run with the files in the `benchmark` folder with the `ejs` engine.\nThe data has been taken with: `autocannon -c 100 -d 5 -p 10 localhost:3000`\n\n- Express: 8.8k req/sec\n- **Fastify**: 15.6k req/sec\n\n## Install\n\n```\nnpm i @fastify/view\n```\n\n<a name=\"quickstart\"></a>\n\n## Quick start\n\n`fastify.register` is used to register @fastify/view. By default, It will decorate the `reply` object with a `view` method that takes at least two arguments:\n\n- the template to be rendered\n- the data that should be available to the template during rendering\n\nThis example will render the template using the EJS engine and provide a variable `name` to be used inside the template:\n\n```html\n<!-- index.ejs --->\n<!DOCTYPE html>\n<html lang=\"en\">\n  <head></head>\n  <body>\n    <p>Hello, <%= name %>!</p>\n  </body>\n</html>\n```\n\n```js\n// index.js:\nconst fastify = require(\"fastify\")()\nconst fastifyView = require(\"@fastify/view\")\n\nfastify.register(fastifyView, {\n  engine: {\n    ejs: require(\"ejs\")\n  }\n})\n\n// synchronous handler:\nfastify.get(\"/\", (req, reply) => {\n  reply.view(\"index.ejs\", { name: \"User\" });\n})\n\n// asynchronous handler:\nfastify.get(\"/\", async (req, reply) => {\n  return reply.viewAsync(\"index.ejs\", { name: \"User\" });\n})\n\nfastify.listen({ port: 3000 }, (err) => {\n  if (err) throw err;\n  console.log(`server listening on ${fastify.server.address().port}`);\n})\n```\n\n## Configuration\n\n### Options\n\n| Option                 | Description | Default |\n| ---------------------- | ----------- | ------- |\n| `engine`               | **Required**. The template engine object - pass in the return value of `require('<engine>')`    | |\n| `production`           | Enables caching of template files and render functions | `NODE_ENV === \"production\"` |\n| `maxCache`             | In `production` mode, maximum number of cached template files and render functions | `100` |\n| `defaultContext`       | Template variables available to all views. Variables provided on render have precedence and will **override** this if they have the same name. <br><br>Example: `{ siteName: \"MyAwesomeSite\" }` | `{}` |\n| `propertyName`         | The property that should be used to decorate `reply` and `fastify` <br><br>E.g. `reply.view()` and `fastify.view()` where `\"view\"` is the property name | `\"view\"` |\n| `asyncPropertyName`    | The property that should be used to decorate `reply` for async handler <br><br>Defaults to `${propertyName}Async` if `propertyName` is defined | `\"viewAsync\"` |\n| `root`                 | The root path of your templates folder. The template name or path passed to the render function will be resolved relative to this path | `\"./\"` |\n| `charset`              | Default charset used when setting `Content-Type` header | `\"utf-8\"` |\n| `includeViewExtension` | Automatically append the default extension for the used template engine **if omitted from the template name**. So instead of `template.hbs`, just `template` can be used | `false` |\n| `viewExt`              | Override the default extension for a given template engine. This has precedence over `includeViewExtension` and will lead to the same behavior, just with a custom extension. <br><br>Example: `\"handlebars\"` | `\"\"` |\n| `layout`               | See [Layouts](#layouts) <br><br>This option lets you specify a global layout file to be used when rendering your templates. Settings like `root` or `viewExt` apply as for any other template file. <br><br>Example: `./templates/layouts/main.hbs`  | |\n| `options`              | See [Engine-specific settings](#engine-specific-settings) | `{}` |\n\n### Example\n\n```js\nfastify.register(require(\"@fastify/view\"), {\n  engine: {\n    handlebars: require(\"handlebars\"),\n  },\n  root: path.join(__dirname, \"views\"), // Points to `./views` relative to the current file\n  layout: \"./templates/template\", // Sets the layout to use to `./views/templates/layout.handlebars` relative to the current file.\n  viewExt: \"handlebars\", // Sets the default extension to `.handlebars`\n  propertyName: \"render\", // The template can now be rendered via `reply.render()` and `fastify.render()`\n  defaultContext: {\n    dev: process.env.NODE_ENV === \"development\", // Inside your templates, `dev` will be `true` if the expression evaluates to true\n  },\n  options: {}, // No options passed to handlebars\n});\n```\n\n## Layouts\n\n@fastify/view supports layouts for **EJS**, **Handlebars**, **Eta** and **doT**. When a layout is specified, the request template is first rendered, then the layout template is rendered with the request-rendered html set on `body`.\n\n### Example\n\n```html\n<!-- layout.ejs: -->\n<!DOCTYPE html>\n<html lang=\"en\">\n  <head></head>\n  <body>\n    <!--\n      Ensure body is not escaped:\n\n      EJS: <%- body %>\n      Handlebars: {{{ body }}}\n      ETA/doT: <%~ it.body %>\n    -->\n    <%- body %>\n    <br/>\n  </body>\n</html>\n```\n\n```html\n<!-- template.ejs: -->\n<p><%= text %></p>\n```\n\n```js\n// index.js:\nfastify.register(fastifyView, {\n  engine: { ejs },\n  layout: \"layout.ejs\"\n})\n\nfastify.get('/', (req, reply) => {\n  const data = { text: \"Hello!\"}\n  reply.view('template.ejs', data)\n})\n```\n\n### Providing a layout on render\n**Please note:** Global layouts and providing layouts on render are mutually exclusive. They can not be mixed.\n\n```js\nfastify.get('/', (req, reply) => {\n  const data = { text: \"Hello!\"}\n  reply.view('template.ejs', data, { layout: 'layout.ejs' })\n})\n```\n\n## Setting request-global variables\nSometimes, several templates should have access to the same request-specific variables. E.g. when setting the current username.\n\nIf you want to provide data, which will be depended on by a request and available in all views, you have to add property `locals` to `reply` object, like in the example below:\n\n```js\nfastify.addHook(\"preHandler\", function (request, reply, done) {\n  reply.locals = {\n    text: getTextFromRequest(request), // it will be available in all views\n  };\n\n  done();\n});\n```\n\nProperties from `reply.locals` will override those from `defaultContext`, but not from `data` parameter provided to `reply.view(template, data)` function.\n\n## Rendering the template into a variable\nThe `fastify` object is decorated the same way as `reply` and allows you to just render a view into a variable (without request-global variables) instead of sending the result back to the browser:\n\n```js\n// Promise based, using async/await\nconst html = await fastify.view(\"/templates/index.ejs\", { text: \"text\" });\n\n// Callback based\nfastify.view(\"/templates/index.ejs\", { text: \"text\" }, (err, html) => {\n  // Handle error\n  // Do something with `html`\n});\n```\n\nIf called within a request hook and you need request-global variables, see [Migrating from view to viewAsync](#migrating-from-view-to-viewAsync).\n\n\n## Registering multiple engines\n\nRegistering multiple engines with different configurations is supported. They are distinguished via their `propertyName`:\n\n```js\nfastify.register(require(\"@fastify/view\"), {\n  engine: { ejs: ejs },\n  layout: \"./templates/layout-mobile.ejs\",\n  propertyName: \"mobile\",\n});\n\nfastify.register(require(\"@fastify/view\"), {\n  engine: { ejs: ejs },\n  layout: \"./templates/layout-desktop.ejs\",\n  propertyName: \"desktop\",\n});\n\nfastify.get(\"/mobile\", (req, reply) => {\n  // Render using the `mobile` render function\n  return reply.mobile(\"/templates/index.ejs\", { text: \"text\" });\n});\n\nfastify.get(\"/desktop\", (req, reply) => {\n  // Render using the `desktop` render function\n  return reply.desktop(\"/templates/index.ejs\", { text: \"text\" });\n});\n```\n\n## Rendering a template from a string (\"raw\" template)\n\nThe `reply.view({ raw })` option allows you to render a template from a string instead of a file. This is useful when you want to render a template that is not stored in a file, or when you want to use a template that is generated dynamically.\n\n```js\nfastify.get('/', (req, reply) => {\n  fs.readFile('./templates/index.mustache', 'utf8', (err, file) => {\n    if (err) {\n      reply.send(err)\n    } else {\n      reply.view({ raw: file }, data)\n    }\n  })\n})\n```\n\nNote that by using the `raw` option, you are considering the template as trusted - `@fastify/view` does not perform any\nvalidation on the template content.\n\n__DO NOT USE `raw` with untrusted content, or you will make yourself vulnerable to Remote Code Execution (RCE) attacks.__\n\n## Minifying HTML on render\n\nTo utilize [`html-minifier-terser`](https://www.npmjs.com/package/html-minifier-terser) in the rendering process, you can add the option `useHtmlMinifier` with a reference to `html-minifier-terser`,\nand the optional `htmlMinifierOptions` option is used to specify the `html-minifier-terser` options:\n\n```js\n// get a reference to html-minifier-terser\nconst minifier = require('html-minifier-terser')\n// optionally defined the html-minifier-terser options\nconst minifierOpts = {\n  removeComments: true,\n  removeCommentsFromCDATA: true,\n  collapseWhitespace: true,\n  collapseBooleanAttributes: true,\n  removeAttributeQuotes: true,\n  removeEmptyAttributes: true\n}\n// in template engine options configure the use of html-minifier\n  options: {\n    useHtmlMinifier: minifier,\n    htmlMinifierOptions: minifierOpts\n  }\n```\n\nTo exclude paths from minification, you can add the option `pathsToExcludeHtmlMinifier` with a list of paths:\n```js\n// get a reference to html-minifier-terser\nconst minifier = require('html-minifier-terser')\n// in options configure the use of html-minifier-terser and set paths to exclude from minification\nconst options = {\n  useHtmlMinifier: minifier,\n  pathsToExcludeHtmlMinifier: ['/test']\n}\n\nfastify.register(require(\"@fastify/view\"), {\n  engine: {\n    ejs: require('ejs')\n  },\n  options\n});\n\n// This path is excluded from minification\nfastify.get(\"/test\", (req, reply) => {\n  reply.view(\"./template/index.ejs\", { text: \"text\" });\n});\n\n```\n\n\n\n## Engine-specific settings\n\n<!---\n// I don't think this is needed - see https://github.com/fastify/point-of-view/issues/280\n## EJS\n\nTo use include files please extend your template options as follows:\n\n```js\n// get a reference to resolve\nconst resolve = require('node:path').resolve;\n// other code ...\n// in template engine options configure how to resolve templates folder\noptions: {\n  filename: resolve(\"templates\");\n}\n```\n\nand in ejs template files (for example templates/index.ejs) use something like:\n\n```html\n<%- include('header.ejs') %>\n```\n\nwith a path relative to the current page, or an absolute path. Please check this example [here](./templates/layout-with-includes.ejs)\n--->\n\n### Mustache\n\nTo use partials in mustache you will need to pass the names and paths in the options parameter:\n\n```js\n  options: {\n    partials: {\n      header: 'header.mustache',\n      footer: 'footer.mustache'\n    }\n  }\n```\n\n```js\nfastify.get('/', (req, reply) => {\n  reply.view('./templates/index.mustache', data)\n})\n```\n\n```js\nfastify.get('/', (req, reply) => {\n  fs.readFile('./templates/index.mustache', 'utf8', (err, file) => {\n    if (err) {\n      reply.send(err)\n    } else {\n      const render = mustache.render.bind(mustache, file)\n      reply.view(render, data)\n    }\n  })\n})\n```\n\n```js\nfastify.get('/', (req, reply) => {\n  fs.readFile('./templates/index.mustache', 'utf8', (err, file) => {\n    if (err) {\n      reply.send(err)\n    } else {\n      reply.view({ raw: file }, data)\n    }\n  })\n})\n```\n\n### Handlebars\n\nTo use partials in handlebars you will need to pass the names and paths in the options parameter:\n\n```js\n  options: {\n    partials: {\n      header: 'header.hbs',\n      footer: 'footer.hbs'\n    }\n  }\n```\n\nYou can specify [compile options](https://handlebarsjs.com/api-reference/compilation.html#handlebars-compile-template-options) as well:\n\n```js\n  options: {\n    compileOptions: {\n      preventIndent: true\n    }\n  }\n```\n\nTo access `defaultContext` and `reply.locals` as [`@data` variables](https://handlebarsjs.com/api-reference/data-variables.html):\n\n```js\n  options: {\n    useDataVariables: true\n  }\n```\n\nTo use layouts in handlebars you will need to pass the `layout` parameter:\n\n```js\nfastify.register(require(\"@fastify/view\"), {\n  engine: {\n    handlebars: require(\"handlebars\"),\n  },\n  layout: \"./templates/layout.hbs\",\n});\n\nfastify.get(\"/\", (req, reply) => {\n  reply.view(\"./templates/index.hbs\", { text: \"text\" });\n});\n```\n\n```js\nfastify.get('/', (req, reply) => {\n  fs.readFile('./templates/index.hbs', 'utf8', (err, file) => {\n    if (err) {\n      reply.send(err)\n    } else {\n      const render = handlebars.compile(file)\n      reply.view(render, data)\n    }\n  })\n})\n```\n\n```js\nfastify.get('/', (req, reply) => {\n  fs.readFile('./templates/index.hbs', 'utf8', (err, file) => {\n    if (err) {\n      reply.send(err)\n    } else {\n      reply.view({ raw: file }, data)\n    }\n  })\n})\n```\n\n### Nunjucks\n\nYou can load templates from multiple paths when using the nunjucks engine:\n\n```js\nfastify.register(require(\"@fastify/view\"), {\n  engine: {\n    nunjucks: require(\"nunjucks\"),\n  },\n  templates: [\n    \"node_modules/shared-components\",\n    \"views\",\n  ],\n});\n```\n\nTo configure nunjucks environment after initialization, you can pass callback function to options:\n\n```js\noptions: {\n  onConfigure: (env) => {\n    // do whatever you want on nunjucks env\n  };\n}\n```\n\n```js\nfastify.get('/', (req, reply) => {\n  reply.view('./templates/index.njk', data)\n})\n```\n\n```js\nfastify.get('/', (req, reply) => {\n  fs.readFile('./templates/index.njk', 'utf8', (err, file) => {\n    if (err) {\n      reply.send(err)\n    } else {\n      const render = nunjucks.compile(file)\n      reply.view(render, data)\n    }\n  })\n})\n```\n\n```js\nfastify.get('/', (req, reply) => {\n  fs.readFile('./templates/index.njk', 'utf8', (err, file) => {\n    if (err) {\n      reply.send(err)\n    } else {\n      reply.view({ raw: file }, data)\n    }\n  })\n})\n```\n\n### Liquid\n\nTo configure liquid you need to pass the engine instance as engine option:\n\n```js\nconst { Liquid } = require(\"liquidjs\");\nconst path = require('node:path');\n\nconst engine = new Liquid({\n  root: path.join(__dirname, \"templates\"),\n  extname: \".liquid\",\n});\n\nfastify.register(require(\"@fastify/view\"), {\n  engine: {\n    liquid: engine,\n  },\n});\n\nfastify.get(\"/\", (req, reply) => {\n  reply.view(\"./templates/index.liquid\", { text: \"text\" });\n});\n```\n\n```js\nfastify.get('/', (req, reply) => {\n  fs.readFile('./templates/index.liquid', 'utf8', (err, file) => {\n    if (err) {\n      reply.send(err)\n    } else {\n      const render = engine.renderFile.bind(engine, './templates/index.liquid')\n      reply.view(render, data)\n    }\n  })\n})\n```\n\n```js\nfastify.get('/', (req, reply) => {\n  fs.readFile('./templates/index.liquid', 'utf8', (err, file) => {\n    if (err) {\n      reply.send(err)\n    } else {\n      reply.view({ raw: file }, data)\n    }\n  })\n})\n```\n\n### doT\n\nWhen using [doT](https://github.com/olado/doT) the plugin compiles all templates when the application starts, this way all `.def` files are loaded and\nboth `.jst` and `.dot` files are loaded as in-memory functions.\nThis behavior is recommended by the doT team [here](https://github.com/olado/doT#security-considerations).\nTo make it possible it is necessary to provide a `root` or `templates` option with the path to the template directory.\n\n```js\nfastify.register(require(\"@fastify/view\"), {\n  engine: {\n    dot: require(\"dot\"),\n  },\n  root: \"templates\",\n  options: {\n    destination: \"dot-compiled\", // path where compiled .jst files are placed (default = 'out')\n  },\n});\n\nfastify.get(\"/\", (req, reply) => {\n  // this works both for .jst and .dot files\n  reply.view(\"index\", { text: \"text\" });\n});\n```\n\n```js\nconst d = dot.process({ path: 'templates', destination: 'out' })\nfastify.get('/', (req, reply) => {\n  reply.view(d.index, data)\n})\n```\n\n```js\nfastify.get('/', (req, reply) => {\n  reply.view({ raw: readFileSync('./templates/index.dot'), imports: { def: readFileSync('./templates/index.def') } }, data)\n})\n```\n\n### eta\n\n```js\nconst { Eta } = require('eta')\nlet eta = new Eta()\nfastify.register(pointOfView, {\n  engine: {\n    eta\n  },\n  templates: 'templates'\n})\n\nfastify.get(\"/\", (req, reply) => {\n  reply.view(\"index.eta\", { text: \"text\" });\n});\n```\n\n```js\nfastify.get('/', (req, reply) => {\n  fs.readFile('./templates/index.eta', 'utf8', (err, file) => {\n    if (err) {\n      reply.send(err)\n    } else {\n      reply.view(eta.compile(file), data)\n    }\n  })\n})\n```\n\n```js\nfastify.get('/', (req, reply) => {\n  fs.readFile('./templates/index.eta', 'utf8', (err, file) => {\n    if (err) {\n      reply.send(err)\n    } else {\n      reply.view({ raw: file }, data)\n    }\n  })\n})\n```\n\n### ejs\n\n```js\nconst ejs = require('ejs')\nfastify.register(pointOfView, {\n  engine: {\n    ejs\n  },\n  templates: 'templates'\n})\n\nfastify.get(\"/\", (req, reply) => {\n  reply.view(\"index.ejs\", { text: \"text\" });\n});\n```\n\n```js\nfastify.get('/', (req, reply) => {\n  fs.readFile('./templates/index.ejs', 'utf8', (err, file) => {\n    if (err) {\n      reply.send(err)\n    } else {\n      reply.view(ejs.compile(file), data)\n    }\n  })\n})\n```\n\n```js\nfastify.get('/', (req, reply) => {\n  fs.readFile('./templates/index.ejs', 'utf8', (err, file) => {\n    if (err) {\n      reply.send(err)\n    } else {\n      reply.view({ raw: file }, data)\n    }\n  })\n})\n```\n\n### pug\n\n```js\nconst pug = require('pug')\nfastify.register(pointOfView, {\n  engine: {\n    pug\n  }\n})\n\n\nfastify.get(\"/\", (req, reply) => {\n  reply.view(\"index.pug\", { text: \"text\" });\n});\n```\n\n```js\nfastify.get('/', (req, reply) => {\n  fs.readFile('./templates/index.pug', 'utf8', (err, file) => {\n    if (err) {\n      reply.send(err)\n    } else {\n      reply.view(pug.compile(file), data)\n    }\n  })\n})\n```\n\n```js\nfastify.get('/', (req, reply) => {\n  fs.readFile('./templates/index.pug', 'utf8', (err, file) => {\n    if (err) {\n      reply.send(err)\n    } else {\n      reply.view({ raw: file }, data)\n    }\n  })\n})\n```\n\n### twig\n\n```js\nconst twig = require('twig')\nfastify.register(pointOfView, {\n  engine: {\n    twig\n  }\n})\n\n\nfastify.get(\"/\", (req, reply) => {\n  reply.view(\"index.twig\", { text: \"text\" });\n});\n```\n\n```js\nfastify.get('/', (req, reply) => {\n  fs.readFile('./templates/index.twig', 'utf8', (err, file) => {\n    if (err) {\n      reply.send(err)\n    } else {\n      reply.view(twig.twig({ data: file }), data)\n    }\n  })\n})\n```\n\n```js\nfastify.get('/', (req, reply) => {\n  fs.readFile('./templates/index.twig', 'utf8', (err, file) => {\n    if (err) {\n      reply.send(err)\n    } else {\n      reply.view({ raw: file }, data)\n    }\n  })\n})\n```\n\n### Edge\n\n```js\nconst { Edge } = require('edge.js')\nconst { join } = require('node:path')\n\nconst engine = new Edge()\nengine.mount(join(__dirname, '..', 'templates'))\n\nfastify.register(require('../index'), {\n    engine: {\n        edge: engine\n    }\n})\n\nfastify.get('/', (_req, reply) => {\n    reply.view('index.edge', data)\n})\n```\n\n### Squirrelly\n\n```js\nconst Sqrl = require('squirrelly')\n\nfastify.register(require('@fastify/view'), {\n    engine: {\n        squirrelly: Sqrl\n    },\n    templates: 'templates'\n})\n\nfastify.get('/', (_req, reply) => {\n    reply.view('index.squirrelly', { text: 'Hello World!' })\n})\n```\n\n<!---\n// This seems a bit random given that there was no mention of typescript before.\n### Typing\n\nTyping parameters from `reply.locals` in `typescript`:\n\n```typescript\ninterface Locals {\n  appVersion: string;\n  isAuthorized: boolean;\n  user?: {\n    id: number;\n    login: string;\n  };\n}\n\ndeclare module \"fastify\" {\n  interface FastifyReply {\n    locals: Partial<Locals> | undefined;\n  }\n}\n\napp.addHook(\"onRequest\", (request, reply, done) => {\n  if (!reply.locals) {\n    reply.locals = {};\n  }\n\n  reply.locals.isAuthorized = true;\n  reply.locals.user = {\n    id: 1,\n    login: \"Admin\",\n  };\n});\n\napp.get(\"/data\", (request, reply) => {\n  if (!reply.locals) {\n    reply.locals = {};\n  }\n\n  // reply.locals.appVersion = 1 // not a valid type\n  reply.locals.appVersion = \"4.14.0\";\n  reply.view<{ text: string }>(\"/index\", { text: \"Sample data\" });\n});\n```\n-->\n\n## Miscellaneous\n\n### Using @fastify/view as a dependency in a fastify-plugin\n\nTo require `@fastify/view` as a dependency to a [fastify-plugin](https://github.com/fastify/fastify-plugin), add the name `@fastify/view` to the dependencies array in the [plugin's opts](https://github.com/fastify/fastify-plugin#dependencies).\n\n```js\nfastify.register(myViewRendererPlugin, {\n  dependencies: [\"@fastify/view\"],\n});\n```\n\n### Forcing a cache-flush\n\nTo forcefully clear the cache when in production mode, call the `view.clearCache()` function.\n\n```js\nfastify.view.clearCache();\n```\n\n<a name=\"note\"></a>\n\n### Migrating from `view` to `viewAsync`\n\nThe behavior of `reply.view` is to immediately send the HTML response as soon as rendering is completed, or immediately send a 500 response with error if encountered, short-circuiting fastify's error handling hooks, whereas `reply.viewAsync` returns a promise that either resolves to the rendered HTML, or rejects on any errors. `fastify.view` has no mechanism for providing request-global variables, if needed. `reply.viewAsync` can be used in both sync and async handlers.\n\n#### Sync handler\nPreviously:\n```js\nfastify.get('/', (req, reply) => {\n  reply.view('index.ejs', { text: 'text' })\n})\n```\nNow:\n```js\nfastify.get('/', (req, reply) => {\n  return reply.viewAsync('index.ejs', { text: 'text' })\n})\n```\n#### Async handler\nPreviously:\n```js\n// This is an async function\nfastify.get(\"/\", async (req, reply) => {\n  const data = await something();\n  reply.view(\"/templates/index.ejs\", { data });\n  return\n})\n```\n\nNow:\n```js\n// This is an async function\nfastify.get(\"/\", async (req, reply) => {\n  const data = await something();\n  return reply.viewAsync(\"/templates/index.ejs\", { data });\n})\n```\n#### fastify.view (when called inside a route hook)\nPreviously:\n```js\n// Promise based, using async/await\nfastify.get(\"/\", async (req, reply) => {\n  const html = await fastify.view(\"/templates/index.ejs\", { text: \"text\" });\n  return html\n})\n```\n```js\n// Callback based\nfastify.get(\"/\", (req, reply) => {\n  fastify.view(\"/templates/index.ejs\", { text: \"text\" }, (err, html) => {\n    if(err) {\n      reply.send(err)\n    }\n    else {\n      reply.type(\"application/html\").send(html)\n    }\n  });\n})\n```\nNow:\n```js\n// Promise based, using async/await\nfastify.get(\"/\", (req, reply) => {\n  const html = await fastify.viewAsync(\"/templates/index.ejs\", { text: \"text\" });\n  return html\n})\n```\n```js\nfastify.get(\"/\", (req, reply) => {\n  fastify.viewAsync(\"/templates/index.ejs\", { text: \"text\" })\n    .then((html) => reply.type(\"application/html\").send(html))\n    .catch((err) => reply.send(err))\n  });\n})\n```\n\n## Note\n\nBy default, views are served with the mime type `text/html`, with the charset specified in options. You can specify a different `Content-Type` header using `reply.type`.\n\n## Acknowledgments\n\nThis project is kindly sponsored by:\n\n- [nearForm](https://nearform.com)\n- [LetzDoIt](https://www.letzdoitapp.com/)\n\n## License\n\nLicensed under [MIT](./LICENSE).\n","readmeFilename":"README.md"}