{"_id":"@paralleldrive/react-feature-toggles","_rev":"29-f812cb264ca46376d63eb82fc8ea85b5","name":"@paralleldrive/react-feature-toggles","dist-tags":{"beta":"2.0.0-beta1","latest":"2.3.1"},"versions":{"1.0.0":{"name":"@paralleldrive/react-feature-toggles","version":"1.0.0","keywords":["react","feature","toggle","toggles"],"author":{"name":"Parallel Drive, Inc"},"license":"MIT","_id":"@paralleldrive/react-feature-toggles@1.0.0","maintainers":[{"name":"ericelliott","email":"nospam@paralleldrive.com"}],"homepage":"https://github.com/paralleldrive/react-feature-toggles#readme","bugs":{"url":"https://github.com/paralleldrive/react-feature-toggles/issues"},"dist":{"shasum":"6d77d99f6b615c71c706adacd8508ed67d6f5acd","tarball":"https://registry.npmjs.org/@paralleldrive/react-feature-toggles/-/react-feature-toggles-1.0.0.tgz","integrity":"sha512-iOTJQrnwE1kIct4wDtod8wV/Hew1NLoIRUjnllsBxeoRmnM7gTqYFg5lihYBEshR4PLkel5jNcubSYMq263xFw==","signatures":[{"sig":"MEYCIQCPZhw6FqDuVyG84E1fIV9v/qGAJd7um9RxIj+SNikeQAIhAKHO09jJjrcQE8oCfwtPjkFa963dGkn1CFHvzemzzsF0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/index.js","engines":{"node":">=8.3"},"gitHead":"94a0466cdcae471b5d865338493f47144f4ff26e","scripts":{"lint":"eslint src && echo '-- linting finished --'","test":"tape -r babel-register src/test","build":"babel src -d dist","watch":"watch 'reset && npm run --silent test' src","precommit-msg":"echo 'Pre-commit checks...' && exit 0","test:integration":"tape -r babel-register src/test/integration"},"_npmUser":{"name":"ericelliott","email":"nospam@paralleldrive.com"},"pre-commit":["lint","test","test:integration"],"repository":{"url":"git+https://github.com/paralleldrive/react-feature-toggles.git","type":"git"},"_npmVersion":"5.3.0","description":"React Feature Toggles","directories":{},"_nodeVersion":"8.3.0","devDependencies":{"tape":"4.6.3","react":"15.6.1","watch":"1.0.2","eslint":"4.4.1","cheerio":"0.22.0","babel-cli":"6.24.1","react-dom":"15.6.1","pre-commit":"1.2.2","prop-types":"15.5.10","deep-freeze":"0.0.1","babel-eslint":"7.2.3","babel-register":"6.24.1","babel-preset-env":"1.6.0","babel-preset-react":"6.24.1","eslint-plugin-react":"7.2.1","babel-preset-stage-2":"6.24.1"},"peerDependencies":{"react":"^15.6.1","react-dom":"^15.6.1","prop-types":"^15.5.10"},"_npmOperationalInternal":{"tmp":"tmp/react-feature-toggles-1.0.0.tgz_1503887428423_0.8239405895583332","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@paralleldrive/react-feature-toggles","version":"1.0.1","keywords":["react","feature","toggle","toggles"],"author":{"name":"Parallel Drive, Inc"},"license":"MIT","_id":"@paralleldrive/react-feature-toggles@1.0.1","maintainers":[{"name":"ericelliott","email":"nospam@paralleldrive.com"}],"homepage":"https://github.com/paralleldrive/react-feature-toggles#readme","bugs":{"url":"https://github.com/paralleldrive/react-feature-toggles/issues"},"dist":{"shasum":"cb5acce77e991bd9231b3f9dd869eff7db61204f","tarball":"https://registry.npmjs.org/@paralleldrive/react-feature-toggles/-/react-feature-toggles-1.0.1.tgz","integrity":"sha512-U5YDdDm0xVFmVjH33qI1fdYdBezZ2EE0PgwjsFH4Nw/YsZz3O5rdtrdQrKNJII4v4A5/5dEc+5EdZZjJxl08fQ==","signatures":[{"sig":"MEUCIQDGlYcKkDV4ovEeJkl2sNAXcxuiIetF7G3lXc7oFQjV0AIgDg+SLTTyx9Or2pk5dS2h4qQGXkR+EMG08rYIj/OMAEU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"src/index.js","engines":{"node":">=8.3"},"gitHead":"86e4789bf7911d4c0fedaca0d6f14fe677f06e17","scripts":{"lint":"eslint src && echo '-- linting finished --'","test":"tape -r babel-register src/test","build":"babel src -d dist","watch":"watch 'reset && npm run --silent test' src","precommit-msg":"echo 'Pre-commit checks...' && exit 0","test:integration":"tape -r babel-register src/test/integration"},"_npmUser":{"name":"ericelliott","email":"nospam@paralleldrive.com"},"pre-commit":["lint","test","test:integration"],"repository":{"url":"git+https://github.com/paralleldrive/react-feature-toggles.git","type":"git"},"_npmVersion":"5.3.0","description":"React Feature Toggles","directories":{},"_nodeVersion":"8.3.0","devDependencies":{"tape":"4.6.3","ramda":"0.24.1","react":"15.6.1","watch":"1.0.2","eslint":"4.4.1","cheerio":"0.22.0","babel-cli":"6.24.1","react-dom":"15.6.1","pre-commit":"1.2.2","prop-types":"15.5.10","deep-freeze":"0.0.1","babel-eslint":"7.2.3","babel-register":"6.24.1","babel-preset-env":"1.6.0","babel-preset-react":"6.24.1","eslint-plugin-react":"7.2.1","babel-preset-stage-2":"6.24.1"},"peerDependencies":{"ramda":"^0.24.1","react":"^15.6.1","react-dom":"^15.6.1","prop-types":"^15.5.10"},"_npmOperationalInternal":{"tmp":"tmp/react-feature-toggles-1.0.1.tgz_1504212887867_0.856855787569657","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@paralleldrive/react-feature-toggles","version":"1.0.2","keywords":["react","feature","toggle","toggles"],"author":{"name":"Parallel Drive, Inc"},"license":"MIT","_id":"@paralleldrive/react-feature-toggles@1.0.2","maintainers":[{"name":"ericelliott","email":"nospam@paralleldrive.com"}],"homepage":"https://github.com/paralleldrive/react-feature-toggles#readme","bugs":{"url":"https://github.com/paralleldrive/react-feature-toggles/issues"},"dist":{"shasum":"2f43eddd4f9e192be71e5332f857a9dbb3f84d1d","tarball":"https://registry.npmjs.org/@paralleldrive/react-feature-toggles/-/react-feature-toggles-1.0.2.tgz","integrity":"sha512-iAIJUCr/NimS3tToII8gtsudSRk0Mecnug7dHE2mhtBgvKpDzVO0p/7/NUMXACbj6PEZ4EjtwMhmRbCWT6yEUg==","signatures":[{"sig":"MEYCIQDQ0NYYS3yWS7zguH2uroaxd4KysXvXP8Q7mF/CYtM3wAIhAMS4ASvqSp77aA1T4iS+vntQ6uz/u4PuMIqoUJN2yv+i","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"src/index.js","engines":{"node":">=8.3"},"gitHead":"5bc4f1e0ab622fa578a875e90136076ee50f59ba","scripts":{"lint":"eslint src && echo '-- linting finished --'","test":"tape -r babel-register src/test","build":"babel src -d dist","watch":"watch 'reset && npm run --silent test' src","precommit-msg":"echo 'Pre-commit checks...' && exit 0","test:integration":"tape -r babel-register src/test/integration"},"_npmUser":{"name":"ericelliott","email":"nospam@paralleldrive.com"},"pre-commit":["lint","test","test:integration"],"repository":{"url":"git+https://github.com/paralleldrive/react-feature-toggles.git","type":"git"},"_npmVersion":"5.3.0","description":"React Feature Toggles","directories":{},"_nodeVersion":"8.3.0","devDependencies":{"tape":"4.6.3","ramda":"0.24.1","react":"15.6.1","watch":"1.0.2","eslint":"4.4.1","cheerio":"0.22.0","babel-cli":"6.24.1","react-dom":"15.6.1","pre-commit":"1.2.2","prop-types":"15.5.10","deep-freeze":"0.0.1","babel-eslint":"7.2.3","babel-register":"6.24.1","babel-preset-env":"1.6.0","babel-preset-react":"6.24.1","eslint-plugin-react":"7.2.1","babel-preset-stage-2":"6.24.1"},"peerDependencies":{"ramda":"^0.24.1","react":"^15.6.1","react-dom":"^15.6.1","prop-types":"^15.5.10"},"_npmOperationalInternal":{"tmp":"tmp/react-feature-toggles-1.0.2.tgz_1504222255148_0.37888991506770253","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@paralleldrive/react-feature-toggles","version":"1.0.3","keywords":["react","feature","toggle","toggles"],"author":{"name":"Parallel Drive, Inc"},"license":"MIT","_id":"@paralleldrive/react-feature-toggles@1.0.3","maintainers":[{"name":"ericelliott","email":"nospam@paralleldrive.com"}],"homepage":"https://github.com/paralleldrive/react-feature-toggles#readme","bugs":{"url":"https://github.com/paralleldrive/react-feature-toggles/issues"},"dist":{"shasum":"a8e6070fa2b33b82677972e2c18d57d52230a2f0","tarball":"https://registry.npmjs.org/@paralleldrive/react-feature-toggles/-/react-feature-toggles-1.0.3.tgz","integrity":"sha512-Gv0Cgv2Xt1e3VPuVKPFLTFpreUZPFwg0TYScMEhMmMqERzpk7IKwHcqegKLL9j95RMUsXV7trEQpA3SbXrNtLw==","signatures":[{"sig":"MEUCIH93QCJoLctTYUQUfPxCToqP0bdzou+DgzXaomjEI4HDAiEAykyIJVU2NPAt7YoZaWrOSIgCEqZP5Nsf4AiJaRqa0Eg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"src/index.js","engines":{"node":">=8.3"},"gitHead":"74c543371c79c0530e4639e763ecbaf72d63c8b4","scripts":{"lint":"eslint src && echo '-- linting finished --'","test":"tape -r babel-register src/test","build":"babel src -d dist","watch":"watch 'reset && npm run --silent test' src","precommit-msg":"echo 'Pre-commit checks...' && exit 0","test:integration":"tape -r babel-register src/test/integration"},"_npmUser":{"name":"ericelliott","email":"nospam@paralleldrive.com"},"pre-commit":["lint","test","test:integration"],"repository":{"url":"git+https://github.com/paralleldrive/react-feature-toggles.git","type":"git"},"_npmVersion":"5.3.0","description":"React Feature Toggles","directories":{},"_nodeVersion":"8.3.0","devDependencies":{"tape":"4.6.3","ramda":"0.24.1","react":"15.6.1","watch":"1.0.2","eslint":"4.4.1","cheerio":"0.22.0","babel-cli":"6.24.1","react-dom":"15.6.1","pre-commit":"1.2.2","prop-types":"15.5.10","deep-freeze":"0.0.1","babel-eslint":"7.2.3","babel-register":"6.24.1","babel-preset-env":"1.6.0","babel-preset-react":"6.24.1","eslint-plugin-react":"7.2.1","babel-preset-stage-2":"6.24.1"},"peerDependencies":{"ramda":"^0.24.1","react":"^15.6.1","react-dom":"^15.6.1","prop-types":"^15.5.10"},"_npmOperationalInternal":{"tmp":"tmp/react-feature-toggles-1.0.3.tgz_1504238815973_0.5197266614995897","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@paralleldrive/react-feature-toggles","version":"1.0.4","keywords":["react","feature","toggle","toggles"],"author":{"name":"Parallel Drive, Inc"},"license":"MIT","_id":"@paralleldrive/react-feature-toggles@1.0.4","maintainers":[{"name":"ericelliott","email":"nospam@paralleldrive.com"}],"homepage":"https://github.com/paralleldrive/react-feature-toggles#readme","bugs":{"url":"https://github.com/paralleldrive/react-feature-toggles/issues"},"dist":{"shasum":"eada7bcbe2bb5215119ae9212a0d25abefa71770","tarball":"https://registry.npmjs.org/@paralleldrive/react-feature-toggles/-/react-feature-toggles-1.0.4.tgz","integrity":"sha512-xC5B1qlw2T0J3WOgpQplmq3KhgpaOcnr64u+RAJ+cNSYuZJiTDk0a0CmOItVs4BCLxg+l5AQb0aivhBrL2ZVCg==","signatures":[{"sig":"MEUCIGXJunUCvFA9OIxzEIKPAchFoQpRa7PrJN0IwLDv4jfnAiEAmzqmsAhsRv1G4wMKEAPf4GH4NjBTe0rnXriXCsimLbI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/index.js","engines":{"node":">=8.3"},"gitHead":"ac2e7e6825bc950aec6c1841b8d50fe844271e2b","scripts":{"lint":"eslint src && echo '-- linting finished --'","test":"tape -r babel-register src/test","build":"babel src -d dist","watch":"watch 'reset && npm run --silent test' src","prepare":"npm run build","precommit-msg":"echo 'Pre-commit checks...' && exit 0","test:integration":"tape -r babel-register src/test/integration"},"_npmUser":{"name":"ericelliott","email":"nospam@paralleldrive.com"},"pre-commit":["lint","test","test:integration"],"repository":{"url":"git+https://github.com/paralleldrive/react-feature-toggles.git","type":"git"},"_npmVersion":"5.3.0","description":"React Feature Toggles","directories":{},"_nodeVersion":"8.3.0","devDependencies":{"tape":"4.6.3","ramda":"0.24.1","react":"15.6.1","watch":"1.0.2","eslint":"4.4.1","cheerio":"0.22.0","babel-cli":"6.24.1","react-dom":"15.6.1","pre-commit":"1.2.2","prop-types":"15.5.10","deep-freeze":"0.0.1","babel-eslint":"7.2.3","babel-register":"6.24.1","babel-preset-env":"1.6.0","babel-preset-react":"6.24.1","eslint-plugin-react":"7.2.1","babel-preset-stage-2":"6.24.1"},"peerDependencies":{"ramda":"^0.24.1","react":"^15.6.1","react-dom":"^15.6.1","prop-types":"^15.5.10"},"_npmOperationalInternal":{"tmp":"tmp/react-feature-toggles-1.0.4.tgz_1504563397468_0.4258324548136443","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@paralleldrive/react-feature-toggles","version":"1.1.0","keywords":["react","feature","toggle","toggles"],"author":{"name":"Parallel Drive, Inc"},"license":"MIT","_id":"@paralleldrive/react-feature-toggles@1.1.0","maintainers":[{"name":"ericelliott","email":"nospam@paralleldrive.com"}],"homepage":"https://github.com/paralleldrive/react-feature-toggles#readme","bugs":{"url":"https://github.com/paralleldrive/react-feature-toggles/issues"},"dist":{"shasum":"2812d355d00ac0c8dadeb58e20bd87893848568d","tarball":"https://registry.npmjs.org/@paralleldrive/react-feature-toggles/-/react-feature-toggles-1.1.0.tgz","integrity":"sha512-FHYMle/BJqp+x+DNbSVsH3ylI+8aE4dX53wKnlcw/IOUnkWn22yPOO9QjilhtXkc+Y7T/Y9Ls5C4DN22cAPTbw==","signatures":[{"sig":"MEQCICZdX7AzL6VVuYE5BWYE0zuN0bBL3X6Oz4VPSeg+oqPsAiAlkONARpiDVlRvPBmkKUPN6wkl39Wgsaagr4YT6/XsUA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/index.js","engines":{"node":">=8.3"},"gitHead":"5b3c0d9fc6ab09c394424d35ddf60b97d47495a3","scripts":{"lint":"eslint src && echo '-- linting finished --'","test":"tape -r babel-register -r babel-polyfill src/test","build":"babel src -d dist","watch":"watch 'reset && npm run --silent test' src","prepare":"npm run build","precommit-msg":"echo 'Pre-commit checks...' && exit 0","test:integration":"tape -r babel-register src/test/integration"},"_npmUser":{"name":"ericelliott","email":"nospam@paralleldrive.com"},"pre-commit":["lint","test","test:integration"],"repository":{"url":"git+https://github.com/paralleldrive/react-feature-toggles.git","type":"git"},"_npmVersion":"5.5.1","description":"React Feature Toggles","directories":{},"_nodeVersion":"8.3.0","devDependencies":{"tape":"4.6.3","ramda":"0.24.1","react":"15.6.1","watch":"1.0.2","eslint":"4.4.1","cheerio":"0.22.0","riteway":"2.0.3","babel-cli":"6.24.1","react-dom":"15.6.1","pre-commit":"1.2.2","prop-types":"15.5.10","deep-freeze":"0.0.1","babel-eslint":"7.2.3","babel-polyfill":"6.26.0","babel-register":"6.24.1","babel-preset-env":"1.6.0","babel-preset-react":"6.24.1","eslint-plugin-react":"7.2.1","babel-preset-stage-2":"6.24.1"},"peerDependencies":{"ramda":"^0.24.1","react":"^15.6.1","react-dom":"^15.6.1","prop-types":"^15.5.10"},"_npmOperationalInternal":{"tmp":"tmp/react-feature-toggles-1.1.0.tgz_1511240954165_0.05362877110019326","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@paralleldrive/react-feature-toggles","version":"1.2.0","keywords":["react","feature","toggle","toggles"],"author":{"name":"Parallel Drive, Inc"},"license":"MIT","_id":"@paralleldrive/react-feature-toggles@1.2.0","maintainers":[{"name":"ericelliott","email":"nospam@paralleldrive.com"}],"homepage":"https://github.com/paralleldrive/react-feature-toggles#readme","bugs":{"url":"https://github.com/paralleldrive/react-feature-toggles/issues"},"dist":{"shasum":"f141da886170fe3f6b749f117ce5c6454126829a","tarball":"https://registry.npmjs.org/@paralleldrive/react-feature-toggles/-/react-feature-toggles-1.2.0.tgz","integrity":"sha512-LsEVqEDQl7+iwW0mcIKNRkUqgZs4VHbK4nqVMRPqurDVI7JoJPtHO8g55XHM7IAeYqWONgc2bn66rq+7dV5+2g==","signatures":[{"sig":"MEUCIDTZx574slES1lsUYwfg1N1RnhJPjpnFDHQ96X3TBEU4AiEA4qvfy/E+Xh+IqwswbgjNP4FDRBfAcyKxTr2SmRWYgq0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/index.js","engines":{"node":">=8.3"},"gitHead":"fc998e4df2fe592b7abb71def9fa6d9aa2df3d92","scripts":{"lint":"eslint src && echo '-- linting finished --'","test":"tape -r babel-register -r babel-polyfill src/test","build":"babel src -d dist","watch":"watch 'reset && npm run --silent test' src","prepare":"npm run build","precommit-msg":"echo 'Pre-commit checks...' && exit 0","test:integration":"tape -r babel-register -r babel-polyfill src/test/integration"},"_npmUser":{"name":"ericelliott","email":"nospam@paralleldrive.com"},"pre-commit":["lint","test","test:integration"],"repository":{"url":"git+https://github.com/paralleldrive/react-feature-toggles.git","type":"git"},"_npmVersion":"5.5.1","description":"React Feature Toggles","directories":{},"_nodeVersion":"8.3.0","devDependencies":{"tape":"4.8.0","ramda":"0.24.1","react":"15.6.1","watch":"1.0.2","eslint":"4.4.1","cheerio":"0.22.0","express":"4.16.2","riteway":"2.0.3","babel-cli":"6.24.1","react-dom":"15.6.1","supertest":"3.0.0","pre-commit":"1.2.2","prop-types":"15.5.10","deep-freeze":"0.0.1","babel-eslint":"7.2.3","babel-polyfill":"6.26.0","babel-register":"6.24.1","babel-preset-env":"1.6.0","babel-preset-react":"6.24.1","eslint-plugin-react":"7.2.1","babel-preset-stage-2":"6.24.1"},"peerDependencies":{"ramda":"^0.24.1","react":"^15.6.1","react-dom":"^15.6.1","prop-types":"^15.5.10"},"_npmOperationalInternal":{"tmp":"tmp/react-feature-toggles-1.2.0.tgz_1512449991574_0.24913235520944","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"@paralleldrive/react-feature-toggles","version":"1.3.0","keywords":["react","feature","toggle","toggles"],"author":{"name":"Parallel Drive, Inc"},"license":"MIT","_id":"@paralleldrive/react-feature-toggles@1.3.0","maintainers":[{"name":"ericelliott","email":"nospam@paralleldrive.com"}],"homepage":"https://github.com/paralleldrive/react-feature-toggles#readme","bugs":{"url":"https://github.com/paralleldrive/react-feature-toggles/issues"},"dist":{"shasum":"62fb9f6d071cb569acd949082201a8cd8313c70a","tarball":"https://registry.npmjs.org/@paralleldrive/react-feature-toggles/-/react-feature-toggles-1.3.0.tgz","integrity":"sha512-Nn6T/8/kif5MnX1LK/RGsDjHaPJKl8TvkTSrBN3jKu6DQEpWeYCWtZMxlNYHC4UokOKxtifN6XgNWKS+D7qM+g==","signatures":[{"sig":"MEUCIQDEW/WIkiOdiQwsObSHdSCT+Qy40ALVilDAhWqz/XgYWQIgHS/6a1CD6y5TMv0oVs6xJ4+72rqTN7I7KFRb07NOINI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/index.js","engines":{"node":">=8.3"},"gitHead":"39a582987d4d8b8e70cb44ef6d5c8ff3479ad44e","scripts":{"lint":"eslint src && echo '-- linting finished --'","test":"tape -r babel-register -r babel-polyfill src/test","build":"babel src -d dist","watch":"watch 'reset && npm run --silent test' src","prepare":"npm run build","precommit-msg":"echo 'Pre-commit checks...' && exit 0","test:integration":"tape -r babel-register -r babel-polyfill src/integration"},"_npmUser":{"name":"ericelliott","email":"nospam@paralleldrive.com"},"pre-commit":["lint","test","test:integration"],"repository":{"url":"git+https://github.com/paralleldrive/react-feature-toggles.git","type":"git"},"_npmVersion":"5.6.0","description":"React Feature Toggles","directories":{},"_nodeVersion":"8.3.0","devDependencies":{"tape":"4.8.0","ramda":"0.24.1","react":"15.6.1","watch":"1.0.2","eslint":"4.4.1","cheerio":"0.22.0","express":"4.16.2","riteway":"2.0.3","babel-cli":"6.24.1","react-dom":"15.6.1","supertest":"3.0.0","pre-commit":"1.2.2","prop-types":"15.5.10","deep-freeze":"0.0.1","babel-eslint":"7.2.3","babel-polyfill":"6.26.0","babel-register":"6.24.1","babel-preset-env":"1.6.0","babel-preset-react":"6.24.1","eslint-plugin-react":"7.2.1","babel-preset-stage-2":"6.24.1"},"peerDependencies":{"ramda":"^0.24.1","react":"^15.6.1","react-dom":"^15.6.1","prop-types":"^15.5.10"},"_npmOperationalInternal":{"tmp":"tmp/react-feature-toggles-1.3.0.tgz_1514951235839_0.3330631675198674","host":"s3://npm-registry-packages"}},"1.3.1":{"name":"@paralleldrive/react-feature-toggles","version":"1.3.1","keywords":["react","feature","toggle","toggles"],"author":{"name":"Parallel Drive, Inc"},"license":"MIT","_id":"@paralleldrive/react-feature-toggles@1.3.1","maintainers":[{"name":"ericelliott","email":"nospam@paralleldrive.com"}],"homepage":"https://github.com/paralleldrive/react-feature-toggles#readme","bugs":{"url":"https://github.com/paralleldrive/react-feature-toggles/issues"},"dist":{"shasum":"26994c185e176313a41f96a684381c6978cee9d8","tarball":"https://registry.npmjs.org/@paralleldrive/react-feature-toggles/-/react-feature-toggles-1.3.1.tgz","fileCount":61,"integrity":"sha512-NoKWy6DkVBnK2pR9jQHHSu7eAvRUkH06AU1HcUyOJQ7vHbJ+tzzUGjQNT6Cep3Yb+SZBZ6tdj3UitQkJH3bYew==","signatures":[{"sig":"MEQCIGJySDB7l9w9T5wK5VVdt7g+xuouUX8g1kBY5SFlY8S6AiA5NP8++MGniwZ7+v4xrPEd+Rm2vJc51CEjLiIvo55Lvg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":153013},"main":"dist/index.js","engines":{"node":">=8.3"},"gitHead":"21080abf9f37bf952677c9263aeb0ba11f212bf9","scripts":{"lint":"eslint src && echo '-- linting finished --'","test":"tape -r babel-register -r babel-polyfill src/test","build":"babel src -d dist","watch":"watch 'reset && npm run --silent test' src","prepare":"npm run build","prettier":"prettier --write 'src/**/*.js'","pretty-quick":"pretty-quick --staged","precommit-msg":"echo 'Pre-commit checks...' && exit 0","test:integration":"tape -r babel-register -r babel-polyfill src/integration"},"_npmUser":{"name":"ericelliott","email":"nospam@paralleldrive.com"},"pre-commit":["lint","pretty-quick","test","test:integration"],"repository":{"url":"git+https://github.com/paralleldrive/react-feature-toggles.git","type":"git"},"_npmVersion":"5.3.0","description":"React Feature Toggles","directories":{},"_nodeVersion":"8.6.0","dependencies":{"ramda":"0.25.0"},"_hasShrinkwrap":false,"devDependencies":{"tape":"4.8.0","husky":"0.14.3","react":"15.6.1","watch":"1.0.2","eslint":"4.4.1","cheerio":"0.22.0","express":"4.16.2","riteway":"2.0.3","prettier":"1.9.2","babel-cli":"6.24.1","react-dom":"15.6.1","supertest":"3.0.0","pre-commit":"1.2.2","prop-types":"15.5.10","deep-freeze":"0.0.1","babel-eslint":"7.2.3","pretty-quick":"1.1.0","babel-polyfill":"6.26.0","babel-register":"6.24.1","babel-preset-env":"1.6.0","babel-preset-react":"6.24.1","eslint-plugin-react":"7.2.1","babel-preset-stage-2":"6.24.1","eslint-config-prettier":"2.9.0"},"peerDependencies":{"react":">=15.6.1","react-dom":">=15.6.1","prop-types":">=15.5.10"},"_npmOperationalInternal":{"tmp":"tmp/react-feature-toggles_1.3.1_1518123926569_0.018476417157390568","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"@paralleldrive/react-feature-toggles","version":"1.4.0","keywords":["react","feature","toggle","toggles"],"author":{"name":"Parallel Drive, Inc"},"license":"MIT","_id":"@paralleldrive/react-feature-toggles@1.4.0","maintainers":[{"name":"ericelliott","email":"nospam@paralleldrive.com"}],"homepage":"https://github.com/paralleldrive/react-feature-toggles#readme","bugs":{"url":"https://github.com/paralleldrive/react-feature-toggles/issues"},"dist":{"shasum":"94a373ac395e0d83b2695e288524fe4778711fd2","tarball":"https://registry.npmjs.org/@paralleldrive/react-feature-toggles/-/react-feature-toggles-1.4.0.tgz","fileCount":60,"integrity":"sha512-4PaQRpV1mbbeHYDBWdv1ZOcHIsVOwdchV+PGEwSk4FyeCKnCCGTfh5+7bTOebld6k/ruJFEgqPxhQFGAYVqTog==","signatures":[{"sig":"MEUCIQDQE4H02ElezDnEl3PRZAEaO0x356NCOrNM4fboXILxdAIgFRKtEBqy7hHEc5el4kLjbL8k8q2LfEP91XfCkcDaVJ8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":154880},"main":"dist/index.js","engines":{"node":">=8.3"},"gitHead":"6751ddc6348d27d4072a2326a956447972d95ece","scripts":{"lint":"eslint src && echo '-- linting finished --'","test":"tape -r babel-register -r babel-polyfill src/test","build":"babel src -d dist","watch":"watch 'reset && npm run --silent test' src","prepare":"npm run build","prettier":"prettier --write 'src/**/*.js'","pretty-quick":"pretty-quick --staged","precommit-msg":"echo 'Pre-commit checks...' && exit 0","test:integration":"tape -r babel-register -r babel-polyfill src/integration"},"_npmUser":{"name":"ericelliott","email":"nospam@paralleldrive.com"},"pre-commit":["lint","pretty-quick","test","test:integration"],"repository":{"url":"git+https://github.com/paralleldrive/react-feature-toggles.git","type":"git"},"_npmVersion":"5.6.0","description":"React Feature Toggles","directories":{},"_nodeVersion":"8.3.0","dependencies":{"ramda":"0.25.0"},"_hasShrinkwrap":false,"devDependencies":{"tape":"4.8.0","husky":"0.14.3","react":"15.6.1","watch":"1.0.2","eslint":"4.4.1","cheerio":"0.22.0","express":"4.16.2","riteway":"2.0.3","prettier":"1.9.2","babel-cli":"6.24.1","react-dom":"15.6.1","supertest":"3.0.0","pre-commit":"1.2.2","prop-types":"15.5.10","deep-freeze":"0.0.1","babel-eslint":"7.2.3","pretty-quick":"1.1.0","babel-polyfill":"6.26.0","babel-register":"6.24.1","babel-preset-env":"1.6.0","babel-preset-react":"6.24.1","eslint-plugin-react":"7.2.1","babel-preset-stage-2":"6.24.1","eslint-config-prettier":"2.9.0"},"peerDependencies":{"react":">=15.6.1","react-dom":">=15.6.1","prop-types":">=15.5.10"},"_npmOperationalInternal":{"tmp":"tmp/react-feature-toggles_1.4.0_1518226645807_0.0699000765970148","host":"s3://npm-registry-packages"}},"2.0.0-beta1":{"name":"@paralleldrive/react-feature-toggles","version":"2.0.0-beta1","keywords":["react","feature","toggle","toggles"],"author":{"name":"Parallel Drive, Inc"},"license":"MIT","_id":"@paralleldrive/react-feature-toggles@2.0.0-beta1","maintainers":[{"name":"ericelliott","email":"nospam@paralleldrive.com"}],"homepage":"https://github.com/paralleldrive/react-feature-toggles#readme","bugs":{"url":"https://github.com/paralleldrive/react-feature-toggles/issues"},"dist":{"shasum":"63327e1a4c8525b722b6a852e46a2a56228b9147","tarball":"https://registry.npmjs.org/@paralleldrive/react-feature-toggles/-/react-feature-toggles-2.0.0-beta1.tgz","fileCount":83,"integrity":"sha512-0uKYdTXRCweNlezDT5BA7P8Gz+S634QlUjYhis06Pm8bde6kNaqSzuqUksU2bCvbpDaecZNfG9STNPi6gsvl3g==","signatures":[{"sig":"MEQCIHCALPTsU5+YhT4fCOjZXgOeyIyRisxjTggy4/Q4DBRZAiADXqMQx8ioxrQLJbho9PdtlzzQ1gnehyBPVWXfzZbVgA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":213603,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbIV3NCRA9TVsSAnZWagAAwz0P/A1n6V8ZcyC8b26+zesG\n84H7jy1zA9475dYfIeFYum3VA87j/JOtXfOIgvXjdeqD3EK7PbvRt2l3XkDI\nYd9fNXBZwKttg4Ln0DNAmsP+2KO6syABgY3fvWFIrdnntSQnIq4pHUOmpnvh\nkMC1kREhTzszyjZpNpjgvj8QnbdGMDZz/xMFR0yQStI7cYh2z1IVWZvn3ndg\nIm3VKIWihASeeIz7FVgKOVlGUvba+oQp7YdEQJp6OJDcUdfpM6/UzQuhXOM4\nNKfDaP+UAvRB4lM6VtrIr4PVILTchOgc2kdMLtpz8tKoJVvia2yQ3AoYtIrk\nW/le3/DlJOevoBCsHhL6YunjPhye9EqmD4Zm5m9uMf/WDPRnCtSwm/QneBW3\novCp2EgO4xu60zqcaqqB3IH6W6I7ro2erHl0QzbZLgM8+rVUf3ZInKwES9ev\ncfYroo+Td8ho+hAGyhKSAvIbv4tkgs4ctcLMm3sWWWlzR/XVrOblbatPga8a\nDxsTWYCKaWY5zKlaMkHQSC/li8RmohMACIHWYbhz2rWXaU7e8GBtmM5y/A0A\nrO00hZ3UohCvSu2pU6M9C/ozzQap0mGD/OGEt4acy6XKIIeT90zif7/W/nhZ\n3PtQrJhDzktiWsoKBdKtigPh1tHcEmBevgnYtNInZkVB/ChiyK/kW8adH8Ke\nGjbo\r\n=GTHU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# react-feature-toggles\n\n[![Build Status](https://travis-ci.com/paralleldrive/react-feature-toggles.svg?token=Ba8H1FN3UT5CqqFhs2AM&branch=master)](https://travis-ci.com/paralleldrive/react-feature-toggles)\n\n## Requirements\n\nReact Feature Toggles attempts to satisfy the following requirements:\n\n* Universal - server and client side\n* Conditionally execute code based on the presence or absence of a specific feature\n* Toggle features on with url parameters\n* Feature Dependency - if a feature depends on a another feature that is disabled, then neither of them should execute\n\n## Install\n\n```\nnpm install --save @paralleldrive/react-feature-toggles\n```\n\n## Basic Usage\n\n```js\nimport { FAQComponent } from '../features/faq';\nimport { NotFoundComponent } from '../features/404-page';\nimport { FeatureToggles, Feature } from '@paralleldrive/react-feature-toggles';\n\nconst features = ['faq', 'foo', 'bar'];\n\nconst MyApp = () => {\n  return (\n    <FeatureToggles features={features}>\n      <Feature\n        name=\"faq\"\n        inactiveComponent={NotFoundComponent}\n        activeComponent={FAQComponent}\n      />\n    </FeatureToggles>\n  );\n};\n```\n\n## API\n\n### Components\n\n#### FeatureToggles\n\n`FeatureToggles` is a provider component.\n\n**props**\n\n* features = []\n\n```js\nimport { FeatureToggles } from '@paralleldrive/react-feature-toggles';\n\nconst features = ['foo', 'bar', 'baz', 'cat'];\n\nconst MyApp = () => {\n  return <FeatureToggles features={features}>{...stuff}</FeatureToggles>;\n};\n```\n\n#### Feature\n\n`Feature` is a consumer component.\n\nIf the feature is enabled then the _activeComponent_ will render else it renders the _inactiveComponent_.\n\nFeature takes these **props**\n\n* name = \"\"\n* inactiveComponent = noop\n* activeComponent = null\n\n```js\nimport { FeatureToggles, Feature } from '@paralleldrive/react-feature-toggles';\n\nconst MyApp = () => {\n  return (\n    <FeatureToggles>\n      <Feature\n        name=\"faq\"\n        inactiveComponent={NotFoundComponent}\n        activeComponent={FAQComponent}\n      />\n      <Feature\n        name=\"help\"\n        inactiveComponent={NotFoundComponent}\n        activeComponent={HelpComponent}\n      />\n    </FeatureToggles>\n  );\n};\n```\n\nAlternatively, you can use `Feature` as a render prop component. Do this by passing a function as the children to the `Feature` component. Note: This will only work if an `activeComponent` is not provided.\n\n```js\nimport {\n  FeatureToggles,\n  Feature,\n  isActive\n} from '@paralleldrive/react-feature-toggles';\n\nconst MyApp = () => {\n  return (\n    <FeatureToggles>\n      <Feature>\n        {({ features }) =>\n          isActive('bacon', features)\n            ? 'The bacon feature is active'\n            : 'Bacon is inactive'\n        }\n      </Feature>\n    </FeatureToggles>\n  );\n};\n```\n\n### Higher Order Components\n\n#### withFeatureToggles\n\n`({ features = [...String] } = {}) => Component => Component`\n\nYou can use `withFeatureToggles` to compose your page functionality.\n\n```js\nimport MyPage from '../feautures/my-page';\nimport { withFeatureToggles } from '@paralleldrive/react-feature-toggles';\n\nconst features = ['foo', 'bar', 'baz', 'cat'];\n\nexport default = compose(\n  withFeatureToggles({ features }),\n  // ... other page HOC imports\n  hoc1,\n  hoc2,\n);\n```\n\nDepending on your requirements, you might need something slightly different than the default `withFeatureToggles`. The default `withFeatureToggles` should serve as a good example to create your own.\n\n#### configureFeature\n\n`(inactiveComponent, name, activeComponent) => Component`\n\n`configureFeature` is a higher order component that allows you to configure a `Feature` component. configureFeature is auto curried so that you can partially apply the props.\n\n```js\nimport { FeatureToggles } from '@paralleldrive/react-feature-toggles';\nconst NotFoundPage = () => <div>404</div>;\nconst ChatPage = () => <div>Chat</div>;\n\nconst featureOr404 = configureFeature(NotFoundPage);\nconst Chat = featureOr404('chat', ChatPage);\n\nconst features = ['foo', 'bar', 'chat'];\n\nconst myPage = () => (\n  <FeatureToggles features={features}>\n    <Chat />\n  </FeatureToggles>\n);\n```\n\n### Interfaces\n\n#### Feature\n\n```js\ninterface Feature {\n  name: String,\n  isActive: false,\n  dependencies?: [...String]\n}\n```\n\n### Functions\n\n#### getActiveFeatures\n\n`([...Feature]) => [...String]`\n\nTakes an array of feature objects and returns an array of active feature names.\n\n#### getQueryFeatures\n\n`(query = {}) => [...String]`\n\nTakes a [query object](https://nodejs.org/api/url.html) and returns an array of enabled feature names.\n\n```js\nconst query = { ft='foo,bar,help' }\ngetQueryFeatures(query); // ['foo', 'bar', 'help']\n```\n\n#### mergeFeatures\n\n`(...[...String]) => [...String]`\n\nMerge feature names without duplicating.\n\n```js\nconst currentFeatures = ['foo', 'bar', 'baz'];\nmergeFeatures(currentFeatures, ['fish', 'bar', 'cat']); // ['foo', 'bar', 'baz', 'fish', 'cat']\n```\n\n#### removeFeatures\n\n`([...String], [...String]) => [...String]`\n\nRemoves feature names\n\n```js\nconst currentFeatures = ['foo', 'bar', 'baz', 'cat'];\nremoveFeatures(currentFeatures, ['fish', 'bar', 'cat']); // ['foo', 'baz']\n```\n\n#### isActive\n\n`(String, [...String]) => boolean`\n\nReturns true if a feature name is in the array else it returns false.\n\n```js\nconst currentFeatures = ['foo', 'bar', 'baz'];\nisActive('bar', currentFeatures); // true\nisActive('cat', currentFeatures); // false\n```\n\n#### getReqQueryFeatures\n\n`(req = {}) => [...String]`\n\nTakes a [req object](https://expressjs.com/en/api.html#req.query) and returns an array of enabled feature names.\n\n```js\nconst req = {\n  query:{\n    ft='foo,bar,help'\n  }\n};\n\ngetReqQueryFeatures(req); // ['foo', 'bar', 'help']\n```\n\n#### getBrowserQueryFeatures\n\nTakes a `window.location.search` string and returns an array of active feature names. If search is not provided will grab the global `window.location.search` if available.\n\n`(search?) => [...String]`\n\n```js\nconst search = '?ft=foo,bar,baz';\n\ngetBrowserQueryFeatures(search); // ['foo', 'bar', 'baz']\n```\n\n#### getCurrentActiveFeatures\n\nTakes an array of initialFeatures, a req object, and a `window.location.search` string and returns an array of active Features. If search is not provided will grab the global `window.location.search` if available.\n\n`({ initialFeatures = [...String], req? , search? }) => [...String])]`\n\n```js\nconst initialFeatures = ['cat', 'bar'];\nconst req = {\n    query:{\n      ft='fiz,bat,help'\n    }\n  };\nconst search = '?ft=foo,bar,baz';\n\ngetCurrentActiveFeatures({ initialFeatures, req, search }); // ['cat', 'bar', 'fiz', 'bat', 'help', 'foo', 'baz']\ngetCurrentActiveFeatures({ initialFeatures }); // -> parses the `window.location.search` string if present if not -> ['cat', 'bar']\n```\n\n## Enabling features from the URL\n\nIn v2, query logic has been moved out of the provider component. You should now handle this logic before passing features to `FeatureToggles`\n\n```js\nimport {\n  FeatureToggles,\n  mergeFeatures,\n  getQueryFeatures\n} from '@paralleldrive/react-feature-toggles';\nimport parse from 'url-parse';\n\nconst url = 'https://domain.com/foo?ft=foo,bar';\nconst query = parse(url, true);\nconst initialFeatures = ['faq', 'foo', 'bar'];\nconst features = mergeFeatures(initialFeatures, getQueryFeatures(query));\n\nconst MyApp = () => {\n  return <FeatureToggles features={features}>{...stuff}</FeatureToggles>;\n};\n```\n","engines":{"node":">=8.3"},"gitHead":"e17a6f8b330169b52914b7d964ff84246ff108d5","scripts":{"lint":"eslint src && echo '-- linting finished --'","test":"tape -r babel-register -r babel-polyfill src/test","build":"babel src -d dist","watch":"watch 'reset && npm run --silent test' src","update":"updtr","prepare":"npm run build","prettier":"prettier --write 'src/**/*.js'","pretty-quick":"pretty-quick --staged","precommit-msg":"echo 'Pre-commit checks...' && exit 0","test:integration":"tape -r babel-register -r babel-polyfill src/integration"},"_npmUser":{"name":"ericelliott","email":"nospam@paralleldrive.com"},"pre-commit":["lint","pretty-quick","test","test:integration"],"repository":{"url":"git+https://github.com/paralleldrive/react-feature-toggles.git","type":"git"},"_npmVersion":"6.0.0","description":"React Feature Toggles","directories":{},"_nodeVersion":"8.10.0","dependencies":{"ramda":"0.25.0","lodash":"4.17.10","url-parse":"1.4.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tape":"4.9.1","husky":"0.14.3","react":"16.4.1","updtr":"2.0.0","watch":"1.0.2","eslint":"4.19.1","cheerio":"0.22.0","express":"4.16.3","riteway":"2.0.4","prettier":"1.13.5","babel-cli":"6.26.0","react-dom":"16.4.1","supertest":"3.1.0","pre-commit":"1.2.2","prop-types":"15.6.1","deep-freeze":"0.0.1","babel-eslint":"8.2.3","pretty-quick":"1.6.0","babel-polyfill":"6.26.0","babel-register":"6.26.0","babel-preset-env":"1.7.0","babel-preset-react":"6.24.1","eslint-plugin-react":"7.9.1","babel-preset-stage-2":"6.24.1","eslint-config-prettier":"2.9.0"},"peerDependencies":{"react":">=16.3.2","react-dom":">=16.3.2","prop-types":">=15.6.1"},"_npmOperationalInternal":{"tmp":"tmp/react-feature-toggles_2.0.0-beta1_1528913356780_0.08464791458055232","host":"s3://npm-registry-packages"}},"2.0.0-beta2":{"name":"@paralleldrive/react-feature-toggles","version":"2.0.0-beta2","keywords":["react","feature","toggle","toggles"],"author":{"name":"Parallel Drive, Inc"},"license":"MIT","_id":"@paralleldrive/react-feature-toggles@2.0.0-beta2","maintainers":[{"name":"ericelliott","email":"nospam@paralleldrive.com"}],"homepage":"https://github.com/paralleldrive/react-feature-toggles#readme","bugs":{"url":"https://github.com/paralleldrive/react-feature-toggles/issues"},"dist":{"shasum":"0734657a1defd33ed8b3e7a45e7360155ad42295","tarball":"https://registry.npmjs.org/@paralleldrive/react-feature-toggles/-/react-feature-toggles-2.0.0-beta2.tgz","fileCount":83,"integrity":"sha512-8aUAfryg0xR573hoFsCozTUmbudjVCwrA1dg1WLpLbLCkzMa60jxtkm0FbktiHsL43oBWwf0hTwRfQom8zJkOw==","signatures":[{"sig":"MEYCIQDyQmy28JR7675HHbVm5RYVeL79VI24HSzk5jALF5W6lwIhALXGOzR+jDodxpFslxyikc0T51mWvxOzP8/8/Zm3ncEX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":213850,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbKsa9CRA9TVsSAnZWagAAJX0P/1e0Dm/u8U11JMRhWOLR\nnXxi2uCHN9VfpJIm3w5FmF1CaAk69qMh1pxDWyFqN/yauaDmb/nEe1X8Nh/N\nyl5lIBla9Gh0hEQaYPXFwTBNrF23vFJB3HLZ5zHpMvWStH27nMepLxeiUqjl\nPTr/Uz+pndDjMmDaT3xrQ0371BZhQV8U9phE3gI+rc7X7Ul2TvgZyyurSzdF\ny49jZCOWn6rFmYOvoN2MHHglO2gvcP+zlews2gnAbtflcK9Z2cyH0xkYDyDp\nNsu2knmGzAb7HJKLAL4OT0ODfnUN6AHgP97ivlo+Zbfd3nv+QACBYpSMc5lh\nyGMiAizgP7LRIQ4RN/OGVvpCMELI9njIBViCrhm+RY9+c1+90ee7OmMl13L2\nGlXb9uUXOuo5aGoY2geVxD/cQl4ogayjIIUi2c72ElaL5Ijdyw8/qO/FteaT\n/Nbq09Y2QU071fBsv0rYajbFTEyohc182LbIBT4KN/4zP4r5nTJEeUWiV0P5\nJ0lnCcqAMh6TNMbE0behK7F3usVJCO4AgYauHR5eGfI2vz3D7qUTP1Tje7GO\nV/hrllb2XImZUgdwNviPm+STYWdJDbmVqyWVQ1o70ranXQ6mYcDBzGp+Uy+t\nJzvpakYG/rLcGTXaqLZ+qguTi/5qqeUfZVqQmP7RWKZHsP1V18YzhLcDYsLp\nhQsG\r\n=l3BU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","engines":{"node":">=8.3"},"gitHead":"222153459959db3bbb826bf86e941be3fadb1b7e","scripts":{"lint":"eslint src && echo '-- linting finished --'","test":"tape -r babel-register -r babel-polyfill src/test","build":"babel src -d dist","watch":"watch 'reset && npm run --silent test' src","update":"updtr","prepare":"npm run build","prettier":"prettier --write 'src/**/*.js'","pretty-quick":"pretty-quick --staged","precommit-msg":"echo 'Pre-commit checks...' && exit 0","test:integration":"tape -r babel-register -r babel-polyfill src/integration"},"_npmUser":{"name":"ericelliott","email":"nospam@paralleldrive.com"},"pre-commit":["lint","pretty-quick","test","test:integration"],"repository":{"url":"git+https://github.com/paralleldrive/react-feature-toggles.git","type":"git"},"_npmVersion":"5.6.0","description":"React Feature Toggles","directories":{},"_nodeVersion":"8.11.3","dependencies":{"ramda":"0.25.0","lodash":"4.17.10","url-parse":"1.4.1"},"_hasShrinkwrap":false,"devDependencies":{"tape":"4.9.1","husky":"0.14.3","react":"16.4.1","updtr":"2.0.0","watch":"1.0.2","eslint":"4.19.1","cheerio":"0.22.0","express":"4.16.3","riteway":"2.0.4","prettier":"1.13.5","babel-cli":"6.26.0","react-dom":"16.4.1","supertest":"3.1.0","pre-commit":"1.2.2","prop-types":"15.6.2","deep-freeze":"0.0.1","babel-eslint":"8.2.3","pretty-quick":"1.6.0","babel-polyfill":"6.26.0","babel-register":"6.26.0","babel-preset-env":"1.7.0","babel-preset-react":"6.24.1","eslint-plugin-react":"7.9.1","babel-preset-stage-2":"6.24.1","eslint-config-prettier":"2.9.0"},"peerDependencies":{"react":">=16.3.2","react-dom":">=16.3.2","prop-types":">=15.6.1"},"_npmOperationalInternal":{"tmp":"tmp/react-feature-toggles_2.0.0-beta2_1529530044039_0.7107765584665324","host":"s3://npm-registry-packages"}},"2.0.0-beta3":{"name":"@paralleldrive/react-feature-toggles","version":"2.0.0-beta3","keywords":["react","feature","toggle","toggles"],"author":{"name":"Parallel Drive, Inc"},"license":"MIT","_id":"@paralleldrive/react-feature-toggles@2.0.0-beta3","maintainers":[{"name":"ericelliott","email":"nospam@paralleldrive.com"},{"name":"kennylavender","email":"leapingfish@gmail.com"}],"homepage":"https://github.com/paralleldrive/react-feature-toggles#readme","bugs":{"url":"https://github.com/paralleldrive/react-feature-toggles/issues"},"dist":{"shasum":"6896e182e31357f70b5a368cb59fa5cb9aca8c5e","tarball":"https://registry.npmjs.org/@paralleldrive/react-feature-toggles/-/react-feature-toggles-2.0.0-beta3.tgz","fileCount":56,"integrity":"sha512-vronBhSPOBrggz07Xi5usuH+Dfv8RKJ1w2n5MDxtK0g5BiVPxdSSesxYt641+BV4cAeBs1WBPwQ7U2vEMOL6iQ==","signatures":[{"sig":"MEYCIQDOI21s3sfsRi1IoqtJFjaaECmlSwBN2myuXc5ogqHMOAIhAJrW1I+8S9/QTNRvmjQvbnIKrCnlmLdmHWJ+oVaUgIXE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":156450,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbW38fCRA9TVsSAnZWagAAi3IP/23B8UJOF/sG1jpRj8Uw\n52QOCoGWbD2wA8Khy+t9hx7u0K//Z9f3yylI/cKK/WmFXLOCxVIbWgEXcAS/\n5RssJGOlEfx+YnMVRoAJaQfWghrYyFaXmz0hBiNNYlbDbmSKVt4wna7J0Oo0\nSMwLJx+2dSgVl3OJTlUHDF3+Jt30GSHZPaAfDFVH8aCIC45JAF2VvwzAXI5V\nsJVfG82orMPoSIqZOXBgBTBbTrCHLy2fkc4O3usizHn40EnbCpJ3lECghpkp\nynzksvtULcU99TxDJ4sbo5Yl+6Tlm04zbQViNcy7eBh6YuFbiBAhh4IOZ9Ps\ntKP1KMiWVmqcRsFRtJcBRQUruVDxKvTfpEAP3T+7p+tGLMt3gJpvJXuLlMIB\nSDgOrg44e22HzKF1QMAgHWi8Ij5vNlyxjrR2GKlK1LN1IZJ8yRwHsk0s4mfH\nXPRMHmWME6CvRR1GzsE4+MpE0+d3w4+rea5LAxpDJ5tce5mqY3mA1pRq8xjc\nYefUTZ9/XKHKJ6QLBMCjJix/gSriRxas12iWXjIe+0HLO8RwWEqmXb4NvZ+1\ny2h3vA7XdyQcPC036kff4HugykviY0kR0495sFwmGJWL7YtAfJV4WhZiap9I\nGkMwYJ6uZ8noeWUM2agdKMSKnckGhcACQgT6frkew2oSTmnjPzVovhg6WIN3\n56C/\r\n=heh2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"typings/index.d.ts","engines":{"node":">=8.3"},"gitHead":"243f5184aed5462896d68840c1608864ef33c789","scripts":{"lint":"eslint src && echo '-- linting finished --'","test":"tape -r babel-register -r babel-polyfill test/unit.js","build":"babel src -d dist","watch":"watch 'reset && npm run --silent test' src","update":"updtr","prepare":"npm run build","prettier":"prettier --write 'src/**/*.js'","pretty-quick":"pretty-quick --staged","precommit-msg":"echo 'Pre-commit checks...' && exit 0","test:integration":"tape -r babel-register -r babel-polyfill test/integration"},"_npmUser":{"name":"kennylavender","email":"leapingfish@gmail.com"},"pre-commit":["lint","pretty-quick","test","test:integration"],"repository":{"url":"git+https://github.com/paralleldrive/react-feature-toggles.git","type":"git"},"_npmVersion":"5.6.0","description":"React Feature Toggles","directories":{},"_nodeVersion":"9.11.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"tape":"4.9.1","husky":"0.14.3","react":"16.4.1","updtr":"2.0.0","watch":"1.0.2","eslint":"4.19.1","cheerio":"0.22.0","riteway":"2.0.4","prettier":"1.13.5","babel-cli":"6.26.0","react-dom":"16.4.1","pre-commit":"1.2.2","prop-types":"15.6.2","deep-freeze":"0.0.1","babel-eslint":"8.2.3","pretty-quick":"1.6.0","babel-polyfill":"6.26.0","babel-register":"6.26.0","babel-preset-env":"1.7.0","babel-preset-react":"6.24.1","eslint-plugin-react":"7.9.1","babel-preset-stage-2":"6.24.1","eslint-config-prettier":"2.9.0"},"peerDependencies":{"react":">=16.3.2","react-dom":">=16.3.2","prop-types":">=15.6.1"},"_npmOperationalInternal":{"tmp":"tmp/react-feature-toggles_2.0.0-beta3_1532722974932_0.33537477004585003","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"@paralleldrive/react-feature-toggles","version":"2.0.0","keywords":["react","feature","toggle","toggles"],"author":{"name":"Parallel Drive, Inc"},"license":"MIT","_id":"@paralleldrive/react-feature-toggles@2.0.0","maintainers":[{"name":"ericelliott","email":"nospam@paralleldrive.com"},{"name":"kennylavender","email":"leapingfish@gmail.com"}],"homepage":"https://github.com/paralleldrive/react-feature-toggles#readme","bugs":{"url":"https://github.com/paralleldrive/react-feature-toggles/issues"},"dist":{"shasum":"ce0724a7aff657e43c6ea2388f10b985cf7478d2","tarball":"https://registry.npmjs.org/@paralleldrive/react-feature-toggles/-/react-feature-toggles-2.0.0.tgz","fileCount":56,"integrity":"sha512-/tX8Aj+/cYbP5O1twcY8nNtK6ahEMOuqtg6AfmFmkGhbainjlAneNeVXlDFW6eUAz7J1TXXsL2eoWLuhHx1J8A==","signatures":[{"sig":"MEUCIQDdMNEyM+J0WtLvJup/1bmvjSderj7OzrBY1vs/Jek5vQIgA9JZDr5tAKCd5HpzU5e0Gb8iGH0UinhKG33M49xnMNs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":156392,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbX1nPCRA9TVsSAnZWagAA/+4P/0nBshvX160ys2X5T8YO\nMQdnvK17w+S6L7Y1EjaJE/VNwjn9PtEilHT9hfEOVpypdyIE2wWzH2o0doQi\nYQHPMU9oO3s/fxZaFvuJfcixBTo7k+oD1O7+EWTW5mXFJp8RW5CL87IMzZyu\nNG46dASxvF3iiVD6xlvajqvup7PtSaigYT3ziZ9BuK29tJ2TaZ1s+indT4Xw\n1GvdQJ9dRXGzP4n1fNuNUPca3ayxnICtJPPj6vC2nG2lgO50Js0ErW8xCZFV\nUJht7k2u7ypzj/iCIfibYGi7qZvv5sd/RXh3UElr2DFg+jtxPf5sWSYNVE2s\n2R4vP6vOKUM67U9PvElodiJ7fK27m9QNnsA5dc8s74/eB/MemGi2GcwXX+re\neTFilUFjm+bDA4kNKNvAIAApDCZ2mOtEEAiQBUkL4ua8m31TownwdiId4dSm\nG8wYLIxQAYYco8zxPfANvWWszRWV0C0DMJ9imYGElLYIjt2/RymlGgxiSS8O\new76Zw6fzOClyuon6AWRhyzIiliFfe91iZW3fd+P1qMqqCmCP1NhXZdYwIgi\ncf1wV2DOWaGAckImz4v7BH+/xSEcnJPHUnjJKRfq8zrO/I8l2bONgHBFBWmQ\niBbFugnrP2aDIjQyW+BJzB/POU6XYxybj5T12TINzqpslgEw/M25FQ/wKVyj\nwwiv\r\n=tcZQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"typings/index.d.ts","engines":{"node":">=8.3"},"gitHead":"813d65afe384107728678d0b8d06c126445ac540","scripts":{"lint":"eslint src && echo '-- linting finished --'","test":"tape -r babel-register -r babel-polyfill test/unit.js","build":"babel src -d dist","watch":"watch 'reset && npm run --silent test' src","update":"updtr","prepare":"npm run build","prettier":"prettier --write 'src/**/*.js'","pretty-quick":"pretty-quick --staged","precommit-msg":"echo 'Pre-commit checks...' && exit 0","test:integration":"tape -r babel-register -r babel-polyfill test/integration"},"_npmUser":{"name":"kennylavender","email":"leapingfish@gmail.com"},"pre-commit":["lint","pretty-quick","test","test:integration"],"repository":{"url":"git+https://github.com/paralleldrive/react-feature-toggles.git","type":"git"},"_npmVersion":"5.6.0","description":"React Feature Toggles","directories":{},"_nodeVersion":"9.11.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"tape":"4.9.1","husky":"0.14.3","react":"16.4.1","updtr":"2.0.0","watch":"1.0.2","eslint":"4.19.1","cheerio":"0.22.0","riteway":"2.0.4","prettier":"1.13.5","babel-cli":"6.26.0","react-dom":"16.4.1","pre-commit":"1.2.2","prop-types":"15.6.2","deep-freeze":"0.0.1","babel-eslint":"8.2.3","pretty-quick":"1.6.0","babel-polyfill":"6.26.0","babel-register":"6.26.0","babel-preset-env":"1.7.0","babel-preset-react":"6.24.1","eslint-plugin-react":"7.9.1","babel-preset-stage-2":"6.24.1","eslint-config-prettier":"2.9.0"},"peerDependencies":{"react":">=16.3.2","react-dom":">=16.3.2","prop-types":">=15.6.1"},"_npmOperationalInternal":{"tmp":"tmp/react-feature-toggles_2.0.0_1532975567830_0.1479663748937614","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"@paralleldrive/react-feature-toggles","version":"2.0.1","keywords":["react","feature","toggle","toggles"],"author":{"name":"Parallel Drive, Inc"},"license":"MIT","_id":"@paralleldrive/react-feature-toggles@2.0.1","maintainers":[{"name":"ericelliott","email":"nospam@paralleldrive.com"},{"name":"kennylavender","email":"leapingfish@gmail.com"}],"homepage":"https://github.com/paralleldrive/react-feature-toggles#readme","bugs":{"url":"https://github.com/paralleldrive/react-feature-toggles/issues"},"dist":{"shasum":"bed0ae5da84bf8de77b2c3e839d6357aef9f2633","tarball":"https://registry.npmjs.org/@paralleldrive/react-feature-toggles/-/react-feature-toggles-2.0.1.tgz","fileCount":57,"integrity":"sha512-iudJauGuXUNUydWqNw3PahxiXPKU3tFNgAUcKqEaXCjO+pzHjV+0tAZ+zaZsd5wEvsRit263bQdcyBJ0+nMtkQ==","signatures":[{"sig":"MEYCIQC8ElSxasDHmJ7TZwmGWHiECPpllhyUZRq9Opkx11lLlwIhAImeMydt17nSk93NOfUCoSN+Jqs3S2CDYiipAGvrpDIF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":156350,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbYMz6CRA9TVsSAnZWagAAoLAQAJpCFeCBY7MzeY7H8Z97\nyn2oB/5qy5wX+mqU+glRBytjsKpesEOzIXhdPRvyBp1HQLevqux4e6Srzh0F\ngHHdUuWVXlwoff0rXAdYmW9PCaia+scnFrmAbz+NHy6v9DyThrDHkjS0wlbG\nqeSyHNcUVnQmiw6tMrsvQSUjcK10qkI5wrC8gsbruMKD4ymi4qg/QLPZThCQ\nhQC9yMV53SNl5GXeVOMnjiDVXHdcw4qJ4jNxNVYBqznxuxj1ESm1A2MEl0kj\nyz6IG6SvzBHYV6PCkFwdyBlCYwwoQyIX5vSt0BSqjPNM4yf7eiGYmKXlm+Xo\ncZsuRgP8dBLXJF6mc4CPj7Iq19a7qaOUfjXtfWxqaCi63f8No+oZe/gTpWjc\nFqM/mxz988z/2epz2IvYM2yUk7aLfPpcWJMp+FExEj+ShtQRzuYCsLA4tXr1\nUniBOcnH90AsRoLX1ltRO+APfZyV1M9IIQMALNQ7CNXFtvTK2UFZyOST6W//\nlw/fBaL0OFAH6du/kAbNxwXCGGR2zaUXtevfT7mx0L8UtgxdtpKa9cBjlzNe\ny1IIGeP7wIh/qBWX2RdxQ+eGgPnjNfy2F9lRnq9pMagksSJ1XCJvUBGm/uwj\nrH6SFM1y40+mxo0vzdVXuanRsCfW9gtNHYS1Y/pPx0ZMl7VXyMVUBN4pK9Uk\nNp27\r\n=pNt4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"typings/index.d.ts","engines":{"node":">=8.3"},"gitHead":"96dce3072cee9188e486863a844ae17a02bc2c25","scripts":{"lint":"eslint src && echo '-- linting finished --'","test":"tape -r babel-register -r babel-polyfill test/unit.js","build":"babel src -d dist","watch":"watch 'reset && npm run --silent test' src","update":"updtr","prepare":"npm run build","prettier":"prettier --write 'src/**/*.js'","pretty-quick":"pretty-quick --staged","precommit-msg":"echo 'Pre-commit checks...' && exit 0","test:integration":"tape -r babel-register -r babel-polyfill test/integration"},"_npmUser":{"name":"kennylavender","email":"leapingfish@gmail.com"},"pre-commit":["lint","pretty-quick","test","test:integration"],"repository":{"url":"git+https://github.com/paralleldrive/react-feature-toggles.git","type":"git"},"_npmVersion":"5.6.0","description":"React Feature Toggles","directories":{},"_nodeVersion":"9.11.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"tape":"4.9.1","husky":"0.14.3","react":"16.4.1","updtr":"2.0.0","watch":"1.0.2","eslint":"4.19.1","cheerio":"0.22.0","riteway":"2.0.4","prettier":"1.13.5","babel-cli":"6.26.0","react-dom":"16.4.1","pre-commit":"1.2.2","prop-types":"15.6.2","deep-freeze":"0.0.1","babel-eslint":"8.2.3","pretty-quick":"1.6.0","babel-polyfill":"6.26.0","babel-register":"6.26.0","babel-preset-env":"1.7.0","babel-preset-react":"6.24.1","eslint-plugin-react":"7.9.1","babel-preset-stage-2":"6.24.1","eslint-config-prettier":"2.9.0"},"peerDependencies":{"react":">=16.3.2","react-dom":">=16.3.2","prop-types":">=15.6.1"},"_npmOperationalInternal":{"tmp":"tmp/react-feature-toggles_2.0.1_1533070586700_0.1218912860202801","host":"s3://npm-registry-packages"}},"2.0.2":{"name":"@paralleldrive/react-feature-toggles","version":"2.0.2","keywords":["react","feature","toggle","toggles"],"author":{"name":"Parallel Drive, Inc"},"license":"MIT","_id":"@paralleldrive/react-feature-toggles@2.0.2","maintainers":[{"name":"ericelliott","email":"nospam@paralleldrive.com"},{"name":"kennylavender","email":"leapingfish@gmail.com"}],"homepage":"https://github.com/paralleldrive/react-feature-toggles#readme","bugs":{"url":"https://github.com/paralleldrive/react-feature-toggles/issues"},"dist":{"shasum":"922bfb6c26f199059160c6652596892b85643301","tarball":"https://registry.npmjs.org/@paralleldrive/react-feature-toggles/-/react-feature-toggles-2.0.2.tgz","fileCount":56,"integrity":"sha512-rQRiQ/EbAhv1BgvMnqYKOiBGcDRM9Z6lKkfPWIUftBfi6vR5WBu8fIhUN0v86mh2rW9cDnLsMLCJ93gqq5kERg==","signatures":[{"sig":"MEUCIQDlau6KAt0FUt28fa47SBxH47Nzg32WCTxCLy16/tFcDwIgFrMb3+F5TfVoZ7kE4Mf5RDavmQEsHfatuzNOWDKOfH0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":156582,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbmGifCRA9TVsSAnZWagAAJkMP/14fr/y0GLeRkwbtGorh\nbRzBbbom3pFGEOkDCl01QFf+OeIa5T5bHOYCrGttcZxwnEPRn6ow8fRXvlSv\ny8jNVAFkB8Wp0jMLXN4oFI8g/RoBPa5od545EDqRYyvfDyLJuMWpSqNlM8/l\n5gRT2t6KlpdAmBYzH7jCkksyh84JMy7VCuPBU+9VHCbsB30LDxhE25RshUdD\n++VHCfoYZ31mZ9SakVNZdf137gfiEwIUefSLfjjrnC4Tx1CgBiWv9TxUnHVZ\nwGapvOfdoVtgE2QErhPA5s0/BKikSPGhQol0T/4u4WFNix8uxaptmWJCslm3\nimDVR+a3Nk5Mb/4VoX5cZAgLWPbBQeRSmBTvHOivqPjT6wFW6KwWdkikmiQJ\nBvdtdq7m1j4S/Xf4cEmu0WG6lPiYlLsw4qBh/NWySuKxGI1EHIUehHc0DQ3N\n9SAkjkT+q2MtAiu1BNhlHiLD8+Tu5E+2HwQVXnUwv7WFyhdL12MGMrB4IRXt\npSUKErTmfmh4muf2ViBFVT/yCwdQku0I+DTUIV/l+vP/kNSqj0ur+DxDt+HW\nvv+JgI8D1SPqNmz9UeyMxXWeBQpAqGTwTCnatCMMHPZ9p6jXBuynvd99DAA2\ncX4Ng+TIU9YrwNlk0fwyD6CsDtK4Y7RyoMy1yCLrUbBHgh4nnUM1ESOTGGRl\nbm3S\r\n=zvnd\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"typings/index.d.ts","engines":{"node":">=8.3"},"gitHead":"48de39fc3f00c69df53583a81dbac184b1585320","scripts":{"lint":"eslint src && echo '-- linting finished --'","test":"tape -r babel-register -r babel-polyfill test/unit.js","build":"babel src -d dist","watch":"watch 'reset && npm run --silent test' src","update":"updtr","prepare":"npm run build","prettier":"prettier --write 'src/**/*.js'","pretty-quick":"pretty-quick --staged","precommit-msg":"echo 'Pre-commit checks...' && exit 0","test:integration":"tape -r babel-register -r babel-polyfill test/integration"},"_npmUser":{"name":"kennylavender","email":"leapingfish@gmail.com"},"pre-commit":["lint","pretty-quick","test","test:integration"],"repository":{"url":"git+https://github.com/paralleldrive/react-feature-toggles.git","type":"git"},"_npmVersion":"6.2.0","description":"React Feature Toggles","directories":{},"_nodeVersion":"10.9.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"tape":"4.9.1","husky":"0.14.3","react":"16.4.1","updtr":"2.0.0","watch":"1.0.2","eslint":"4.19.1","cheerio":"0.22.0","riteway":"2.0.4","prettier":"1.13.5","babel-cli":"6.26.0","react-dom":"16.4.1","pre-commit":"1.2.2","prop-types":"15.6.2","deep-freeze":"0.0.1","babel-eslint":"8.2.3","pretty-quick":"1.6.0","babel-polyfill":"6.26.0","babel-register":"6.26.0","babel-preset-env":"1.7.0","babel-preset-react":"6.24.1","eslint-plugin-react":"7.9.1","babel-preset-stage-2":"6.24.1","eslint-config-prettier":"2.9.0"},"peerDependencies":{"react":">=16.3.2","react-dom":">=16.3.2","prop-types":">=15.6.1"},"_npmOperationalInternal":{"tmp":"tmp/react-feature-toggles_2.0.2_1536714911106_0.37309477733245955","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"@paralleldrive/react-feature-toggles","version":"2.1.0","keywords":["react","feature","toggle","toggles"],"author":{"name":"Parallel Drive, Inc"},"license":"MIT","_id":"@paralleldrive/react-feature-toggles@2.1.0","maintainers":[{"name":"ericelliott","email":"nospam@paralleldrive.com"},{"name":"kennylavender","email":"leapingfish@gmail.com"}],"homepage":"https://github.com/paralleldrive/react-feature-toggles#readme","bugs":{"url":"https://github.com/paralleldrive/react-feature-toggles/issues"},"dist":{"shasum":"858d6bd6423b001dd9fa920e556ca05eddc2e479","tarball":"https://registry.npmjs.org/@paralleldrive/react-feature-toggles/-/react-feature-toggles-2.1.0.tgz","fileCount":23,"integrity":"sha512-q4qyLchD0invQFH2swstETT+zx/6ZvPBh+NGsTBvcx3nhplCu7KQEoXID4EZPEFvG5ykhNEAndN75Q+o3Wacdw==","signatures":[{"sig":"MEQCIC3USBg8Ltvr6V5UpQ+om5K8JQrQyyN3TaI3epLKvcfKAiBLnTE6b1P9/hv+KwnCaGefVfXpxICrvnkFA3LAWhXeQw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38975,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcXPhkCRA9TVsSAnZWagAA90UP/AtNoNerjnwIQmBEmeVu\nFni0WgCNNzeB7diRkgo7l9tj3mc1GatBxQwyXam4pmM9w05jeFR+8xNWCS09\npKtFjJ5JzWiZqER86jsNYYPO4HnZ57LRMBAHL/keGvMbkgZbQN/wxIGI2eCT\nCnu2cNPWBx2/PxtBNYczSBrfOLn6LA+N8JKlP3K7iuNp4Mr9jOVqfa1UMup6\nIcWqruP1Q7VQurjKBa0sy9hmUXdnjmz4V4QH17GUQMTiT0AQbvQl0HDa/iKU\nkJnYX4w5gf2DnoIIfQgmzbMTE0fSvFdMFWfeVXkavEy5XN9VndIPRMqU/fqB\nzd8cRXGOpuuAELzPcwOu5xWfJ/k2x22Gph9YqfWDX3Aor+DmF5mjE+LrNVm8\n6BDbTmqm/vIMMaDQLB2j3PkFAxDlRdRFOfg29Ns7nmIaX+QCz/3fTncjIjUU\nb1fG3O3SrBQWvoo8ptxkkIf8FigP6hj03Uu3wf7+D2IOekn92gAE7MYBiuxz\nKHtVsNkdfuIMbedCC9KvkB/2RC/VuQy6YaKYIqyvCybTVyLpE2JOwFztkbkW\nAJYHBLVXEhDMkzrA32IxJUSkw7LOPYGMAeoxlYgosvZzxnpDutKAMB5XWU49\ngQm/qhV7TQ5YubIv0QoBy6Dy4NtiD20zbJAuhAt+QUkBFfkPXYZ5VvJgF0ul\nppxG\r\n=Nm37\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"typings/index.d.ts","engines":{"node":">=8.3"},"gitHead":"777b82dca4d2b07862381d36e5698c2b0b84f507","scripts":{"lint":"eslint src && echo '-- linting finished --'","test":"tape -r babel-register -r babel-polyfill test/unit.js","build":"babel src -d dist","watch":"watch 'reset && npm run --silent test' src","update":"updtr","prepare":"npm run build","prettier":"prettier --write 'src/**/*.js'","pretty-quick":"pretty-quick --staged","precommit-msg":"echo 'Pre-commit checks...' && exit 0","test:integration":"tape -r babel-register -r babel-polyfill test/integration"},"_npmUser":{"name":"ericelliott","email":"nospam@paralleldrive.com"},"pre-commit":["lint","pretty-quick","test","test:integration"],"repository":{"url":"git+https://github.com/paralleldrive/react-feature-toggles.git","type":"git"},"_npmVersion":"6.7.0","description":"React Feature Toggles","directories":{},"_nodeVersion":"10.15.1","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"tape":"4.9.2","husky":"1.3.1","react":"16.8.1","updtr":"3.1.0","watch":"1.0.2","eslint":"5.13.0","cheerio":"0.22.0","riteway":"4.0.1","prettier":"1.16.4","babel-cli":"6.26.0","react-dom":"16.8.1","pre-commit":"1.2.2","prop-types":"15.6.2","deep-freeze":"0.0.1","babel-eslint":"10.0.1","pretty-quick":"1.10.0","babel-polyfill":"6.26.0","babel-register":"6.26.0","babel-preset-env":"1.7.0","babel-preset-react":"6.24.1","eslint-plugin-react":"7.12.4","babel-preset-stage-2":"6.24.1","eslint-config-prettier":"4.0.0"},"peerDependencies":{"react":">=16.3.2","react-dom":">=16.3.2","prop-types":">=15.6.1"},"_npmOperationalInternal":{"tmp":"tmp/react-feature-toggles_2.1.0_1549596771889_0.5561869211051143","host":"s3://npm-registry-packages"}},"2.1.1":{"name":"@paralleldrive/react-feature-toggles","version":"2.1.1","keywords":["react","feature","toggle","toggles"],"author":{"name":"Parallel Drive, Inc"},"license":"MIT","_id":"@paralleldrive/react-feature-toggles@2.1.1","maintainers":[{"name":"ericelliott","email":"nospam@paralleldrive.com"},{"name":"kennylavender","email":"leapingfish@gmail.com"}],"homepage":"https://github.com/paralleldrive/react-feature-toggles#readme","bugs":{"url":"https://github.com/paralleldrive/react-feature-toggles/issues"},"dist":{"shasum":"40a4ebab4dab12e981e883cc36dddbeccda0b288","tarball":"https://registry.npmjs.org/@paralleldrive/react-feature-toggles/-/react-feature-toggles-2.1.1.tgz","fileCount":26,"integrity":"sha512-/GRfeBFipyosYB6HGr6ZFHyT4KxJ6oF5OSZn6JN0zsq3HXhrmPWRh6DUajxUqJOGi3i+PbpDTtvzfiJrWKM8Eg==","signatures":[{"sig":"MEQCIB1Ht4mTAkXHj4WZFi7pFB27CFIhIrzsNw7keCYpjUw7AiBLct0cG64wkCfYkFmC3l88gMzcA2/kKbt26KGl6XMTDg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":43116,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcss84CRA9TVsSAnZWagAAdwcQAJZyMUCUmyBjbqP8HTaU\nhxdp+LIHrtbTwINm2r79F3SMqJgmiZQA46Puxh5n/dHfyRYlqrzoQ6blx4I8\n9lsf/IdWscbf1bXMjsjGjuCgS7XiLrk/rLfDxx6uXIK20lXjWSEKA09kmmET\npLisbZJEohgr1tXrISS4qFEDGTGdhw0sCGhBQ37qOBIn+2velrKejZXzi3RO\n6JkXNZLmY4kMlNvpqFddvpG1LHCvLaIkYHgN03jHH6uTnpjKBt4z9D45UeBr\naGu5RUJ1vXKB6Yz7S7u7653uUqNhLUzCGxu3PbDLrfPLrVgEEIA2TM7+LHic\nKqFCgPJC/cWAOne37LurWntGu8F2q48Uc3jmvkWOXf6hLDVG+g7Ao5eLzef/\nS6weTtQMfbKXOP3iDLERMcAHkMavtF9PoWFlA9x9UnvopOmcU0jBVzhcfTgS\npM/sS2Pv+Z8+vXFPYAQ2X+M8hdiCbW+Ir9lPe8hQQvwTvra5cannW1ZPyDMR\nJSFl7/uZg+02Fpo9v61Jh0JdeGWvEeOEsZXle2rEOtdEpk5NvEzAnoM79s5B\nFZRFHmaioqWu+AYq3C+aXsLdJzdFUY9BH15xRGWjg1DM3AtO9KaijO/9Pbhk\nQqJ2wRYxx0jV18fluTqocOqK+Ke6noPzLKe1Q6Ld84I+ZzPZ58cfpZFfp7Va\nBHZX\r\n=fufT\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"typings/index.d.ts","engines":{"node":">=8.3"},"gitHead":"29dba25bb1cb12bfb44968a4dd808ca13c65527f","scripts":{"lint":"eslint src && echo '-- linting finished --'","test":"tape -r babel-register -r babel-polyfill test/unit.js","build":"babel src -d dist","watch":"watch 'reset && npm run --silent test' src","update":"updtr","prepare":"npm run build","prettier":"prettier --write 'src/**/*.js'","pretty-quick":"pretty-quick --staged","precommit-msg":"echo 'Pre-commit checks...' && exit 0","test:integration":"tape -r babel-register -r babel-polyfill test/integration"},"_npmUser":{"name":"kennylavender","email":"leapingfish@gmail.com"},"pre-commit":["lint","pretty-quick","test","test:integration"],"repository":{"url":"git+https://github.com/paralleldrive/react-feature-toggles.git","type":"git"},"_npmVersion":"6.4.1","description":"React Feature Toggles","directories":{},"_nodeVersion":"10.15.3","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"tape":"4.10.1","husky":"1.3.1","react":"16.8.6","updtr":"3.1.0","watch":"1.0.2","eslint":"5.16.0","cheerio":"0.22.0","riteway":"6.0.3","prettier":"1.17.0","babel-cli":"6.26.0","react-dom":"16.8.6","pre-commit":"1.2.2","prop-types":"15.7.2","deep-freeze":"0.0.1","babel-eslint":"10.0.1","pretty-quick":"1.10.0","babel-polyfill":"6.26.0","babel-register":"6.26.0","babel-preset-env":"1.7.0","babel-preset-react":"6.24.1","eslint-plugin-react":"7.12.4","babel-preset-stage-2":"6.24.1","eslint-config-prettier":"4.1.0"},"peerDependencies":{"react":">=16.3.2","react-dom":">=16.3.2","prop-types":">=15.6.1"},"_npmOperationalInternal":{"tmp":"tmp/react-feature-toggles_2.1.1_1555222328175_0.7385089411428569","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"@paralleldrive/react-feature-toggles","version":"2.2.0","keywords":["react","feature","toggle","toggles"],"author":{"name":"Parallel Drive, Inc"},"license":"MIT","_id":"@paralleldrive/react-feature-toggles@2.2.0","maintainers":[{"name":"ericelliott","email":"nospam@paralleldrive.com"},{"name":"kennylavender","email":"leapingfish@gmail.com"}],"homepage":"https://github.com/paralleldrive/react-feature-toggles#readme","bugs":{"url":"https://github.com/paralleldrive/react-feature-toggles/issues"},"dist":{"shasum":"49839686e7b535c2a09bf138298b8a195d39c356","tarball":"https://registry.npmjs.org/@paralleldrive/react-feature-toggles/-/react-feature-toggles-2.2.0.tgz","fileCount":26,"integrity":"sha512-uve+g7CVbEzgV7lRvt4M3ZdZESYA2CCjTOPNQM7mUFQgkZe8WpmnRCgrHzlZNn9DH2xTURREcjeCms9C9mwZ5Q==","signatures":[{"sig":"MEUCIQDblJlNCiEkDzR+OAXPLUDYP6BHelOmKbmaJitWGPoFwAIge2dBdjYV8did8+NjoafmGbRVGuh7FCmseos3ONZr+rY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":45328,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdoAY3CRA9TVsSAnZWagAA2Q0QAJ3Rx8OKM0bZ7+9LCN+d\nU6fh70ydSNQBhxIB2CBaGqBkVgVV5VUdRTbPHGhyrwE9OrREANRwaIKxeqtI\nCjJfubh1aMKD1Bmrqv/SFmRb/gaeSOX6OLOmwejVChPgVsidw73kBjGs78QZ\nN6Dc7ZWHDtdnTyiem6SnYke7PwAhBjB1pItiO5pcPF7RQaPpLoyUOOLrqkn0\nDzMs9/AjAn0MoBQHessRztp9vh3fEoWh+NhJohMoiYfXjHKbRde8EDL6q7jC\n1ymSLc0lwiZeWu53QdHdxY8QTCE5Ool/0gstt9nEHKp0seXqkoUJsPCyFXVY\nvg+ZSTBrhnQH/kGTj4I4Wf/xCV/ZZAIpEMkDJ2xoNfivH9GI7XTo0PChfCac\n2i/funD1IZwyY9mnmFZkzy/BfcjzgbHCq/Iwy2P+ewcQVqW4U6tshZcG/iyP\n3RcnxUTgWJbNjBYIMRPkMCRWc4CRmh3wdxQEpFCl9//yvQ932juljyvLWsxW\nYGwUPFgBMrLLQPudL9L6/w6Pv+UM1X61rIglkMwzTrOshBZ6YMd/+Ua771EJ\nOh2KSa0PTfcOhorUcGZJ80aqq/wTSWxy+dK3I3pu0nEdF2OkrfztJdBEoRba\nOsYLOGcL9vq2r1kGCbKIWYEq82lRdQEu1TA01/GbIzQ3Xf1x2uWS0dpQNNv5\nVfFa\r\n=y397\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"typings/index.d.ts","engines":{"node":">=8.3"},"gitHead":"c8ce9bb21ca556151ec215d4b9634e371841200b","scripts":{"lint":"eslint src && echo '-- linting finished --'","test":"tape -r babel-register -r babel-polyfill test/unit.js","build":"babel src -d dist","watch":"watch 'reset && npm run --silent test' src","update":"updtr","prepare":"npm run build","prettier":"prettier --write 'src/**/*.js'","pretty-quick":"pretty-quick --staged","precommit-msg":"echo 'Pre-commit checks...' && exit 0","test:integration":"tape -r babel-register -r babel-polyfill test/integration"},"_npmUser":{"name":"kennylavender","email":"leapingfish@gmail.com"},"pre-commit":["lint","pretty-quick","test","test:integration"],"repository":{"url":"git+https://github.com/paralleldrive/react-feature-toggles.git","type":"git"},"_npmVersion":"6.9.0","description":"React Feature Toggles","directories":{},"_nodeVersion":"10.15.3","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"tape":"4.11.0","husky":"3.0.8","react":"16.10.2","updtr":"3.1.0","watch":"1.0.2","eslint":"5.16.0","cheerio":"0.22.0","riteway":"6.1.0","prettier":"1.18.2","babel-cli":"6.26.0","react-dom":"16.10.2","pre-commit":"1.2.2","prop-types":"15.7.2","deep-freeze":"0.0.1","babel-eslint":"10.0.3","pretty-quick":"1.11.1","babel-polyfill":"6.26.0","babel-register":"6.26.0","babel-preset-env":"1.7.0","babel-preset-react":"6.24.1","eslint-plugin-react":"7.16.0","babel-preset-stage-2":"6.24.1","eslint-config-prettier":"4.3.0"},"peerDependencies":{"react":">=16.3.2","react-dom":">=16.3.2","prop-types":">=15.6.1"},"_npmOperationalInternal":{"tmp":"tmp/react-feature-toggles_2.2.0_1570768439178_0.6872409630889245","host":"s3://npm-registry-packages"}},"2.3.0":{"name":"@paralleldrive/react-feature-toggles","version":"2.3.0","keywords":["react","feature","toggle","toggles"],"author":{"name":"Parallel Drive, Inc"},"license":"MIT","_id":"@paralleldrive/react-feature-toggles@2.3.0","maintainers":[{"name":"ericelliott","email":"nospam@paralleldrive.com"},{"name":"kennylavender","email":"leapingfish@gmail.com"}],"homepage":"https://github.com/paralleldrive/react-feature-toggles#readme","bugs":{"url":"https://github.com/paralleldrive/react-feature-toggles/issues"},"dist":{"shasum":"f4257e70a9e50d36f5c19f5cf390bde4b7d9af62","tarball":"https://registry.npmjs.org/@paralleldrive/react-feature-toggles/-/react-feature-toggles-2.3.0.tgz","fileCount":30,"integrity":"sha512-O36T3vIGpwgab4vB4dPnk5X3D4A/hFDMgRCO33OLJxScqWb2BK2uO5H/ahfCfyXCv+BmDjsWH43GnwYUKgrfQQ==","signatures":[{"sig":"MEUCIH2SXXSwsvGkJHTrSbgpppb2x/rrwglmKek02MUMSui4AiEAjpnUoFddcnupMwYC6v5DK9tQ+vxiED1XJ/usEJC0Psg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55711,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeaygYCRA9TVsSAnZWagAAdnIP/1DwSQIsFgSBUZNpvonF\n8H/HbjXaIUMqVCqqYBz7bVK6/Ch7h4loxTCAABaCZjIHCdJNUX+dGBMDL+Xo\nZ2Iq9cQ93GnpurYVR43gb3Fr00YQoKeB9EQbxToSamp8c4+fdP7vQiIbLe53\nrIPCsYDfYxLBR9cPbkNE4yTbp4r0pA/ksxx7a+PXV/fwAG1uetbYjG3F9OmV\nwATzhUdgumemhIEZI1WxDSM9V9VPPFnoVnyPW1Krdv5j/+D4u08MRzFJYIaa\nCHb8Vb232/VvTuV45VFQr+NY6qtfMXndkS7D7tBGFuOlJXaBdEvcKppHkjGJ\nRJhEd22vjBXd/llT1M7uIQ8w2LfwreEderjb9HNj+h5Zgi3jGVye7jzGIRQ3\nnKmw190mmjJXp6PGueL8SxttRXGTuZ1bKNDjh/imjUX+ZH57H0BmZafnDsq+\nwAd5grlJCUrmvRDjoUPRu4XyyW2ZvSqvmZNOYpk68Rf7Q/PmgNqiifB2DEzd\nPqdWbX/VFz4MCFJfCA6cnASjIVTK4f+XI67OCC2LDYcvDPNERb1ZG41/Wozc\nhvb4sC34q0UAhl97SlvdSq/CO5FmFbQCRPe/CqGS4eEDVyu6JYQkdFIMl6yj\nd+ybIWRLVzlmTLiXFgXKAO3sr5hZZ5mOuUIJS1kb35Aop7R7xtKw7EYCLB9/\nq7aq\r\n=/YRZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"typings/index.d.ts","engines":{"node":">=8.3"},"gitHead":"2ce6f5a9b2a3d29b12937f525ed098b2cd512bbe","scripts":{"lint":"eslint src && echo '-- linting finished --'","test":"tape -r babel-register -r babel-polyfill test/unit.js","build":"babel src -d dist","watch":"watch 'reset && npm run --silent test' src","update":"updtr","prepare":"npm run build","prettier":"prettier --write 'src/**/*.js'","pretty-quick":"pretty-quick --staged","precommit-msg":"echo 'Pre-commit checks...' && exit 0","test:integration":"tape -r babel-register -r babel-polyfill test/integration"},"_npmUser":{"name":"kennylavender","email":"leapingfish@gmail.com"},"pre-commit":["lint","pretty-quick","test","test:integration"],"repository":{"url":"git+https://github.com/paralleldrive/react-feature-toggles.git","type":"git"},"_npmVersion":"6.9.0","description":"React Feature Toggles","directories":{},"_nodeVersion":"10.15.3","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"tape":"4.13.2","husky":"3.1.0","react":"16.13.0","updtr":"3.1.0","watch":"1.0.2","eslint":"6.8.0","cheerio":"0.22.0","riteway":"6.1.1","prettier":"1.19.1","babel-cli":"6.26.0","react-dom":"16.13.0","pre-commit":"1.2.2","prop-types":"15.7.2","deep-freeze":"0.0.1","babel-eslint":"10.1.0","pretty-quick":"1.11.1","babel-polyfill":"6.26.0","babel-register":"6.26.0","babel-preset-env":"1.7.0","babel-preset-react":"6.24.1","eslint-plugin-react":"7.19.0","babel-preset-stage-2":"6.24.1","eslint-config-prettier":"4.3.0"},"peerDependencies":{"react":">=16.3.2","react-dom":">=16.3.2","prop-types":">=15.6.1"},"_npmOperationalInternal":{"tmp":"tmp/react-feature-toggles_2.3.0_1584080919734_0.5984486856147022","host":"s3://npm-registry-packages"}},"2.3.1":{"name":"@paralleldrive/react-feature-toggles","version":"2.3.1","keywords":["react","feature","toggle","toggles"],"author":{"name":"Parallel Drive, Inc"},"license":"MIT","_id":"@paralleldrive/react-feature-toggles@2.3.1","maintainers":[{"name":"ericelliott","email":"nospam@paralleldrive.com"},{"name":"kennylavender","email":"leapingfish@gmail.com"}],"homepage":"https://github.com/paralleldrive/react-feature-toggles#readme","bugs":{"url":"https://github.com/paralleldrive/react-feature-toggles/issues"},"dist":{"shasum":"7b4f105fcb003fd22a875f7718a737ec78751add","tarball":"https://registry.npmjs.org/@paralleldrive/react-feature-toggles/-/react-feature-toggles-2.3.1.tgz","fileCount":30,"integrity":"sha512-GJbpD2R+h2s1SjlZgFGSlAMHSMJLJYuGk/0GMiVzubOchOun/dIZXp8HqYvNXvr4yOFU4Ocsgd8BgribBZIGrw==","signatures":[{"sig":"MEUCIH4cfuEvviGMaHGguvsxR82N/GVgUduAIHSCR3/6WR5yAiEA8Vu0bcb97jswMbiqPBBJpCA22wVCsz2o4QlwUCCM4SU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe5C/+CRA9TVsSAnZWagAAMUMP/iwcHTkRLIW6U+b482iP\n8M89K6xav9rKH/Km8KyLkS0OuSl6/7Up3elZO8WEwzmrQkaGUDaJSo4hFQ7L\n98ilXAQP2ojoD+YpmRFS7QFOzDBM1pX2vNLQOOwk9zSHnlL0urnvcVuEvf4O\nuZUG31jBmzUZDTzqWNEJMYjQbYppqgGRRmjaIdvFsaR2bmCNKWMGTGgJK9Oq\npSxvVSnmshKznNlp1bfOTmIokbqCC/ydROCCKGSqVsUlr7fZ3LhkvRRjKVf9\nz/xMf1+8qTmz0jfgBvGqdR7MQEc4CL4t9MzSmWstaSH0w/qnEvImT4y6ZwwG\nz3e50d3ORRVWv/JhJz4a9NhKvbKuaUaYAHKFHLi7YitCtctDgfTXnSAXo6ju\nomody8yjFd21QbNolllJcq0GSE1P8rIV8W8SDFeI58Hl8CnzNSB3qyRxB1Y0\nm1lSNbxNx8WWApntiEOBI/Fv2vcJhvTL53l8MDLXiOSrUN+6SUQnupCd8Oju\nyO6AEyYN7L2TeXA4CBbanBrdm0QdrpbwXtDHYN5PZJBsH1F5blnxi1aIk5U/\nS4e4RgbRlwiMShxQYyA+zK2F3V5XwtabAsxwwJCso0k+H4c2dqbJ9RSyLzi4\n/LwlKfEJvoLTBMdgvcCUgZUaXqXOiAgWEYtlbURK1CHuOxRNuuhkcjJGNgOx\nqOl7\r\n=Rk8w\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"typings/index.d.ts","engines":{"node":">=8.3"},"gitHead":"a8aa14471e7cc0fe3d8e22ab67835253c6b44132","scripts":{"lint":"eslint src && echo '-- linting finished --'","test":"tape -r babel-register -r babel-polyfill test/unit.js","build":"babel src -d dist","watch":"watch 'reset && npm run --silent test' src","update":"updtr","prepare":"npm run build","prettier":"prettier --write 'src/**/*.js'","pretty-quick":"pretty-quick --staged","precommit-msg":"echo 'Pre-commit checks...' && exit 0","test:integration":"tape -r babel-register -r babel-polyfill test/integration"},"_npmUser":{"name":"kennylavender","email":"leapingfish@gmail.com"},"pre-commit":["lint","pretty-quick","test","test:integration"],"repository":{"url":"git+https://github.com/paralleldrive/react-feature-toggles.git","type":"git"},"_npmVersion":"6.9.0","description":"React Feature Toggles","directories":{},"_nodeVersion":"10.15.3","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"tape":"4.13.3","husky":"3.1.0","react":"16.13.1","updtr":"3.1.0","watch":"1.0.2","eslint":"6.8.0","cheerio":"0.22.0","riteway":"6.1.2","prettier":"1.19.1","babel-cli":"6.26.0","react-dom":"16.13.1","pre-commit":"1.2.2","prop-types":"15.7.2","deep-freeze":"0.0.1","babel-eslint":"10.1.0","pretty-quick":"1.11.1","babel-polyfill":"6.26.0","babel-register":"6.26.0","babel-preset-env":"1.7.0","babel-preset-react":"6.24.1","eslint-plugin-react":"7.20.0","babel-preset-stage-2":"6.24.1","eslint-config-prettier":"6.11.0"},"peerDependencies":{"react":">=16.3.2","react-dom":">=16.3.2","prop-types":">=15.6.1"},"_npmOperationalInternal":{"tmp":"tmp/react-feature-toggles_2.3.1_1592012798209_0.30723677572924823","host":"s3://npm-registry-packages"}}},"time":{"created":"2017-08-28T02:30:28.498Z","modified":"2026-03-24T08:42:12.958Z","1.0.0":"2017-08-28T02:30:28.498Z","1.0.1":"2017-08-31T20:54:48.045Z","1.0.2":"2017-08-31T23:30:55.310Z","1.0.3":"2017-09-01T04:06:56.098Z","1.0.4":"2017-09-04T22:16:37.789Z","1.1.0":"2017-11-21T05:09:14.245Z","1.2.0":"2017-12-05T04:59:51.772Z","1.3.0":"2018-01-03T03:47:15.978Z","1.3.1":"2018-02-08T21:05:26.640Z","1.4.0":"2018-02-10T01:37:25.863Z","2.0.0-beta1":"2018-06-13T18:09:16.893Z","2.0.0-beta2":"2018-06-20T21:27:24.143Z","2.0.0-beta3":"2018-07-27T20:22:55.060Z","2.0.0":"2018-07-30T18:32:47.930Z","2.0.1":"2018-07-31T20:56:26.794Z","2.0.2":"2018-09-12T01:15:11.375Z","2.1.0":"2019-02-08T03:32:51.994Z","2.1.1":"2019-04-14T06:12:08.355Z","2.2.0":"2019-10-11T04:33:59.512Z","2.3.0":"2020-03-13T06:28:39.900Z","2.3.1":"2020-06-13T01:46:38.455Z"},"bugs":{"url":"https://github.com/paralleldrive/react-feature-toggles/issues"},"author":{"name":"Parallel Drive, Inc"},"license":"MIT","homepage":"https://github.com/paralleldrive/react-feature-toggles#readme","keywords":["react","feature","toggle","toggles"],"repository":{"url":"git+https://github.com/paralleldrive/react-feature-toggles.git","type":"git"},"description":"React Feature Toggles","maintainers":[{"email":"nospam@paralleldrive.com","name":"ericelliott"},{"email":"krisnye@gmail.com","name":"krisnye"},{"email":"jan@earlynode.com","name":"janhesters"}],"readme":"# React Feature Toggles\n\n[![Build Status](https://travis-ci.com/paralleldrive/react-feature-toggles.svg?token=Ba8H1FN3UT5CqqFhs2AM&branch=master)](https://travis-ci.com/paralleldrive/react-feature-toggles)[![Known Vulnerabilities](https://snyk.io/test/github/paralleldrive/react-feature-toggles/badge.svg?targetFile=package.json)](https://snyk.io/test/github/paralleldrive/react-feature-toggles?targetFile=package.json)\n\n## Version 2\n\nThis is version 2, it contains many breaking changes from version 1.\n\n## Requirements\n\nReact Feature Toggles attempts to satisfy the following requirements:\n\n- Universal - server and client side\n- Conditionally render components based on the presence or absence of a specific feature\n\n\n## Install\n\n```\nnpm install --save @paralleldrive/react-feature-toggles\n```\n\n## Basic Usage\n\n```js\nimport { FAQComponent } from '../features/faq';\nimport { NotFoundComponent } from '../features/404-page';\nimport { FeatureToggles, Feature } from '@paralleldrive/react-feature-toggles';\n\nconst features = ['faq', 'foo', 'bar'];\n\nconst MyApp = () => {\n  return (\n    <FeatureToggles features={features}>\n      <Feature\n        name=\"faq\"\n        inactiveComponent={NotFoundComponent}\n        activeComponent={FAQComponent}\n      />\n    </FeatureToggles>\n  );\n};\n```\n\n## API\n\n### Components\n\n#### FeatureToggles\n\n`FeatureToggles` is a provider component.\n\n**props**\n\n- features = []\n\n```js\nimport { FeatureToggles } from '@paralleldrive/react-feature-toggles';\n\nconst features = ['foo', 'bar', 'baz', 'cat'];\n\nconst MyApp = () => {\n  return <FeatureToggles features={features}>{...stuff}</FeatureToggles>;\n};\n```\n\n#### Feature\n\n`Feature` is a consumer component.\n\nIf the feature is enabled then the _activeComponent_ will render else it renders the _inactiveComponent_.\n\nFeature takes these **props**\n\n- name = \"\"\n- inactiveComponent = noop\n- activeComponent = null\n\n```js\nimport { FeatureToggles, Feature } from '@paralleldrive/react-feature-toggles';\n\nconst MyApp = () => {\n  return (\n    <FeatureToggles>\n      <Feature\n        name=\"faq\"\n        inactiveComponent={NotFoundComponent}\n        activeComponent={FAQComponent}\n      />\n      <Feature\n        name=\"help\"\n        inactiveComponent={NotFoundComponent}\n        activeComponent={HelpComponent}\n      />\n    </FeatureToggles>\n  );\n};\n```\n\nAlternatively, you can use `Feature` as a render prop component. Do this by passing a function as the children to the `Feature` component. Note: This will only work if an `activeComponent` is not provided.\n\n```js\nimport { FeatureToggles, Feature } from '@paralleldrive/react-feature-toggles';\nimport { isActiveFeatureName } from '@paralleldrive/feature-toggles';\nconst MyApp = () => {\n  return (\n    <FeatureToggles>\n      <Feature>\n        {({ features }) =>\n          isActiveFeatureName('bacon', features)\n            ? 'The bacon feature is active'\n            : 'Bacon is inactive'\n        }\n      </Feature>\n    </FeatureToggles>\n  );\n};\n```\n\n### Higher Order Components\n\n#### withFeatureToggles\n\n`({ features = [...String] } = {}) => Component => Component`\n\nYou can use `withFeatureToggles` to compose your page functionality.\n\n```js\nimport MyPage from '../feautures/my-page';\nimport { withFeatureToggles } from '@paralleldrive/react-feature-toggles';\n\nconst features = ['foo', 'bar', 'baz', 'cat'];\n\nexport default = compose(\n  withFeatureToggles({ features }),\n  // ... other page HOC imports\n  hoc1,\n  hoc2,\n);\n```\n\nDepending on your requirements, you might need something slightly different than the default `withFeatureToggles`. The default `withFeatureToggles` should serve as a good example to create your own.\n\n#### configureFeature\n\n`(inactiveComponent: Component) => (name: String) => (activeComponent: Component) => Component`\n\n`configureFeature` is a higher order component that allows you to configure a `Feature` component.\n\n`configureFeature` is autocurried, so you can call it with one or more of its arguments to create a partial application of the function. In the following example, `featureOr404()` is a partial application of `configureFeature()`:\n\n```js\nimport { FeatureToggles } from '@paralleldrive/react-feature-toggles';\nconst NotFoundPage = () => <div>404</div>;\nconst ChatPage = () => <div>Chat</div>;\n\nconst featureOr404 = configureFeature(NotFoundPage);\nconst Chat = featureOr404('chat', ChatPage);\n\nconst features = ['foo', 'bar', 'chat'];\n\nconst myPage = () => (\n  <FeatureToggles features={features}>\n    <Chat />\n  </FeatureToggles>\n);\n```\n\n#### withFeatures\n\nIf you'd prefer to directly access the list of active Features, you can obtain a `features` prop with the HoC:\n\n```js\nimport { withFeatures } from '@paralleldrive/react-feature-toggles';\n\nfunction MyButton({ title, features }) {\n    return (\n        <Button disabled={features.includes('disable-login-button')}>{title}</Button>\n    );\n}\nexport default withFeatures(MyButton);\n```\n\n#### useFeatures\n\nIf you're using React >= 16.8, you can access the active Features with the `useFeatures()` hook:\n\n```js\nimport { useFeatures } from '@paralleldrive/react-feature-toggles';\n\nexport default function MyButton({ title }) {\n    const features = useFeatures();\n    return (\n        <Button disabled={features.includes('disable-login-button')}>{title}</Button>\n    );\n}\n```\n\n## Enabling features from the URL\n\nIn v2, query logic has been moved out of the provider component. You should now handle this logic before passing features to `FeatureToggles`\n\n```js\nimport { FeatureToggles } from '@paralleldrive/react-feature-toggles';\nimport {\n  getCurrentActiveFeatureNames\n} from '@paralleldrive/feature-toggles';\nimport parse from 'url-parse';\n\nconst url = 'https://domain.com/foo?ft=foo,bar';\nconst query = parse(url, true);\n\nconst initialFeatures = [\n  { name: 'foo', isActive: true },\n  { name: 'bar', isActive: false },\n  { name: 'baz', isActive: false }\n];\n\nconst features = getCurrentActiveFeatureNames({\n  initialFeatures,\n  req: { query }\n});\n\nconst MyApp = () => {\n  return <FeatureToggles features={features}>{...stuff}</FeatureToggles>;\n};\n```\n","readmeFilename":"README.md"}