{"_id":"@artur9010/turnstile","_rev":"1-d2e518df95d4049464381a46a944e726","name":"@artur9010/turnstile","dist-tags":{"latest":"1.2.1"},"versions":{"1.2.0":{"name":"@artur9010/turnstile","version":"1.2.0","description":"Simple and easy Cloudflare Turnstile integration with Nuxt.js","keywords":["nuxtjs","nuxt","turnstile","captcha","cloudflare"],"license":"MIT","contributors":[{"name":"mvrlin","email":"mvrlin@pm.me"},{"name":"Artur Motyka","email":"artur@motyka.pro"}],"main":"lib/module.js","types":"types/index.d.ts","bugs":{"url":"https://github.com/nuxt-community/recaptcha-module/issues"},"repository":{"type":"git","url":"git+https://github.com/nuxt-community/recaptcha-module.git"},"publishConfig":{"access":"public"},"scripts":{"dev":"nuxt example/base/v2","lint":"eslint lib test","test":"yarn lint && jest","release":"npm publish"},"dependencies":{},"devDependencies":{"@babel/core":"latest","@babel/preset-env":"latest","@commitlint/cli":"latest","@commitlint/config-conventional":"latest","h3":"latest","@nuxtjs/eslint-config":"latest","babel-eslint":"latest","babel-jest":"latest","codecov":"latest","eslint":"latest","eslint-config-standard":"latest","eslint-plugin-import":"latest","eslint-plugin-jest":"latest","eslint-plugin-node":"latest","eslint-plugin-promise":"latest","eslint-plugin-standard":"latest","eslint-plugin-vue":"latest","husky":"latest","jest":"latest","nuxt-edge":"latest","request":"latest","request-promise-native":"latest","standard-version":"latest"},"gitHead":"44aa84d2cef066adb1dbf2da3fbce4fc45a32a7b","homepage":"https://github.com/nuxt-community/recaptcha-module#readme","_id":"@artur9010/turnstile@1.2.0","_nodeVersion":"19.4.0","_npmVersion":"9.2.0","dist":{"integrity":"sha512-FKB5YeyvrdxoBVHogvneRdqaEOPrMvuaeH5w2PQ0w9+88IhZjqcpzjz6eEc9xXwWfdgYCfe+CO5dnyOj/5om3g==","shasum":"dbf8545014af13e43a3ebcf28d2fb37744501e54","tarball":"https://registry.npmjs.org/@artur9010/turnstile/-/turnstile-1.2.0.tgz","fileCount":7,"unpackedSize":10824,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDsg5ga7ebkP2EHCBxmh3KEwv33TkwWuBlABVIPxHpmDgIgJZibdcCDR8lQQiSRn1IJsYNQzLUElKFshFSzXgBlEVk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj07C9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrYWg/5Adz4LdBsainhVsIH8cO8ncZopTII0WiQDZgOjtcq4di2tmo1\r\ng2MF21dPv9RsFsW4xkaHGmRT9C6IcfiuRad1h3DekB5dwEDdlE494/XtRx0D\r\nbvG2A7vfP0EwoLCg+MMDV8236Zks2xWgDVQqhKsSjI1Og+lgV2DiRnAiEeeg\r\nSlaDy8O/i8r4qmlqNoYzt7d/OMDCIJLi5fsjHGzih6zC5+9nrSus1iA+cge8\r\njxJixrXzeEkcdajMkDxTUAWp4Lz6xmM9/sawdjy4pNFNMFDswV8065FKtxPV\r\nGpiHHOavl1zs8GPqe37hiTE7k9uIas5CaMIfIr8TCsfzaoTDkZDImu8Af+Ji\r\nLxDtr3rPPvH/i3mD2mJ1/uvZqDJFdkcegyBwi1q3qTJ7ffLFioKPmMMjqyrt\r\nOOJEYQCESuoSdxzVLYJ5vWlt3RP4zYSLbjWxWssv//YlbJjzB/VTOOwjFgQT\r\ncL2O0XmKRJsQ8BXjc9mQB/HzyxHGkPE83yPO10ny+9w8Z+MSmnS41ONM5R+a\r\n5pXy01vqmll9FeQHW7kYt3FwNiabqKfkik5Mi0WXVdCl0+ACaW6JV6AF0txw\r\nSpczPgLTvTM8y8T8BuTplwT2QoSxi1+/kJaaV/OgDYyB+ffjwo5NARU8Uk7H\r\nsxlcDagSIh041L2hC0s3xem+vDBhfdxIY2E=\r\n=GA1w\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"artur9010","email":"artur@motyka.pro"},"directories":{},"maintainers":[{"name":"artur9010","email":"artur@motyka.pro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/turnstile_1.2.0_1674817724951_0.8472383912049728"},"_hasShrinkwrap":false},"1.2.1":{"name":"@artur9010/turnstile","version":"1.2.1","description":"Simple and easy Cloudflare Turnstile integration with Nuxt.js","keywords":["nuxtjs","nuxt","turnstile","captcha","cloudflare"],"license":"MIT","contributors":[{"name":"mvrlin","email":"mvrlin@pm.me"},{"name":"Artur Motyka","email":"artur@motyka.pro"}],"main":"lib/module.js","types":"types/index.d.ts","bugs":{"url":"https://github.com/nuxt-community/recaptcha-module/issues"},"repository":{"type":"git","url":"git+https://github.com/nuxt-community/recaptcha-module.git"},"publishConfig":{"access":"public"},"scripts":{"dev":"nuxt example/base/v2","lint":"eslint lib test","test":"yarn lint && jest","release":"npm publish"},"dependencies":{},"devDependencies":{"@babel/core":"latest","@babel/preset-env":"latest","@commitlint/cli":"latest","@commitlint/config-conventional":"latest","h3":"latest","@nuxtjs/eslint-config":"latest","babel-eslint":"latest","babel-jest":"latest","codecov":"latest","eslint":"latest","eslint-config-standard":"latest","eslint-plugin-import":"latest","eslint-plugin-jest":"latest","eslint-plugin-node":"latest","eslint-plugin-promise":"latest","eslint-plugin-standard":"latest","eslint-plugin-vue":"latest","husky":"latest","jest":"latest","nuxt-edge":"latest","request":"latest","request-promise-native":"latest","standard-version":"latest"},"gitHead":"44aa84d2cef066adb1dbf2da3fbce4fc45a32a7b","homepage":"https://github.com/nuxt-community/recaptcha-module#readme","_id":"@artur9010/turnstile@1.2.1","_nodeVersion":"19.4.0","_npmVersion":"9.2.0","dist":{"integrity":"sha512-+Q7liYOU+I92EbfogqyVSPL+HLh7quWJns3TQQZWwKqgHO7w7ZfW7lN3GJuUeipMwWRFtT+WYSko08zyw/UzvA==","shasum":"efed2513ea5f124f25168b210ed304b8f61e11ae","tarball":"https://registry.npmjs.org/@artur9010/turnstile/-/turnstile-1.2.1.tgz","fileCount":7,"unpackedSize":10084,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHjSV42Dbjj4rh4Jmr9wH7kkiMEfPo69tCoayu726ncYAiEAv8YK1ftrRj1fAk7DYnquiUk852irMgoq8cyoJYhip2g="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj07d4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrVqQ//V9vtIkA/+2hKceV6fkFQN//0FZP/45gb/JLIJQTBUetji0IQ\r\nxBJ/jMPtyjiqlgxPafolU1eVIGF+ClBJEvhlMnoNKO6cmpgqNvzkputOm+ip\r\nMlA7knt7sFNX3C+owe7uWJhcUpG1L6BqiCKnoQfvRV+ADQqNrJuO3++8wlR8\r\n762/TibZL4SuD7I385+PP5UqBYJet5wh5Aiqh3CGrAGHlitAk7KaxNd3Lnyl\r\ngXpK+COk7LeKXNH3ACCP2b+DqyxdObp4HYJGw1PGRsbDwJ9552dxm22tlI6T\r\ngnlkUgxYOboTE8Mp230EbDEG+n/+ZKTXFU/ryE8/tZ/hmCwWxqNjNNj2b3XO\r\n4Givr0xL8TYNztPyAtzB2G66xZYBEa+w3Qn5cpiSP9Q+t1v9E0DFYX+DX5Fk\r\n0Ap1SuFsjk+Mwx5+fnMYk0d3wLYJhoJF/F8ngDMYYMZj7fdSrwYwIihr6ysf\r\nMHiKwpZyQJdMDfFJvPW7okWM+h6HY4/T2V+Zys+H3wRuxT0VeFqOnyAbFR+x\r\nKojNZm7kM0aE8jUiVVCzlLnTTNB2UwMIFAl68d6oWyFcO1fWXu3PtuUYsugR\r\npCSeFe6Q2clv1dNxn64gRc0JSWHUm4m1cv0qHbNfd6jmW/JsFvPQVy7/f2E3\r\nU9DTuSEUXL1x5uTzKFTLiwCeqNCUUal4H5k=\r\n=Pv3p\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"artur9010","email":"artur@motyka.pro"},"directories":{},"maintainers":[{"name":"artur9010","email":"artur@motyka.pro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/turnstile_1.2.1_1674819448396_0.3467338990572084"},"_hasShrinkwrap":false}},"time":{"created":"2023-01-27T11:08:44.882Z","1.2.0":"2023-01-27T11:08:45.120Z","modified":"2023-01-27T11:37:28.660Z","1.2.1":"2023-01-27T11:37:28.560Z"},"maintainers":[{"name":"artur9010","email":"artur@motyka.pro"}],"description":"Simple and easy Cloudflare Turnstile integration with Nuxt.js","homepage":"https://github.com/nuxt-community/recaptcha-module#readme","keywords":["nuxtjs","nuxt","turnstile","captcha","cloudflare"],"repository":{"type":"git","url":"git+https://github.com/nuxt-community/recaptcha-module.git"},"contributors":[{"name":"mvrlin","email":"mvrlin@pm.me"},{"name":"Artur Motyka","email":"artur@motyka.pro"}],"bugs":{"url":"https://github.com/nuxt-community/recaptcha-module/issues"},"license":"MIT","readme":"# Cloudflare Turnstile for Nuxt 2\n\nBased on Nuxt reCaptcha module. Created for use at https://mclist.io\n\n## Setup\n\n1. Add `@artur9010/turnstile` dependency with `yarn` or `npm` into your project\n2. Add `@artur9010/turnstile` to `modules` section of `nuxt.config.js`\n3. Configure it:\n\n```js\n{\n  modules: [\n    [\n      '@artur9010/turnstile', {\n        siteKey: \"\"\n      }\n    ],\n  ]\n}\n```\n\n## Runtime config\n\n```js\n// nuxt.config.js\nexport default {\n  publicRuntimeConfig: {\n    turnstile: {\n      /* reCAPTCHA options */\n      siteKey: process.env.TURNSTILE_SITE_KEY // for example\n    }\n  }\n}\n```\n## Usage\n\n1. Add `<turnstile>` component inside your form:\n\n```vue\n<form @submit.prevent=\"onSubmit\">\n  <input autocomplete=\"true\" placeholder=\"Email\" type=\"email\" v-model=\"email\">\n  <input autocomplete=\"current-password\" placeholder=\"Password\" type=\"password\" v-model=\"password\">\n  <turnstile />\n  <button type=\"submit\">Sign In</button>\n</form>\n```\n\n2. Call `getResponse` inside form submit handler to get turnstile token:\n\n```js\nasync onSubmit() {\n  try {\n    const token = await this.$recaptcha.getResponse()\n    console.log('Turnstile token:', token)\n\n    // send token to server alongside your form data\n\n    // at the end you need to reset recaptcha\n    await this.$turnstile.reset()\n  } catch (error) {\n    console.log('Login error:', error)\n  }\n},\n```\n\n### Server Side\n\nCheck https://developers.cloudflare.com/turnstile/get-started/server-side-validation/\n\n## Development\n\n1. Clone this repository\n2. Install dependencies using `yarn install` or `npm install`\n3. Start development server using `npm run dev`\n\n## License\n\n[MIT License](./LICENSE)\n\nOriginally created by mvrlin <mvrlin@pm.me>","readmeFilename":"README.md"}