{"_id":"react-secure-link","_rev":"27-74ded51e5e8f955e4d39b1ff6e2b2309","time":{"0.0.1-alpha-7":"2020-12-23T14:39:54.294Z","created":"2020-12-24T17:37:58.751Z","1.0.1":"2020-12-24T17:37:58.956Z","modified":"2023-11-01T14:00:50.135Z","1.1.0":"2020-12-25T18:00:23.962Z","2.0.0":"2020-12-26T01:20:28.737Z","3.0.0":"2020-12-26T18:56:10.656Z","3.0.1":"2020-12-30T19:13:06.996Z","3.0.2":"2021-01-08T00:31:19.671Z","3.0.3":"2021-05-26T01:26:43.823Z","3.1.0":"2022-05-25T01:30:34.890Z","3.1.1":"2022-05-26T02:01:10.337Z","3.1.2":"2022-11-17T23:08:35.314Z","3.2.0":"2023-11-01T14:00:49.952Z"},"name":"react-secure-link","dist-tags":{"latest":"3.2.0"},"versions":{"1.0.1":{"name":"react-secure-link","version":"1.0.1","description":"A TypeScript compatible React component to avoid security exploits when opening a link in a new tab.","keywords":["react","react-component","link","url","secure","noopener","noreferrer","href","exploit"],"private":false,"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"dev":"webpack --progress --mode development --watch","build":"webpack --mode production","lint":"eslint \"src/**/*.{ts,tsx}\"","test":"jest --coverage","ci-test":"jest --coverage --ci --reporters=default --reporters=jest-junit"},"peerDependencies":{"react":">=16"},"repository":{"type":"git","url":"git+https://github.com/dbudwin/react-secure-link.git"},"author":{"name":"Drew Budwin"},"license":"GPL-3.0-or-later","bugs":{"url":"https://github.com/dbudwin/react-secure-link/issues"},"homepage":"https://github.com/dbudwin/react-secure-link#readme","devDependencies":{"@babel/core":"^7.12.9","@babel/preset-env":"^7.12.7","@babel/preset-react":"^7.12.7","@babel/preset-typescript":"^7.12.7","@testing-library/jest-dom":"^5.11.6","@testing-library/react":"^11.2.2","@types/faker":"^5.1.5","@types/jest":"^26.0.16","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","@typescript-eslint/eslint-plugin":"^4.9.0","@typescript-eslint/parser":"^4.9.0","babel-loader":"^8.2.2","eslint":"^7.15.0","eslint-plugin-jest-dom":"^3.6.3","eslint-plugin-react":"^7.21.5","eslint-plugin-testing-library":"^3.10.1","faker":"^5.1.0","jest":"^26.6.3","jest-junit":"^12.0.0","react":"^17.0.1","react-dom":"^17.0.1","ts-loader":"^8.0.12","ts-node":"^9.1.0","typescript":"^4.1.2","webpack":"^5.10.0","webpack-cli":"^4.2.0"},"gitHead":"5706bb8312101bafea1e859cb2ecd8712faefb1d","_id":"react-secure-link@1.0.1","_nodeVersion":"15.4.0","_npmVersion":"7.0.15","dist":{"integrity":"sha512-Bh2d3C/llOPyq45v+fo6T8TZL73q5O5dDhbzUT/gE4Z/4PUeRmJzsq9/4xvnuO6vs0cuw6LshlwdTqecdNyP5A==","shasum":"5bddf1c4529e1d2f2f3e238d25149945bac1a2c1","tarball":"https://registry.npmjs.org/react-secure-link/-/react-secure-link-1.0.1.tgz","fileCount":8,"unpackedSize":49719,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf5NH3CRA9TVsSAnZWagAA7hIQAImGSC9CAt5gVmD2txqY\nhu7nMugkPvU1DwqEvoalnNBq40wVedsKnX4melhGg5TEo+lxGq6e/MOFa0Og\ncvEbxrfyZF5s1wDuv/+OBopJD23lgeViAwtluIhNLBgge2WbLsU1olN97mAQ\nbnNtvR9nnPAmx/WOKAgEsOr9yX0rwDHcktb3UCyeSikDag0O4yHSsCYdoOl6\nBbKtxDlDmgu7+Dxdy5/1t9UXhzvHSiVpNQW/E/sL7uKFWJJKrjMG25SIZKqq\nNPrygye0at5tIE+WzfpGEMpVlOrdK3iQWymD7uhEuNudHtfmuAJKGd121cD2\nU9z2lJUO4bkjh8O/YxgWrdrXxG+/PtSBpiL0SK4WqUa0iWL7cS78mIJyKWh1\n6iitQZ8bDdL6M3lhbMck+9CaMw49SvBJJgj/oolpu+P2JA20rySHhiZ9YFwF\nZXWpMowK+34dcbkZAJZOTjD0UZgKpaqfTO3jO2jz3i2wDrbi/ddyqekVITzQ\np4ljqMTbkw8KGmtHgxK4nzPb8qSiYQIpBYNcYU1pfO8PHGUO5fBx67+vtFT4\n0n0gnuFBTVVqe4kJK0RKhbSoagzQ9BCxDduy5gSwOgnt+c3KHDsgA+cjfTGQ\nl7AiUv04tFVTWWIxSqQ4DYHCdY6DfSq56OzNo78rCRewOY3n2LT07qmPv7oc\nI1+J\r\n=XzII\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCqxlRLUAMHecRmXTQjeR7Faxv3A+I1cKCIeqca2dtQywIhAO7zC0si9DiNIdhrY+MlU8sAMFStqmPkkzLBZLhCNRVt"}]},"_npmUser":{"name":"dbudwin","email":"drew@budw.in"},"directories":{},"maintainers":[{"name":"dbudwin","email":"drew@budw.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-secure-link_1.0.1_1608831478752_0.1019076365874545"},"_hasShrinkwrap":false},"1.1.0":{"name":"react-secure-link","version":"1.1.0","description":"A TypeScript compatible React component to avoid security exploits when opening a link in a new tab.","keywords":["react","react-component","link","url","secure","noopener","noreferrer","href","exploit"],"private":false,"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"dev":"webpack --progress --mode development --watch","build":"webpack --mode production","lint":"eslint \"src/**/*.{ts,tsx}\"","test":"jest --coverage","ci-test":"jest --coverage --ci --reporters=default --reporters=jest-junit"},"peerDependencies":{"react":">=16"},"repository":{"type":"git","url":"git+https://github.com/dbudwin/react-secure-link.git"},"author":{"name":"Drew Budwin"},"license":"GPL-3.0-or-later","bugs":{"url":"https://github.com/dbudwin/react-secure-link/issues"},"homepage":"https://github.com/dbudwin/react-secure-link#readme","devDependencies":{"@babel/core":"^7.12.9","@babel/preset-env":"^7.12.7","@babel/preset-react":"^7.12.7","@babel/preset-typescript":"^7.12.7","@testing-library/jest-dom":"^5.11.6","@testing-library/react":"^11.2.2","@types/faker":"^5.1.5","@types/jest":"^26.0.16","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","@typescript-eslint/eslint-plugin":"^4.9.0","@typescript-eslint/parser":"^4.9.0","babel-loader":"^8.2.2","eslint":"^7.15.0","eslint-plugin-jest-dom":"^3.6.3","eslint-plugin-react":"^7.21.5","eslint-plugin-testing-library":"^3.10.1","faker":"^5.1.0","jest":"^26.6.3","jest-junit":"^12.0.0","react":"^17.0.1","react-dom":"^17.0.1","ts-loader":"^8.0.12","ts-node":"^9.1.0","typescript":"^4.1.2","webpack":"^5.10.0","webpack-cli":"^4.2.0"},"gitHead":"c76e783c4c59b19b2563c99f2d2a4cd50b52b184","_id":"react-secure-link@1.1.0","_nodeVersion":"15.4.0","_npmVersion":"7.0.15","dist":{"integrity":"sha512-JDv/Amb+VDTBvQ3K6az7vJxS+p5phWqFupU9cGBAUz54eJkIeROuZFJ0U6QeMBErijQCwDnq+BWZhqtISbN9JA==","shasum":"de437fdd4bec31985f107145145e360acc572f38","tarball":"https://registry.npmjs.org/react-secure-link/-/react-secure-link-1.1.0.tgz","fileCount":8,"unpackedSize":50274,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf5ii4CRA9TVsSAnZWagAAuuUP/1Wvz50qDUF8GcWRgONP\n6+oWeXH4oETstUv6K+CEizzXxAijTQ7MCVGXiP5KwKzAxlecZstiVFZ6oRzp\n8L+A01TXQ8/WCiBUq35hFq0DQvhsI1jD8xrzKkAUI11qla4MTh8sV5ONpfw1\nw6JdmswxuQPo9+htmYN01RVC1kFLtzQeWDaUYNGb3Bl+CnmpcFOYEtglpOR1\n4LsWUDlKxeUrj6nZCWtUbNWoEAhflutXiqogn8X6OOV6BZSwzLDmtn3h4ZPR\nawm2qlawJEMYR/HB9fdqySC8mvgyK93tmfcMBcMr1qSEXjH+2tSbhhjnjWx3\np3djHmND8VLSoZRATaY9S1nGTVSyeOq9FoLwka/WNnOLrMazbRzB3wIgXaKN\nZzsN0fhYFaoQ9+MiGcF2gGa7Q2d9mOqf3+O2EEaSn0ZPjoHFvjgZh5XmJMx3\nppncq/yc/BPjU9lY0ZzjPqRRwA1ApXP5sEGWAUV1mWziP499s+rULnH87Jtb\nVzVKZyynQqAoDI+P5tKQi/LmqA6IrcBLvaDCr54zfQklnh8DIKGV3GBiTjO+\nKmKOU+ls4ILHB41WnQnKMQCISj2l2sDlnJt/YFk+WWK/USg9JH4dV+NUvJ53\noDwOOPmfl7K6sPsdIaWLUpfMIGnQis+J4zfLdXEUSXX4O7YSwbwPmnpShJI7\nJRnf\r\n=GrOy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHPjz2sGBwtOUJZLGX/vU4JiyYRRwwonA6q0AFz3g0wVAiB0MOadqKoeWKyREvlMypq4MwMm8r3k1T5BVVKmYS7qTQ=="}]},"_npmUser":{"name":"dbudwin","email":"drew@budw.in"},"directories":{},"maintainers":[{"name":"dbudwin","email":"drew@budw.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-secure-link_1.1.0_1608919223817_0.363322147271975"},"_hasShrinkwrap":false},"2.0.0":{"name":"react-secure-link","version":"2.0.0","description":"A TypeScript compatible React component to avoid security exploits when opening a link in a new tab.","keywords":["react","react-component","link","url","secure","noopener","noreferrer","href","exploit"],"private":false,"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"dev":"webpack --progress --mode development --watch","build":"webpack --mode production","lint":"eslint \"src/**/*.{ts,tsx}\"","test":"jest --coverage","ci-test":"jest --coverage --ci --reporters=default --reporters=jest-junit"},"peerDependencies":{"react":">=16"},"repository":{"type":"git","url":"git+https://github.com/dbudwin/react-secure-link.git"},"author":{"name":"Drew Budwin"},"license":"GPL-3.0-or-later","bugs":{"url":"https://github.com/dbudwin/react-secure-link/issues"},"homepage":"https://github.com/dbudwin/react-secure-link#readme","devDependencies":{"@babel/core":"^7.12.9","@babel/preset-env":"^7.12.7","@babel/preset-react":"^7.12.7","@babel/preset-typescript":"^7.12.7","@testing-library/jest-dom":"^5.11.6","@testing-library/react":"^11.2.2","@types/faker":"^5.1.5","@types/jest":"^26.0.16","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","@typescript-eslint/eslint-plugin":"^4.9.0","@typescript-eslint/parser":"^4.9.0","babel-loader":"^8.2.2","eslint":"^7.15.0","eslint-plugin-jest-dom":"^3.6.3","eslint-plugin-react":"^7.21.5","eslint-plugin-testing-library":"^3.10.1","faker":"^5.1.0","jest":"^26.6.3","jest-junit":"^12.0.0","react":"^17.0.1","react-dom":"^17.0.1","ts-loader":"^8.0.12","ts-node":"^9.1.0","typescript":"^4.1.2","webpack":"^5.10.0","webpack-cli":"^4.2.0"},"gitHead":"d9e9c71327b07e4289bda26d2659fc8b6c4e2591","_id":"react-secure-link@2.0.0","_nodeVersion":"15.4.0","_npmVersion":"7.0.15","dist":{"integrity":"sha512-g8vfwyxyX7fdD/VWlpHt4MQKKuyH5mVw6awOt38OAe9iCSNZn4ZF5BZ0BsVxW3QVubZG5eXxyqzxHdALw+ShaA==","shasum":"4d31683abc9fd8b4319d0d940f4aa22b6f990cb2","tarball":"https://registry.npmjs.org/react-secure-link/-/react-secure-link-2.0.0.tgz","fileCount":8,"unpackedSize":50244,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf5o/dCRA9TVsSAnZWagAA+bUQAKOPENV+C3KClVzhZiT7\nb4SIQ9PECkt5DXYe5a0umuhaOWOqnEwrwQHId+qJVFjQ1lPklUBQqqb9FFlm\nl+jVi+q/xb7Pz0qh6cw7k+YYHsijStgwz3iTe9tdg7XbLnd0RD3R2KGw1DgN\nGzVlqNhnSlJv5KmSO9DQAB6gmUl+UMdnuPtfA6qSGOddopl+HRu/s9JcGFIu\nsy6whYeGff8j4C+xxgPshQnnaZVajXSdZpRgVy1NsXwt7HlidYnBKqyM6FdG\n5wwj6ez1ouzsSebzOuUV3w5LnX1/GZ5GEV7S/C+nHVbkKEvHoLAvrbkY5ZCM\nvsagHPCgIVQ6tp9P9qavc0MxNE3y34PhLoszVg1HwkoM2bDMYSPhEtdLmhi8\n6aLu//lyjLwiOecY+Iq8rxlgId2C0LdAkpbv5ZzQmkUPLS7E3XCf4UuoE31J\niKBTv/5iW35KnuSc7SA0gmuvcdo9FF6abM2tmR+1jT9ftJQm8PQ1AsJGjheK\nGugkMYF6SWkpjgJNd4m0A95TLtNy4dSrfGBC9tbskVjOk+AOEuHJlxNFphVH\nTEvo1+eudpsB6NFdt38d9bEqnwj3Ipn74sqjK2Pt6AT2y2cc8qkCE4S5r4Tw\ngC/XOLVifq0eFl5rRpHp9YtyHwHOFfuZOmpd3OfRP489mvTAkzk25Rk0dEmX\npFQf\r\n=3i8t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDIc1KK9HnPJSFQmFGsdMRfuHr2UTV2Qx5gnMdnzOoA3gIgPSM+MIDdjJMS+ZPddKRs2ZUDEBgIqstiFtz/ib+coOI="}]},"_npmUser":{"name":"dbudwin","email":"drew@budw.in"},"directories":{},"maintainers":[{"name":"dbudwin","email":"drew@budw.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-secure-link_2.0.0_1608945628613_0.07157854367670247"},"_hasShrinkwrap":false},"3.0.0":{"name":"react-secure-link","version":"3.0.0","description":"A TypeScript compatible React component to avoid security exploits when opening a link in a new tab.","keywords":["react","react-component","link","url","secure","noopener","noreferrer","href","exploit"],"private":false,"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"dev":"webpack --progress --mode development --watch","build":"webpack --mode production","lint":"eslint \"src/**/*.{ts,tsx}\"","test":"jest --coverage","ci-test":"jest --coverage --ci --reporters=default --reporters=jest-junit"},"peerDependencies":{"react":">=16"},"repository":{"type":"git","url":"git+https://github.com/dbudwin/react-secure-link.git"},"author":{"name":"Drew Budwin"},"license":"GPL-3.0-or-later","bugs":{"url":"https://github.com/dbudwin/react-secure-link/issues"},"homepage":"https://github.com/dbudwin/react-secure-link#readme","devDependencies":{"@babel/core":"^7.12.9","@babel/preset-env":"^7.12.7","@babel/preset-react":"^7.12.7","@babel/preset-typescript":"^7.12.7","@testing-library/jest-dom":"^5.11.6","@testing-library/react":"^11.2.2","@types/faker":"^5.1.5","@types/jest":"^26.0.16","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","@typescript-eslint/eslint-plugin":"^4.9.0","@typescript-eslint/parser":"^4.9.0","babel-loader":"^8.2.2","eslint":"^7.15.0","eslint-plugin-jest-dom":"^3.6.3","eslint-plugin-react":"^7.21.5","eslint-plugin-testing-library":"^3.10.1","faker":"^5.1.0","jest":"^26.6.3","jest-junit":"^12.0.0","react":"^17.0.1","react-dom":"^17.0.1","ts-loader":"^8.0.12","ts-node":"^9.1.0","typescript":"^4.1.2","webpack":"^5.10.0","webpack-cli":"^4.2.0"},"gitHead":"51b84188798629bcf81b7c3aa4a38b9c5483f90c","_id":"react-secure-link@3.0.0","_nodeVersion":"15.4.0","_npmVersion":"7.0.15","dist":{"integrity":"sha512-O/DCpGhDLmDRHOq/Ji3CmnvTGRw0BLDftkUrDmUvMZAHAJXtfnCUsom8PVJct+helB6aYlxU31YbGmruNo3DUQ==","shasum":"f2ae0b1a88bfb838458bb03b11d441397eff58da","tarball":"https://registry.npmjs.org/react-secure-link/-/react-secure-link-3.0.0.tgz","fileCount":8,"unpackedSize":49879,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf54dLCRA9TVsSAnZWagAA6IkP/jAtiT6ifrHTYIWRqry8\nRGOmX9aDFErwgtwwrxrDuOkbrdspnH9zdQi4oIFCfbRkt7zlutmu/HEF8VCv\nYp6f0SavBQhAELixK5HgvvIHdZ665QEx9d7zdfsGtOrnwF+KZwv+7BQSHfaL\n9ADSjY1N/dBqHCx3dSnJSeDKrMtoKYHx3J+7VE9CGYi898WBt/6S95sz17x9\noD0PH1UMgtNQGHtKP5WSsnuRxeoECFzuT7wC2+X/BZZzPb5QQbAHF2QH5TQw\nS1FB6L4VEMQHNxyR+zNLhdp27mKd/O/R0BoUPMkfMjNeXBzRw0fqRRqz5Uqf\ny0d4mifpk6XCbyLjLqb2v97yLtyX13ipM7aJBwI1Rn8RjYaqksTBILGVLDEx\nSimUnXZGm+/pvgdTt/xUFQXp6tCzH3u9kkPhO1l8bB+9T/hiOnm4MDaODfAR\nPwI0eatL9GGqPKhb7X+cK3JUrVOoFEyaW3EZUDKsUNyv1A82oZE+A4padypZ\ngFb5hZAT4PtEHsqFdwCrM8Vjv7V3iOu4+VQdpQ1UL8UUtH96nz4c2AFbWXQx\ner3p0i2jSQemRQtl8s5nxjabYTHFQpZWbzZkikNiHLdNrdcRnPjVjkwGjREF\n4dN46cMggnMUiRSi/1hEvek1k0zncWeXQQKRljcwu/S6JpKzHJcJjEPC9r8N\nr0uI\r\n=zeZH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3YmV1diqoBFZJUkVnEtwzaXuQYKSXEwrlisvodjoqqgIgCCg+QZVasnKCXzdtzz6fqBd9HOKQ78pr+dGovndkIDQ="}]},"_npmUser":{"name":"dbudwin","email":"drew@budw.in"},"directories":{},"maintainers":[{"name":"dbudwin","email":"drew@budw.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-secure-link_3.0.0_1609008970423_0.13366737408927376"},"_hasShrinkwrap":false},"3.0.1":{"name":"react-secure-link","version":"3.0.1","description":"A TypeScript compatible React component to avoid security exploits when opening a link in a new tab.","keywords":["react","react-component","link","url","secure","noopener","noreferrer","href","exploit"],"private":false,"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"dev":"webpack --progress --mode development --watch","build":"webpack --mode production","lint":"eslint \"src/**/*.{ts,tsx}\"","test":"jest --coverage","ci-test":"jest --coverage --ci --reporters=default --reporters=jest-junit"},"peerDependencies":{"react":">=16"},"repository":{"type":"git","url":"git+https://github.com/dbudwin/react-secure-link.git"},"author":{"name":"Drew Budwin"},"license":"GPL-3.0-or-later","bugs":{"url":"https://github.com/dbudwin/react-secure-link/issues"},"homepage":"https://github.com/dbudwin/react-secure-link#readme","devDependencies":{"@babel/core":"^7.12.9","@babel/preset-env":"^7.12.7","@babel/preset-react":"^7.12.7","@babel/preset-typescript":"^7.12.7","@testing-library/jest-dom":"^5.11.6","@testing-library/react":"^11.2.2","@types/faker":"^5.1.5","@types/jest":"^26.0.16","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","@typescript-eslint/eslint-plugin":"^4.9.0","@typescript-eslint/parser":"^4.9.0","babel-loader":"^8.2.2","eslint":"^7.15.0","eslint-plugin-jest-dom":"^3.6.3","eslint-plugin-react":"^7.21.5","eslint-plugin-testing-library":"^3.10.1","faker":"^5.1.0","jest":"^26.6.3","jest-junit":"^12.0.0","react":"^17.0.1","react-dom":"^17.0.1","ts-loader":"^8.0.12","ts-node":"^9.1.0","typescript":"^4.1.2","webpack":"^5.10.0","webpack-cli":"^4.2.0"},"gitHead":"dc04a464f2df6b5e2ddfe9210f6845ae929ba630","_id":"react-secure-link@3.0.1","_nodeVersion":"15.4.0","_npmVersion":"7.0.15","dist":{"integrity":"sha512-MFeCgsrgSjPgnV+yFIrC1VK9gFIBbe99p5vDT9UUf17exnsNiqwqim37DQg/7n1+q6PPIB3YW5DwkgNROXFo3g==","shasum":"d1d804b25ab65249acbbfa66eef77506abbebaf7","tarball":"https://registry.npmjs.org/react-secure-link/-/react-secure-link-3.0.1.tgz","fileCount":8,"unpackedSize":50089,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf7NFDCRA9TVsSAnZWagAAZ7EP+wZ7j7Iclm++EeC8R4k4\nJjE7VpB9fBeEv5wa5el8yfkWLW/ocGcCqqMzCGDI7zV0RScDq93jfXqJcmaE\n8xyxgue0+t+mM8+P/5BG6eVC2f5yKdV9j7xx3Ztuu614rGBAbOaL+GdwQCCp\nbAwWnC5qhQn03XHYSYmWYXXRvM4XQqYj2nIfx2+53pls5/jCZ1a4L37D+PC8\nIOF7dwnOw4GmcTrm1KMWK9nRVxgRaRPMCvjP/LlZmifHaLy5Wirbjdpp30jk\nBmBfeiEounLwmVWow0nEdVxsZP3ElmVnc23VZmaXOHIx+X6Nw6xVB/C16y5C\ni5XgcGaXbdxbsnlLh4uyf29mVjHHRyX95moZ3Hs4KN1cqYNDKJDESJIKOqR1\nKzZOtaLR7re5khvAtH52Evf6l4bXT2vU/MIJjKxnmnM6ybaGdDriDSf8Y93c\nhf6OjGqo8fUdNMYogbulcJ731jz2oyaBgjYUPFeUr+TrbWq0Ei8PDI2pwZrM\nchEELVdzj2M7cQ6QWWxMjS3zDv6zPHKyMOMd9D3yKSC6ASAudiL2E7f48LmV\n2FysQj25p+G/wHttSTIk5ohsIEIk1eq07GaGhbttYRpvrR286qWYDkSTovgP\nSJlRYp5Z0hhUFLlLgx+oj0tGmrDWHkYXng0i+Jo88uGHYjLMqoiWtR+l0040\nc/tP\r\n=zobE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEWHr6idIj39n7Bbm8n1w3lCkVChXvxRwmFTafW4pln2AiEAkc2CcF03KntDYscxDvj3HD+DeWS7Or2qQYAnY78WTGM="}]},"_npmUser":{"name":"dbudwin","email":"drew@budw.in"},"directories":{},"maintainers":[{"name":"dbudwin","email":"drew@budw.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-secure-link_3.0.1_1609355586816_0.4463686052092555"},"_hasShrinkwrap":false},"3.0.2":{"name":"react-secure-link","version":"3.0.2","description":"A TypeScript compatible React component to avoid security exploits when opening a link in a new tab.","keywords":["react","react-component","link","url","secure","noopener","noreferrer","href","exploit"],"private":false,"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"dev":"webpack --progress --mode development --watch","build":"webpack --mode production","lint":"eslint \"src/**/*.{ts,tsx}\"","test":"jest --coverage","ci-test":"jest --coverage --ci --reporters=default --reporters=jest-junit"},"peerDependencies":{"react":">=16"},"repository":{"type":"git","url":"git+https://github.com/dbudwin/react-secure-link.git"},"author":{"name":"Drew Budwin"},"license":"MIT","bugs":{"url":"https://github.com/dbudwin/react-secure-link/issues"},"homepage":"https://github.com/dbudwin/react-secure-link#readme","devDependencies":{"@babel/core":"^7.12.9","@babel/preset-env":"^7.12.7","@babel/preset-react":"^7.12.7","@babel/preset-typescript":"^7.12.7","@testing-library/jest-dom":"^5.11.6","@testing-library/react":"^11.2.2","@types/faker":"^5.1.5","@types/jest":"^26.0.16","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","@typescript-eslint/eslint-plugin":"^4.9.0","@typescript-eslint/parser":"^4.9.0","babel-loader":"^8.2.2","eslint":"^7.15.0","eslint-plugin-jest-dom":"^3.6.3","eslint-plugin-react":"^7.21.5","eslint-plugin-testing-library":"^3.10.1","faker":"^5.1.0","jest":"^26.6.3","jest-junit":"^12.0.0","react":"^17.0.1","react-dom":"^17.0.1","ts-loader":"^8.0.12","ts-node":"^9.1.0","typescript":"^4.1.2","webpack":"^5.10.0","webpack-cli":"^4.2.0"},"gitHead":"82e2d61f39c51e57d789ee766eb2ce05c8dbb4cc","_id":"react-secure-link@3.0.2","_nodeVersion":"15.4.0","_npmVersion":"7.0.15","dist":{"integrity":"sha512-e58zvxlFZNIfIIlZl4IpSQSenEsFF0W7pnWcyNAG9uZ+yLqP8IBS2FiJoPKudsAX+IrE0spg0LOJ16kibRk78g==","shasum":"e7d42eb042fc3f28b54b4fd21eae16a701f4ba4a","tarball":"https://registry.npmjs.org/react-secure-link/-/react-secure-link-3.0.2.tgz","fileCount":8,"unpackedSize":15994,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf96fYCRA9TVsSAnZWagAA86QQAIn9Jmpa13KbSGnnK+Mp\nlufCjSBJwujuiI+OAD/oG4yBHZ8G7pwlFuzb9h3xwbVrHAT6DBGqP7fo0EMb\n1z6Dj5ARtlmv0PN5BZfT0jHBw8ZhnycL5aUaGwfnnz0uPW73c7dkGz0T1YVP\n0skHKjqCSy3JvLopX9ub/vLakeiaR1KCPI0zgDnbSJmbupH7kM16zYhrGz4j\nx6Y5/If2Ny4SkdJsWCI05hsn674HzYYq3g/y+lxWnlrgWPnJFB+tSPLq7Dtc\nOhG2NC5pRA1PqxiqsROnHsIzVnhG7jYp9jDVc8eHeOhjiViyLxXgxOAuOMb1\nAkqaKmtudONZXktXqlVbMYiqPUUE0Hw21GfXmcSmeB6HL+7ejIUnaPOhOiSE\niXUWR4T4xNg1LvPgakI/dGvRLSR1Q2rJufPFO62SvIonmD4FH/nEUa3Xtq0M\ntTqOiVXtBqLUhubx6qxT4rgFoChRt+nEAg+wvGxTSMPzL3H6MfOSLZlZcTXp\ngkYQecKoE8Dvie5YZfC1QTpCvrzQaVZuX9qRw3Ddhp8KEjwSWca+dfNYyy+b\nhrTXyas267UzfFCgs/BYlfosCMZdzKDWgdvcQYnJUmdIiZlMZSeXW6H+GWUb\nkqB3OWaQ/xqLxNvjEdZHM1rFIKEoeLQ6bTab+Od3G7dukY7vDVIN4yzxqyJ4\nCLTN\r\n=FXjv\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCLR9kT7kv8H1ypoBnh47nrj0JYxq5oUUPE+Ack5//QzwIgWqXFBpt36yD7lk9Q2ubejanGBD7jLG2rKgbcG2Ntvgo="}]},"_npmUser":{"name":"dbudwin","email":"drew@budw.in"},"directories":{},"maintainers":[{"name":"dbudwin","email":"drew@budw.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-secure-link_3.0.2_1610065879508_0.5000219869817513"},"_hasShrinkwrap":false},"3.0.3":{"name":"react-secure-link","version":"3.0.3","description":"A TypeScript compatible React component to avoid security exploits when opening a link in a new tab.","keywords":["react","react-component","link","url","secure","noopener","noreferrer","href","exploit"],"private":false,"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"dev":"webpack --progress --mode development --watch","build":"webpack --mode production","lint":"eslint \"src/**/*.{ts,tsx}\"","test":"jest --coverage","ci-test":"jest --coverage --ci --reporters=default --reporters=jest-junit"},"peerDependencies":{"react":">=16"},"repository":{"type":"git","url":"git+https://github.com/dbudwin/react-secure-link.git"},"author":{"name":"Drew Budwin"},"license":"MIT","bugs":{"url":"https://github.com/dbudwin/react-secure-link/issues"},"homepage":"https://github.com/dbudwin/react-secure-link#readme","devDependencies":{"@babel/core":"^7.12.9","@babel/preset-env":"^7.12.7","@babel/preset-react":"^7.12.7","@babel/preset-typescript":"^7.12.7","@testing-library/jest-dom":"^5.11.6","@testing-library/react":"^11.2.2","@types/faker":"^5.1.5","@types/jest":"^26.0.16","@types/react":"^17.0.0","@types/react-dom":"^17.0.0","@typescript-eslint/eslint-plugin":"^4.9.0","@typescript-eslint/parser":"^4.9.0","babel-loader":"^8.2.2","eslint":"^7.15.0","eslint-plugin-jest-dom":"^3.6.3","eslint-plugin-react":"^7.21.5","eslint-plugin-testing-library":"^3.10.1","faker":"^5.1.0","jest":"^26.6.3","jest-junit":"^12.0.0","react":"^17.0.1","react-dom":"^17.0.1","ts-loader":"^8.0.12","ts-node":"^9.1.0","typescript":"^4.1.2","webpack":"^5.10.0","webpack-cli":"^4.2.0"},"gitHead":"4f2185e711e509af5398c21ec85ed23ca849f46e","_id":"react-secure-link@3.0.3","_nodeVersion":"15.4.0","_npmVersion":"7.0.15","dist":{"integrity":"sha512-OToDEJjTtXa4MgQUOb3pfUYiDnmAUIUmt7/+T67iCU6GiKSfivMbJEaAIajV3qH69c46RAYoV/Yhc3n5UHwSuA==","shasum":"c586e19a95f3bec587209e03df1a7fffb8690e5f","tarball":"https://registry.npmjs.org/react-secure-link/-/react-secure-link-3.0.3.tgz","fileCount":8,"unpackedSize":16045,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgraPUCRA9TVsSAnZWagAAJDQP/jXUj7dxmuZAlDV1feSN\ngMJVEyTUx77I6g+mak2G+IhATSGGFrYfsVgRTyLRYlRcQuGguJGXpIf+z6Y0\nQPw7rcg1/TTN7ha7ZupeQz6FM5gi7VPlAjyrr9OqeBhyqreJeGT+16A6axWG\nPQ+1uiVnEug8jBnywHJk4LE3e8SkyHiMVszQijmQuKnC8wB5gn5urdH/kcer\ni+U4atRjCELZOa9PxAXIxilNMuFKkxHOsD0jeba6GcCbdLIWgsgH6fxcuHBl\n0FF55RP3S45GwcJ9zMEvEqaDwn2pj1TFR2r0K/eQAJwuDOYIttq2PFZ1Go1A\ndWB6te4fzxQd8ubStqM1xN8Ar75eM60pVdS8kBltdzJBiteVLK83PgbK408M\nJt6zRtITAMZAP8mjqbFyYOy174qbSJ2xlS3JRdpN/8k9nIdM/WX3UN1vqkMD\nfpyWg3qhH/7/2Nvmh9KjSk1yI22xzUoZ2WOLRmhezpcRIP+qtTTC8NG2PXTo\ndYmKIHlTKQ4atHflGdxyiz5lWV2Fu5JHg0H4A+bv+w7HfONmMdg7zX2DyDi9\ndrTiDIXi5oQXlfiiHyZFAJ6Gp08G1fxY1xNpoF9eQt7iIxL2Fkw/7l9HroRO\nB+LJITf8qc0h476Ebb1XJgw1vZBj/AYig0RZwmlxiZ68vkq8h7QHByU9sZ4Y\nCfkm\r\n=v6uB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBEwG6DG3b4FTY2HEgPQibsWCK0//jZMR8iUawNYoFClAiEA1rdCyRfpbUJ++6YS+ZE9PhdlvC13WWBljgR6J0bVLHw="}]},"_npmUser":{"name":"dbudwin","email":"drew@budw.in"},"directories":{},"maintainers":[{"name":"dbudwin","email":"drew@budw.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-secure-link_3.0.3_1621992403721_0.5769468337463386"},"_hasShrinkwrap":false},"3.1.0":{"name":"react-secure-link","version":"3.1.0","description":"A TypeScript compatible React component to avoid security exploits when opening a link in a new tab.","keywords":["react","react-component","link","url","secure","noopener","noreferrer","href","exploit"],"private":false,"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"dev":"webpack --progress --mode development --watch","build":"webpack --mode production","lint":"eslint \"src/**/*.{ts,tsx}\"","test":"jest --coverage","ci-test":"jest --coverage --ci --reporters=default --reporters=jest-junit"},"peerDependencies":{"react":">=16"},"repository":{"type":"git","url":"git+https://github.com/dbudwin/react-secure-link.git"},"author":{"name":"Drew Budwin"},"license":"MIT","bugs":{"url":"https://github.com/dbudwin/react-secure-link/issues"},"homepage":"https://github.com/dbudwin/react-secure-link#readme","devDependencies":{"@babel/core":"^7.18.0","@babel/preset-env":"^7.18.0","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@faker-js/faker":"^7.0.1","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.2.0","@types/faker":"^5.1.5","@types/jest":"^27.5.1","@types/react":"^18.0.9","@types/react-dom":"^18.0.5","@typescript-eslint/eslint-plugin":"^5.26.0","@typescript-eslint/parser":"^5.26.0","babel-loader":"^8.2.5","eslint":"^8.16.0","eslint-plugin-jest-dom":"^4.0.2","eslint-plugin-react":"^7.30.0","eslint-plugin-testing-library":"^5.5.0","jest":"^28.1.0","jest-environment-jsdom":"^28.1.0","jest-junit":"^13.2.0","react":"^18.1.0","react-dom":"^18.1.0","ts-loader":"^9.3.0","ts-node":"^10.8.0","typescript":"^4.7.2","webpack":"^5.72.1","webpack-cli":"^4.9.2"},"gitHead":"957b58f1f84fcea20b32955dc39705d3ec70c4bb","_id":"react-secure-link@3.1.0","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-eyhqizNq0NX87y1JKEJ2fNOsbEjxHs5f7WTC4d8gNoUEFjysTlpuG+oZna/85uSxwh8obxdGe/8oXmf0g5OQ8g==","shasum":"da77dcb68dbf1cc46e93e102b8d151ed29dfb953","tarball":"https://registry.npmjs.org/react-secure-link/-/react-secure-link-3.1.0.tgz","fileCount":8,"unpackedSize":15696,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDFCyLJifPCn13gc6D+go1i+f7yToYjcCiuHdQ037T9HQIgW5ChlcjLjOs5IRhp6oGkCxr4fyyrQKAih8TGsYEnDQU="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJijYa6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrRdA/8C7pUjIaEpI5cNK5XqhghTaPgDJJZsV8ATVUBIpeBHKLOZXJg\r\nGdhvDrR06t2nJZnrPnHx3cJm2okOstZ1V4HhvnBGh9Of9rcna79ateBbS2Y4\r\noE0J9kXiB+2X2jr9K5ba5AVnjsVMK21hF5xOrr2OjcO3NLhNqTyQlcpLa1E4\r\nIjO+iVUy1eT3vzqsR4lV+T9R2UMHagIKXoiMxP0TpauL7p4auVyprtUhK+yQ\r\nj6QguteFphvvx/PY3cvVnK0p8A+FT7x0tiYCF1VzGcj8CT49xPnUIDxy9+X2\r\ncmDQJIZxNwP79loOUqlLSzCddwcao3o8J/1JBAKqAU8WjR4oTW3cM1R+d+72\r\nnKEFzkRVD/z0b5e/FIEUtM2+qO9D1RZTv+FKlTFFqFqNnph6rNmhkrpnmc3v\r\niuuFfjJAzUWMeYquv+FFBULTwGgu/JGRKx+JEuHYQ+DHcOgredkztD0PxrYU\r\ntdvDYYz+xZKbgwzaQT3o2TNEGXW0xw22vTNsKOzVZ4nBfQnP5SKesM0N7KJI\r\nsH3MB4uK6mdxHaD+NcrCvUJjKxfS63Qi9LY3B4bxXfN8S3kdGJv0QDN2d4PP\r\nfeNOgJgGWEzmaudXZnBW61WZQlZxYVAbag4F0OeLPX3tv7YPh0HOsXhCo/te\r\nWm1344zg4Su8pEu0PmnzuJ1N7o4co63Gju0=\r\n=KFQZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dbudwin","email":"drew@budw.in"},"directories":{},"maintainers":[{"name":"dbudwin","email":"drew@budw.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-secure-link_3.1.0_1653442234746_0.7934689262958046"},"_hasShrinkwrap":false},"3.1.1":{"name":"react-secure-link","version":"3.1.1","description":"A TypeScript compatible React component to avoid security exploits when opening a link in a new tab.","keywords":["react","react-component","link","url","secure","noopener","noreferrer","href","exploit"],"private":false,"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"dev":"webpack --progress --mode development --watch","build":"webpack --mode production","lint":"eslint \"src/**/*.{ts,tsx}\"","test":"jest --coverage","ci-test":"jest --coverage --ci --reporters=default --reporters=jest-junit"},"peerDependencies":{"react":">=16"},"repository":{"type":"git","url":"git+https://github.com/dbudwin/react-secure-link.git"},"author":{"name":"Drew Budwin"},"license":"MIT","bugs":{"url":"https://github.com/dbudwin/react-secure-link/issues"},"homepage":"https://github.com/dbudwin/react-secure-link#readme","devDependencies":{"@babel/core":"^7.18.0","@babel/preset-env":"^7.18.0","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@faker-js/faker":"^7.0.1","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.2.0","@types/faker":"^5.1.5","@types/jest":"^27.5.1","@types/react":"^18.0.9","@types/react-dom":"^18.0.5","@typescript-eslint/eslint-plugin":"^5.26.0","@typescript-eslint/parser":"^5.26.0","babel-loader":"^8.2.5","eslint":"^8.16.0","eslint-plugin-jest-dom":"^4.0.2","eslint-plugin-react":"^7.30.0","eslint-plugin-testing-library":"^5.5.0","jest":"^28.1.0","jest-environment-jsdom":"^28.1.0","jest-junit":"^13.2.0","react":"^18.1.0","react-dom":"^18.1.0","ts-loader":"^9.3.0","ts-node":"^10.8.0","typescript":"^4.7.2","webpack":"^5.72.1","webpack-cli":"^4.9.2"},"gitHead":"24908606195d7b868a7d1953e72670ef7468d43b","_id":"react-secure-link@3.1.1","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-gagfFaKz+gmsK9B23VGpZPVejGhy0bBoBen6VFQniiLM+aCzENG1m3jLF7ZF+Z825246bMjpHYbXSxzkfsaWWw==","shasum":"acd445282bcada960fb745f9b2b06c6c5949736a","tarball":"https://registry.npmjs.org/react-secure-link/-/react-secure-link-3.1.1.tgz","fileCount":8,"unpackedSize":15696,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEc0TQ2ASGcLA8zt9/HKeE4K9pofOxvCljg2QJLqvF4oAiEA9ES8fDanTXnC0Qb5jAl9sGGBkVvtQGn4fdq92Yab1is="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJijt9mACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpkmA/6Ap/gtTkiPYGcFmnn5ZN6nsAkS0r+6ChP/bZSYmFN+SVZJWR5\r\n1QQEGQ8luAWVB89D5ZQreTOkmBoqO/jWzt8Bw6jglMtaI5vF10lkV8VHTaKy\r\nTNC+q0v3jGmv9hK0TUVHg4SPXWnBol52VeMKQkXdFE/A+MB1e2bAjRvp2X7i\r\nMGDlUp7EaEdfH4JAYP0OgPHg2smtvHQqH1iETLX3Md3OLEBQ0dGsh+vCmYdv\r\nMRrgZVxefy+Yvb4sAoL0guKkxb2pHWUg9ac8IDZzf6zjyeeR56dwApmSjtSY\r\noRNiYcpu1ZC0flyBf25ZXF+YgL+saRdF0UaSkKhvb88EMWqZllHR152EgNzX\r\ndY6gQxEaUGhzJFqY3Z4W5O8j2+CKiakS550/XamfNlOuZvzzd/PdX8qySyrR\r\nulrf/Rdyvg0SWclGuHsQA9c3obUBwjrsqkZEFid7V0Ev0FddqWoJhkyjTv0H\r\npjBFB1ozfaN06h2De0nlgKGLvpb2G9A4LCYW95+FbYSXWuDCR51G2xR+fJiK\r\nMYw6i97FyBo/Zgxg11IbrewVWpCxcuQKr2GRYvI56/h7/2p+ZYIaP7hyjjPa\r\nj6WhwbTY8HqHh6YtWC11IUpF6CQqCDARjWgIKgJzAvcedQwc9CCWtLaDPJtc\r\nZtBk7UpAoM5AheBd+cNNFPWxpbIX7juPwKo=\r\n=1Ilj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dbudwin","email":"drew@budw.in"},"directories":{},"maintainers":[{"name":"dbudwin","email":"drew@budw.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-secure-link_3.1.1_1653530470169_0.19595990577835232"},"_hasShrinkwrap":false},"3.1.2":{"name":"react-secure-link","version":"3.1.2","description":"A TypeScript compatible React component to avoid security exploits when opening a link in a new tab.","keywords":["react","react-component","link","url","secure","noopener","noreferrer","href","exploit"],"private":false,"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"dev":"webpack --progress --mode development --watch","build":"webpack --mode production","lint":"eslint \"src/**/*.{ts,tsx}\"","test":"jest --coverage","ci-test":"jest --coverage --ci --reporters=default --reporters=jest-junit"},"peerDependencies":{"react":">=16"},"repository":{"type":"git","url":"git+https://github.com/dbudwin/react-secure-link.git"},"author":{"name":"Drew Budwin"},"license":"MIT","bugs":{"url":"https://github.com/dbudwin/react-secure-link/issues"},"homepage":"https://github.com/dbudwin/react-secure-link#readme","devDependencies":{"@babel/core":"^7.18.0","@babel/preset-env":"^7.18.0","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@faker-js/faker":"^7.0.1","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.2.0","@types/faker":"^5.1.5","@types/jest":"^27.5.1","@types/react":"^18.0.9","@types/react-dom":"^18.0.5","@typescript-eslint/eslint-plugin":"^5.26.0","@typescript-eslint/parser":"^5.26.0","babel-loader":"^8.2.5","eslint":"^8.16.0","eslint-plugin-jest-dom":"^4.0.2","eslint-plugin-react":"^7.30.0","eslint-plugin-testing-library":"^5.5.0","jest":"^28.1.0","jest-environment-jsdom":"^28.1.0","jest-junit":"^13.2.0","react":"^18.1.0","react-dom":"^18.1.0","ts-loader":"^9.3.0","ts-node":"^10.8.0","typescript":"^4.7.2","webpack":"^5.72.1","webpack-cli":"^4.9.2"},"gitHead":"74cb002b2a16dfe08c1da671c1b46889fff5a68a","_id":"react-secure-link@3.1.2","_nodeVersion":"16.15.0","_npmVersion":"8.5.5","dist":{"integrity":"sha512-ykYOw/YVm6Q1g8RMzmDx1Sdqv0z5de0Sda/yAHs7TN22hj8E2fQrW5uhe0kmS+DkuZCoCCXBNcrC1yQ/OEqtjQ==","shasum":"c73bf821a5d01ac0e6fe717748c4998498e8ccee","tarball":"https://registry.npmjs.org/react-secure-link/-/react-secure-link-3.1.2.tgz","fileCount":8,"unpackedSize":15696,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEs7LMJwBVpr32PXzgZBCZgDLK22oAVvBN5iIzR4NL9YAiEAsr9+4CTAewOijK+07QXv7WYlogTl1A3X1mLmxeuBLrg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjdr7zACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqR1A//Us2Kp8eFg3kDGFbjkc9Jv1Iohy4ppxrgHfXd7zJpgz8+cTda\r\nF2JwNHk/SfXMSDVeb5SBhm3KVYdyfObMSGBZLh5T25XxJ1Ei2/FJDs+MDvIv\r\ncTXjPZP/beT87wytvEqgsBS2ae4cl7xDnH2UjbLdLdffOxJ2QK7oSpwQFBAj\r\nUgfU7FD3v6bDJSJK4bjDt67tAhDpsIbPQXHq58bgpvSy4FU4zmLCVifyYaDR\r\n8HQQ7FeYwtktpG0uSUYXGmKhIOAG7GEW2pLEvF4WJLhTLKNUK5LQGBJulRlx\r\nKa3+oSSXKKhxJE602K+Rsm2CIYj5FMdkEUSY0Z2nl+aBfzR3UDZWXaP02pe/\r\nuWXQJzTUOXlDJK+AxBX6AOGpIjXD4wHzhb3L+TB9vCGlQiIKUYkQfwMyN7Ms\r\nswpx5Nne5mVJ4Mn8GiuKr/QK4W6+WIy6s9AFrnOK2ddck98lNf6ME8Tx9Nhi\r\nG7utImDt72GJkBsa4PbaGlqcdqVPGGfOMD8J0LTujNefg08QerOqRTUkIKwC\r\n1Ph8sqZGEv3jvXQN+BgAt9WmR30Kbptmc4cx4uKpH/jvekZ9vYaGd7uleH6+\r\nCFEVN09XA4QkLzZU4ShxvCr7W9RX0mcYgZiiqxPLutjLkVmwGyOW9wiO57zy\r\nszW1idOSWogX0uZL31+PcJLiQkzoHucSQ/A=\r\n=E6oj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"dbudwin","email":"drew@budw.in"},"directories":{},"maintainers":[{"name":"dbudwin","email":"drew@budw.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-secure-link_3.1.2_1668726515141_0.1346851378447531"},"_hasShrinkwrap":false},"3.2.0":{"name":"react-secure-link","version":"3.2.0","description":"A TypeScript compatible, zero dependency React component to avoid security exploits when opening a link in a new tab.","keywords":["react","react-component","link","url","secure","noopener","noreferrer","href","exploit"],"private":false,"main":"dist/index.js","types":"dist/index.d.ts","scripts":{"dev":"webpack --progress --mode development --watch","build":"webpack --mode production","lint":"eslint \"src/**/*.{ts,tsx}\"","test":"jest --coverage","ci-test":"jest --coverage --ci --reporters=default --reporters=jest-junit"},"peerDependencies":{"react":">=16"},"repository":{"type":"git","url":"git+https://github.com/dbudwin/react-secure-link.git"},"author":{"name":"Drew Budwin"},"license":"MIT","bugs":{"url":"https://github.com/dbudwin/react-secure-link/issues"},"homepage":"https://github.com/dbudwin/react-secure-link#readme","devDependencies":{"@babel/core":"^7.18.0","@babel/preset-env":"^7.18.0","@babel/preset-react":"^7.17.12","@babel/preset-typescript":"^7.17.12","@faker-js/faker":"^8.2.0","@testing-library/jest-dom":"^6.1.4","@testing-library/react":"^14.0.0","@types/faker":"^6.6.9","@types/jest":"^29.5.7","@types/react":"^18.0.9","@types/react-dom":"^18.0.5","@typescript-eslint/eslint-plugin":"^6.9.1","@typescript-eslint/parser":"^6.9.1","babel-loader":"^9.1.3","eslint":"^8.16.0","eslint-plugin-jest-dom":"^5.1.0","eslint-plugin-react":"^7.30.0","eslint-plugin-testing-library":"^6.1.0","jest":"^29.7.0","jest-environment-jsdom":"^29.7.0","jest-junit":"^16.0.0","react":"^18.1.0","react-dom":"^18.1.0","ts-loader":"^9.3.0","ts-node":"^10.8.0","typescript":"^5.2.2","webpack":"^5.72.1","webpack-cli":"^5.1.4"},"gitHead":"c614fbb3fac70175a8212d9eac8b41878ccbf0bd","_id":"react-secure-link@3.2.0","_nodeVersion":"16.14.0","_npmVersion":"8.3.1","dist":{"integrity":"sha512-ypJT9C7CyOR2noDCSCGjzzVgF4CRLqxzP5oWj+/Qy6QOETCgKTIIh/jmEYlVg+8XtuxM2tBbw6EeQz98TRbCOQ==","shasum":"149816f259f61766e9bdd549d8ddd4e0d97b97ec","tarball":"https://registry.npmjs.org/react-secure-link/-/react-secure-link-3.2.0.tgz","fileCount":8,"unpackedSize":15719,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDa0l2f9jtvRHoqWCpbKnzP69lA66QX9CVkQaOTpkj9ZAiEAl1Xfcl/WN7LnuDJUB3YzHRVg65R/KFKC43PSA7z57bg="}]},"_npmUser":{"name":"dbudwin","email":"drew@budw.in"},"directories":{},"maintainers":[{"name":"dbudwin","email":"drew@budw.in"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-secure-link_3.2.0_1698847249797_0.1911845684629876"},"_hasShrinkwrap":false}},"maintainers":[{"name":"dbudwin","email":"drew@budw.in"}],"description":"A TypeScript compatible, zero dependency React component to avoid security exploits when opening a link in a new tab.","homepage":"https://github.com/dbudwin/react-secure-link#readme","keywords":["react","react-component","link","url","secure","noopener","noreferrer","href","exploit"],"repository":{"type":"git","url":"git+https://github.com/dbudwin/react-secure-link.git"},"author":{"name":"Drew Budwin"},"bugs":{"url":"https://github.com/dbudwin/react-secure-link/issues"},"license":"MIT","readme":"# react-secure-link 🔗\n\n![Test](https://github.com/dbudwin/react-secure-link/workflows/Test/badge.svg?branch=main)\n[![Coverage Status](https://coveralls.io/repos/github/dbudwin/react-secure-link/badge.svg?branch=main)](https://coveralls.io/github/dbudwin/react-secure-link?branch=main)\n![npm](https://img.shields.io/npm/dw/react-secure-link)\n![GitHub](https://img.shields.io/github/license/dbudwin/react-secure-link)\n![npm bundle size](https://img.shields.io/bundlephobia/min/react-secure-link)\n![npm](https://img.shields.io/npm/v/react-secure-link)\n\nA TypeScript compatible React component to avoid security exploits when opening a link in a new tab.  `react-secure-link` is **lightweight** and has **zero dependencies**!\n\n## The Exploit 💥\n\nIt's possible when opening a link to a webpage in a new tab that the webpage in the new tab can hijack the webpage in the original tab via the `window.opener` property.  This is an easy, low-level exploit.  Here is how it can occur:\n\nA hacker knows they can leave links in comments on your webpage and that they will open in a new tab.  When a user to your website clicks that link, it will show them a seemingly harmless webpage.  This newly opened tab has access to the `window.opener` property which the hacker can exploit.  This webpage will use the `window.opener` property to run a little JavaScript like: `window.opener.location = \"https://www.some-malicious-website.com/login.html\"`.  This changes what webpage is opened in the original tab where the user clicked the link.  This is problematic if the hacker redirects the original tab to a webpage that _looks_ like the original.  The hacker could show a message like, \"You have been automatically logged out, log back in to continue.\"  Since the webpage _looks_ the same and the user knows they were just on the same webpage in that same tab, they'll trust the login form, but now their account has been compromised and they don't know it.  The hacker could then redirect back to the original webpage after the login form is submitted to further cover their tracks.\n\n## What is the `window.opener` Property?\n\nFrom [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Window/opener):\n\n> The Window interface's opener property returns a reference to the window that opened the window, either with open(), or by navigating a link with a target attribute.\n\n## How Does `react-secure-link` Prevent this Exploit?\n\nUsing `react-secure-link` for outbound links prevents the new tab from having access to the `window.opener` property altogether.\n\n## Usage\n\n1. Add `react-secure-link` to your project via `npm install react-secure-link`\n2. Import the package: `import { SecureLink } from \"react-secure-link\";`\n3. Use the following for links you want to open in a new tab: `<SecureLink href=\"https://www.npmjs.com/package/react-secure-link\">react-secure-link on NPM</SecureLink>`\n\n## CodeSandbox Examples\n\nThere are several examples of the various ways to use this package on CodeSandbox.\n\n[react-secure-link CodeSandbox Examples](https://codesandbox.io/s/react-seucre-link-examples-wzcwf)\n\n### API\n\n`SecureLink` can be used to make text, images, or other children components clickable.  In addition, standard `a` element attributes can be pass in as props (i.e. `href`, `className`, `id`, `role`, `style`).\n\n### Basic Usage Example\n\n```tsx\n<SecureLink href=\"https://www.npmjs.com/package/react-secure-link\" />\n```\n\n### Advance Usage Example\n\n```tsx\n<SecureLink\n    href=\"https://www.npmjs.com/package/react-secure-link\"\n    className=\"no-link-decoration\"\n    style={{ color: \"red\" }}\n    key={123}\n    onClick={() => console.log(\"Clicked\")}\n>\n    react-secure-link on NPM\n</SecureLink>\n```\n","readmeFilename":"README.md"}