{"_id":"federal","_rev":"13-5837d1ad12ac891399d13e03479fc327","name":"federal","time":{"modified":"2022-06-18T00:03:05.067Z","created":"2017-01-19T18:52:02.153Z","0.0.0":"2017-01-19T18:52:02.153Z","0.0.1-alpha.1":"2017-09-10T22:06:54.085Z","0.0.1-alpha.2":"2017-09-10T22:23:07.594Z","0.0.1-alpha.3":"2017-09-10T22:43:14.020Z","0.0.1-alpha.4":"2017-09-10T23:06:50.828Z","0.0.1-alpha.5":"2017-11-25T22:06:19.902Z","0.0.1-alpha.6":"2017-11-25T22:12:28.141Z","0.0.1-alpha.7":"2017-12-03T00:15:47.898Z","0.0.1":"2017-12-07T20:55:31.507Z","0.0.2":"2018-02-01T01:29:53.232Z"},"maintainers":[{"name":"tmarshall","email":"timothyjmarshall@gmail.com"}],"dist-tags":{"latest":"0.0.2"},"description":"Minimalistic centralized React store","readme":"# Federal\n\nMinimalistic centralized React store\n\n## Why?\n\nFederal wraps your react components, creating a centralized data store. It's similar to [Redux](https://github.com/reactjs/react-redux), in a lot of ways.\n\nRedux is great, and is often the right choice. But, sometimes it adds too much complexity to set up a simple page; As in [their todo list example](http://redux.js.org/docs/basics/ExampleTodoList.html), there's a main `index.js`, `actions/index.js`, `reducers/todo.js`, `reducers/visibilityFilter.js`, `reducers/index.js`, and finally the presentation components. All for a simple todo.\n\nFederal takes the 'less is more' approach. In any file that uses Federal, you simply need to provide an intial store object, and an object of actions (e.g. `actions/index.js`). Then, you can `connect()` any component to the store, which will result in it receiving store `.props`, including `.props.dispatch` for each action method (e.g. `this.props.dispatch.setStatus('status')`).\n\n## Can I use this in Production?\n\nOf course! It's currently being used, in production, on [Conjure](https://conjure.sh).\n\n## Setup\n\n```bash\nnpm install --save federal\n```\n\n## Use\n\n### Simple Example\n\nThis example uses Federal to wrap a page content with a centralized store, and then has a child component (`<Header />`) connect to the store, which allows it to render the user's name.\n\n#### pages/dashboard/index.js\n\n```jsx\nimport Federal from 'federal';\nimport Header from '../../components/Header';\n\n// assume `account` is passed in as a prop\nexport default ({ account }) => {\n  const initialStore = {\n    account\n  };\n\n  return (\n    <Federal store={initialStore}>\n      <Header />\n    </Federal>\n  );\n};\n```\n\n#### components/Header/index.js\n\n```jsx\nimport { connect } from 'federal';\n\nconst Header = ({ account }) => (\n  <header>\n    <dl>\n      <dt>User</dt>\n      <dd>{account.name}</dd>\n    </dl>\n  </header>\n);\n\n// using `connect()` will bind `<Header />` to the full store object\nexport default connect()(Header);\n```\n\n### Selectors\n\nLet's say the above example's `initialStore` changes to something like this:\n\n```jsx\nconst initialStore = {\n  account,\n  products,\n  notices\n};\n```\n\nIn this case, you don't want or need `products` or `notices` in order to render `<Header />`. You can use a selector to minimize the scope of the store changes passed to a component. Selectors are passed to `connect()`.\n\n```jsx\nconst selector = store => ({\n  account: store.account\n});\n\nexport default connect(selector)(Header);\n```\n\n### Actions\n\nAdding actions allows you to dispatch a change to the central store. A dispatch will then ripple and update to any subscribed components.\n\nActions must return a new object, or Federal will consider nothing to have changed.\n\n#### pages/dashboard/index.js\n\n```jsx\nimport Federal from 'federal';\nimport CountSummary from '../../components/CountSummary';\nimport CountInteractions from '../../components/CountInteractions'\nimport actions from './actions';\n\nexport default () => {\n  const initialStore = {\n    count: 0\n  };\n\n  return (\n    <Federal store={initialStore} actions={actions}>\n      <CountSummary />\n      <CountInteractions />\n    </Federal>\n  );\n};\n```\n\n#### pages/dashboard/actions/index.js\n\n```jsx\nconst resetCount = store => {\n  return Object.assign({}, store, {\n    count: 0\n  });\n};\n\n// second arg to each action is an object, that can be passed when dispatching\nconst addToCount = (store, { addition }) => {\n  return Object.assign({}, store, {\n    count: store.count + addition\n  });\n};\n\nexport default {\n  resetCount,\n  addToCount\n};\n```\n\n#### components/CountSummary/index.js\n\n```jsx\nimport { connect } from 'federal';\n\nconst CountSummary = ({ count }) => (\n  <div>Current count is {count}</div>\n);\n\nexport default connect()(CountSummary);\n```\n\n#### components/CountInteractions/index.js\n\n```jsx\nimport { connect } from 'federal';\n\n// `connect()` passed a `dispatch` prop that exposes all actions to the component\nconst CountInteractions = ({ dispatch }) => (\n  <div>\n    <div>\n      <button\n        type='button'\n        onClick={() => {\n          dispatch.addToCount({\n            addition: 1 // can be modified to increment faster\n          });\n        }}\n      >\n        increment count\n      </button>\n    </div>\n    <div>\n      <button\n        type='button'\n        onClick={() => {\n          dispatch.resetCount();\n        }}\n      >\n        reset count\n      </button>\n    </div>\n  </div>\n);\n\nexport default connect()(CountInteractions);\n```\n\n### Action Callbacks\n\nActions have an optional callback.\n\n```jsx\ndispatch.addToCount({\n  addition: 1\n}, () => {\n  // ...\n});\n```\n\n### Actions via `connect()`\n\nA component may have local actions, while `<Federal>` is rendered at a different level in the layout. You can append action handlers to the connected components.\n\n```jsx\nconst removeFromCount = (store, { deduction }) => {\n  return Object.assign({}, store, {\n    count: store.count - deduction\n  });\n};\n\n// action .removeFromCount() added to CountSummary.props.dispatch,\n// while still including all root-level actions\nexport default connect(state => state, { removeFromCount })(CountSummary);\n```\n","versions":{"0.0.1-alpha.1":{"name":"federal","version":"0.0.1-alpha.1","description":"Minimalistic centralized React store","main":"./dist/federal.js","bugs":{"url":"https://github.com/ConjureLabs/federal/issues"},"homepage":"https://github.com/ConjureLabs/federal","scripts":{"build":"babel src --out-dir dist","pretest":"bash ./bash/npm/lint.sh","test":"echo \"Error: no test specified\" && exit 1"},"license":"MIT","dependencies":{"prop-types":"^15.5.10","react":"^15.6.1"},"devDependencies":{"babel-cli":"^6.26.0","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-react-jsx":"^6.24.1","babel-plugin-transform-react-remove-prop-types":"^0.4.8","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1"},"gitHead":"baa968a84ba13bc21b8937c6973fd047efb9ffe7","_id":"federal@0.0.1-alpha.1","_shasum":"7109a1f358f7a6d4cf920275cc4d504ad481d93e","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"tmarshall","email":"timothyjmarshall@gmail.com"},"dist":{"shasum":"7109a1f358f7a6d4cf920275cc4d504ad481d93e","tarball":"https://registry.npmjs.org/federal/-/federal-0.0.1-alpha.1.tgz","integrity":"sha512-rXKjB7LBFIcP+tLtF23dzlWVTwyPgP9Ygl5D2AKhVpBAtwPO3vGVK+ksNxypRgK08vRzjvM+u3h7a6WVqJIobQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCg95p/JAyg45teTkKsYPNJE8R2VHb69ArXkgTqnIRDeQIgM7Vd7+VuGmtS01dGUkcPQBxzpR/U4+50BrPott2OQbI="}]},"maintainers":[{"name":"tmarshall","email":"timothyjmarshall@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/federal-0.0.1-alpha.1.tgz_1505081214020_0.32140544918365777"}},"0.0.1-alpha.2":{"name":"federal","version":"0.0.1-alpha.2","description":"Minimalistic centralized React store","main":"./dist/federal.js","bugs":{"url":"https://github.com/ConjureLabs/federal/issues"},"homepage":"https://github.com/ConjureLabs/federal","scripts":{"build":"babel src --out-dir dist","prepublish":"npm run build","pretest":"npm run lint","lint":"bash ./bash/npm/lint.sh","test":"echo \"missing unit tests\"; exit 1;"},"license":"MIT","dependencies":{"prop-types":"^15.5.10","react":"^15.6.1"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^7.2.3","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-react-jsx":"^6.24.1","babel-plugin-transform-react-remove-prop-types":"^0.4.8","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","eslint":"^4.6.1","jscs":"^3.0.7"},"gitHead":"05e9b5669703fe817b36247b069c5673fb786bc0","_id":"federal@0.0.1-alpha.2","_shasum":"c1941d5114e4308059695afa8a961d95b23ae8b4","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"tmarshall","email":"timothyjmarshall@gmail.com"},"dist":{"shasum":"c1941d5114e4308059695afa8a961d95b23ae8b4","tarball":"https://registry.npmjs.org/federal/-/federal-0.0.1-alpha.2.tgz","integrity":"sha512-L1dRjX8RT3pXSCEUo1zlCICKupQSXTOvEYA3K0wXVhm+qQ0wrFlR+8i+QI8kgf2bwnqe+A6AaOG/DH3zzEMAbg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHJARLSRPENKHWWE1C9IlBOXLSRlqFnYlCK2B5CGvN99AiEAmmD+DSjBNPcJpipOGaX8ufKnK0kj0NkBwNPLhC7J/Bk="}]},"maintainers":[{"name":"tmarshall","email":"timothyjmarshall@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/federal-0.0.1-alpha.2.tgz_1505082187400_0.2680919363629073"}},"0.0.1-alpha.3":{"name":"federal","version":"0.0.1-alpha.3","description":"Minimalistic centralized React store","main":"./dist/federal.js","bugs":{"url":"https://github.com/ConjureLabs/federal/issues"},"homepage":"https://github.com/ConjureLabs/federal","scripts":{"build":"babel src --out-dir dist","prepublish":"npm run build","pretest":"npm run lint","lint":"bash ./bash/npm/lint.sh","test":"echo \"missing unit tests\"; exit 1;"},"license":"MIT","files":["dist"],"dependencies":{"prop-types":"^15.5.10","react":"^15.6.1"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^7.2.3","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-react-jsx":"^6.24.1","babel-plugin-transform-react-remove-prop-types":"^0.4.8","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","eslint":"^4.6.1","jscs":"^3.0.7"},"gitHead":"94523af02a1be77db23c85ee5d20e840e73932c1","_id":"federal@0.0.1-alpha.3","_shasum":"335a421ddbcc44270bd160ebcf1300bdc30a2f5b","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"tmarshall","email":"timothyjmarshall@gmail.com"},"dist":{"shasum":"335a421ddbcc44270bd160ebcf1300bdc30a2f5b","tarball":"https://registry.npmjs.org/federal/-/federal-0.0.1-alpha.3.tgz","integrity":"sha512-86jD5YmqpFCfrnqhZhjztZnVXdsY/vqvWnCSkvhywSR/WXFy+FrCLu0rAaV7dOjQ2a/S+dPU7/3SJPBaGfQtSw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDXw5zqOipstErZ5c/jvokc0RyV6VsKYg+R9x07WOvbKwIhAPQsPf3fbQcztb8HpPhywj9qkgGRcmCmqa1WcKN2x/Xj"}]},"maintainers":[{"name":"tmarshall","email":"timothyjmarshall@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/federal-0.0.1-alpha.3.tgz_1505083393837_0.21006569382734597"}},"0.0.1-alpha.4":{"name":"federal","version":"0.0.1-alpha.4","description":"Minimalistic centralized React store","main":"./dist/federal.js","bugs":{"url":"https://github.com/ConjureLabs/federal/issues"},"homepage":"https://github.com/ConjureLabs/federal","scripts":{"build":"babel src --out-dir dist","prepublish":"npm run build","pretest":"npm run lint","lint":"bash ./bash/npm/lint.sh","test":"echo \"missing unit tests\"; exit 1;"},"license":"MIT","files":["dist"],"dependencies":{"prop-types":"^15.5.10","react":"^15.6.1"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^7.2.3","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-react-jsx":"^6.24.1","babel-plugin-transform-react-remove-prop-types":"^0.4.8","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","eslint":"^4.6.1","jscs":"^3.0.7"},"gitHead":"7122802541b1d00150c6a212ca47aca5a93a1a93","_id":"federal@0.0.1-alpha.4","_shasum":"fd5530d969a60fc177dff4f3b21dd8b931b81819","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"tmarshall","email":"timothyjmarshall@gmail.com"},"dist":{"shasum":"fd5530d969a60fc177dff4f3b21dd8b931b81819","tarball":"https://registry.npmjs.org/federal/-/federal-0.0.1-alpha.4.tgz","integrity":"sha512-HdwDtGUHr4jgi9KQ7Au689Aq//VMeN2m/JDSgCPtihZZkKS1Btgf3TRk/mKCBh9XOmGJ5g3codxKaMmyznLF0g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD8wOUCw0JIUqSGTUsq71PbLF0ym8bNBU/StxtJEA155wIgcV7zkc2dxCIVNnrqMJChLRPpfDfQwlbRxwyZq8exjUc="}]},"maintainers":[{"name":"tmarshall","email":"timothyjmarshall@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/federal-0.0.1-alpha.4.tgz_1505084810342_0.28441672306507826"}},"0.0.1-alpha.5":{"name":"federal","version":"0.0.1-alpha.5","description":"Minimalistic centralized React store","main":"./dist/federal.js","bugs":{"url":"https://github.com/ConjureLabs/federal/issues"},"homepage":"https://github.com/ConjureLabs/federal","scripts":{"build":"babel src --out-dir dist","prepublish":"npm run build","pretest":"npm run lint","lint":"bash ./bash/npm/lint.sh","test":"echo \"missing unit tests\"; exit 1;"},"license":"MIT","files":["dist"],"dependencies":{"prop-types":"^15.5.10","react":"^15.6.1"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^7.2.3","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-react-jsx":"^6.24.1","babel-plugin-transform-react-remove-prop-types":"^0.4.8","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","eslint":"^4.6.1","jscs":"^3.0.7"},"gitHead":"a2f853b7d931f387ff241a510aec868c9102b0e8","_id":"federal@0.0.1-alpha.5","_npmVersion":"5.5.1","_nodeVersion":"8.7.0","_npmUser":{"name":"tmarshall","email":"timothyjmarshall@gmail.com"},"dist":{"integrity":"sha512-k0LOmwbnFb+2IgNEQRG4ITiy9bfkBHcSsQI00h+zlncyfm0kQIJ5IQuzt3cKp4MLGQ3Qtq99kSnTyP/MoF2YFw==","shasum":"3c28f2cabc96edd6d1365a5435947c806b118ef6","tarball":"https://registry.npmjs.org/federal/-/federal-0.0.1-alpha.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBeE+IuJRRaRAdUpSITAa+zlp7obBzDcyLeHHcfSICTtAiEAnM7+eXfqnrZ4Cj8XeWMsh2E/iAdGOb0KreAMgPJjgUA="}]},"maintainers":[{"name":"tmarshall","email":"timothyjmarshall@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/federal-0.0.1-alpha.5.tgz_1511647579067_0.5552734960801899"}},"0.0.1-alpha.6":{"name":"federal","version":"0.0.1-alpha.6","description":"Minimalistic centralized React store","main":"./dist/federal.js","bugs":{"url":"https://github.com/ConjureLabs/federal/issues"},"homepage":"https://github.com/ConjureLabs/federal","scripts":{"build":"babel src --out-dir dist","prepublish":"npm run build","pretest":"npm run lint","lint":"bash ./bash/npm/lint.sh","test":"echo \"missing unit tests\"; exit 1;"},"license":"MIT","files":["dist"],"dependencies":{"prop-types":"^15.5.10","react":"^15.6.1"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^7.2.3","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-react-jsx":"^6.24.1","babel-plugin-transform-react-remove-prop-types":"^0.4.8","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","eslint":"^4.6.1","jscs":"^3.0.7"},"gitHead":"b91c7e1eba396cb9bf80b5cdb71ad0ec399418d1","_id":"federal@0.0.1-alpha.6","_npmVersion":"5.5.1","_nodeVersion":"8.7.0","_npmUser":{"name":"tmarshall","email":"timothyjmarshall@gmail.com"},"dist":{"integrity":"sha512-IAn+ccvg6TvSuu3k4Om7cU+z8o/qfEcVMbrj9F9Tig6uR8ftCUy2j1eHNpeFdFZ7Yd/ktT+zT6OIjjkD9OxlnQ==","shasum":"1ee01553fde993eccee5af82974ae485aa12355f","tarball":"https://registry.npmjs.org/federal/-/federal-0.0.1-alpha.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHS77A7vPzf+tHjJVms1Xzh47ziHA73sWP0g2OwW5hlVAiA1+bOnFeqH2k0vSlYe4cOnV08Kd87AdZy2dikV8Qt0qw=="}]},"maintainers":[{"name":"tmarshall","email":"timothyjmarshall@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/federal-0.0.1-alpha.6.tgz_1511647947160_0.014505514409393072"}},"0.0.1-alpha.7":{"name":"federal","version":"0.0.1-alpha.7","description":"Minimalistic centralized React store","main":"./dist/federal.js","bugs":{"url":"https://github.com/ConjureLabs/federal/issues"},"homepage":"https://github.com/ConjureLabs/federal","scripts":{"build":"babel src --out-dir dist","prepublish":"npm run build","pretest":"npm run lint","lint":"bash ./bash/npm/lint.sh","test":"echo \"missing unit tests\"; exit 1;"},"license":"MIT","files":["dist"],"dependencies":{"prop-types":"15.6.0","react":"16.2.0"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^7.2.3","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-react-jsx":"^6.24.1","babel-plugin-transform-react-remove-prop-types":"^0.4.8","babel-plugin-transform-runtime":"^6.23.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","eslint":"^4.6.1","jscs":"^3.0.7"},"gitHead":"31b1408f27ebfce019ed2e1efb58e297b6630fe7","_id":"federal@0.0.1-alpha.7","_npmVersion":"5.5.1","_nodeVersion":"8.7.0","_npmUser":{"name":"tmarshall","email":"timothyjmarshall@gmail.com"},"dist":{"integrity":"sha512-Xa6gYwrha6cQPvOM1wLpLxcz3nT5kuK2+JO5W7gmZarWO0rTe9RgfFnqgOxMCmShEMqJb/isvu/T8VG63CcY4Q==","shasum":"c4ddb19bd94b23797e97ba2d2e6e51eb4dcebf14","tarball":"https://registry.npmjs.org/federal/-/federal-0.0.1-alpha.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDjQBVn+CuQ8arLf4soK8gLPuyfVA8qRikzwwELe3Hb8QIhAPjpz5C+HEGhWIl/0TyHdGMAGPGM7DHUCcRg/HQchIei"}]},"maintainers":[{"name":"tmarshall","email":"timothyjmarshall@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/federal-0.0.1-alpha.7.tgz_1512260147721_0.8279800899326801"}},"0.0.1":{"name":"federal","version":"0.0.1","description":"Minimalistic centralized React store","main":"./dist/federal.js","bugs":{"url":"https://github.com/ConjureLabs/federal/issues"},"homepage":"https://github.com/ConjureLabs/federal","scripts":{"build":"babel src --out-dir dist","prepublish":"npm run build","pretest":"npm run lint","lint":"bash ./bash/npm/lint.sh","test":"NODE_ENV=test ava test"},"license":"MIT","files":["dist"],"dependencies":{"prop-types":"15.6.0","react":"16.2.0"},"devDependencies":{"ava":"0.24.0","babel-cli":"^6.26.0","babel-eslint":"^7.2.3","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-react-jsx":"^6.24.1","babel-plugin-transform-react-remove-prop-types":"^0.4.8","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"6.26.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","enzyme":"3.2.0","enzyme-adapter-react-16":"1.1.0","eslint":"^4.6.1","jscs":"^3.0.7","jsdom":"11.5.1","jsdom-global":"3.0.2","react-dom":"16.2.0","sinon":"4.1.3"},"peerDependencies":{"react":"^16.0.0"},"ava":{"babel":{"presets":["@ava/stage-4","react"]}},"gitHead":"b497aaa44711bb0b27718c81623bd637ef450501","_id":"federal@0.0.1","_npmVersion":"5.5.1","_nodeVersion":"8.7.0","_npmUser":{"name":"tmarshall","email":"timothyjmarshall@gmail.com"},"dist":{"integrity":"sha512-PRBCgnqHmZDgjGKCtu+qz0n+G99PJBGhZRA8qcYFh/88I43sUphra9oiO3qCMt5nPIS8YAFxig44W3DNzHP9qg==","shasum":"ea1fc4ef413fce226dc2343e6b9c4f2683d35c42","tarball":"https://registry.npmjs.org/federal/-/federal-0.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA82arHZPzA/ad8A6BzAYT2jTRX/zhW4qraiHEFKwijTAiEA9BCdbEl1ESjAHEUnB8fCdddXvPt4RG0MFmgBYzj7SPg="}]},"maintainers":[{"name":"tmarshall","email":"timothyjmarshall@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/federal-0.0.1.tgz_1512680131363_0.03681423724628985"}},"0.0.2":{"name":"federal","version":"0.0.2","description":"Minimalistic centralized React store","main":"./dist/federal.js","bugs":{"url":"https://github.com/ConjureLabs/federal/issues"},"homepage":"https://github.com/ConjureLabs/federal","scripts":{"build":"babel src --out-dir dist","prepublish":"npm run build","pretest":"npm run lint","lint":"bash ./bash/npm/lint.sh","test":"NODE_ENV=test ava test"},"license":"MIT","files":["dist"],"dependencies":{"next":"4.2.3","prop-types":"15.6.0","react":"16.2.0"},"devDependencies":{"ava":"0.24.0","babel-cli":"^6.26.0","babel-eslint":"^7.2.3","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-es2015-modules-commonjs":"^6.26.0","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-react-jsx":"^6.24.1","babel-plugin-transform-react-remove-prop-types":"^0.4.8","babel-plugin-transform-runtime":"^6.23.0","babel-polyfill":"6.26.0","babel-preset-es2015":"^6.24.1","babel-preset-react":"^6.24.1","babel-preset-stage-0":"^6.24.1","enzyme":"3.2.0","enzyme-adapter-react-16":"1.1.0","eslint":"^4.6.1","jscs":"^3.0.7","jsdom":"11.5.1","jsdom-global":"3.0.2","react-dom":"16.2.0","sinon":"4.1.3"},"peerDependencies":{"react":"^16.0.0"},"ava":{"babel":{"presets":["@ava/stage-4","react"]}},"gitHead":"0f5c0cadc09ed9490d7b93d89cb48aa9bc815249","_id":"federal@0.0.2","_npmVersion":"5.6.0","_nodeVersion":"8.7.0","_npmUser":{"name":"tmarshall","email":"timothyjmarshall@gmail.com"},"dist":{"integrity":"sha512-kuJuTUVJ4siqF7qVcZEgYa8bsaM/mhpmILRRX7NUOMaUVsBbY+hm0aox4DtX2gdkWvJLIhqeaFeD9QKGFi6r1w==","shasum":"125db514142f15701e0505cf77122357128c14b2","tarball":"https://registry.npmjs.org/federal/-/federal-0.0.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDeeI7iTCvzaOEmdBPs+sSze6+MwP7nn2hxYc9UvEweNAIhAObIQIbEp6AMpdqFHE3zXya/y94HfTtC5Eo78TG2zjAa"}]},"maintainers":[{"name":"tmarshall","email":"timothyjmarshall@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/federal-0.0.2.tgz_1517448593170_0.1967911219689995"}}},"homepage":"https://github.com/ConjureLabs/federal","bugs":{"url":"https://github.com/ConjureLabs/federal/issues"},"license":"MIT","readmeFilename":"README.md"}