{"_id":"@skypager/apps-portfolio-browser","_rev":"29-ab84c3883f26a39ff69c30acc7dd876c","name":"@skypager/apps-portfolio-browser","dist-tags":{"latest":"1.1.1","beta":"0.3.2"},"versions":{"0.1.27":{"name":"@skypager/apps-portfolio-browser","version":"0.1.27","description":"an api and application for browsing a portfolio","main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","build":"cross-env NODE_ENV=production webpack --config webpack.config.js","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"cross-env NODE_ENV=test skypager test --webpack-config webpack.config.test.js --timeout 30000"},"author":{"name":"Jon Soeder","email":"jon@chicago.com"},"license":"MIT","dependencies":{"@skypager/node":"^0.1.27","@skypager/web":"^0.1.21","check-prop-types":"^1.1.2","prop-types":"^15.6.2","react":"^16.5.2","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"skypager":{"webpack":{"build":"webpack.config.js","scopeModules":false}},"gitHead":"21c9a6ea586f4440addff56658b0de05f2ef27e8","_resolved":"","_integrity":"","_from":"file:skypager-apps-portfolio-browser-0.1.27.tgz","_id":"@skypager/apps-portfolio-browser@0.1.27","_npmVersion":"6.1.0","_nodeVersion":"9.11.1","_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"dist":{"integrity":"sha512-LsRW+gBHAMQ8cG8jx1IQxHGBb28Bgo7xXE/FPCgMebJbJnzteSmT7SHTsx8IKLK9KEjaN6JvHmKTpoqLIAFcLw==","shasum":"c389694508ac6bf66b5766a4a5df2b02edbd7382","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-0.1.27.tgz","fileCount":52,"unpackedSize":10883578,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcSUIqCRA9TVsSAnZWagAA1vkP/jJam0uhBxiuuVYFOQEv\nDJ4ZjwcF5v68n0eBRJWRJGGtC8Jrm/V3MxqjnIzJuwp1WqmtKC1Hf65ta8e1\nUI1FylJHq5o9hRZuADdFiRqa3/phr2vOH/sLeW8bNl3FnFy3tY+L6117qYdm\nB1VadTCnjD0675PsFYKJ+I2o3v8Vxs+15jnZpnoZCj9G86DY0/NAWxAn8CIT\njr0L2VvTYLMmz6IWwJED7LJgWpIxeWmPSP6TzGkC1qrnU4yjwT0Bpd6FDbQh\nax6DdITxOXXqUB27lYVho+z7vblxmUepNJEI10zpnfLQJZ1mamh8dqrVgLWj\ng7MybpFVTyM8RHbaVgw48Uebpjvyzty3GZ2KPmocuZi5T6vF6xvwvqU9LXIe\nVBgq+Xbbdh5eXeTH8ej+s4bvBCNIWYs+DT6pTZZ8c7CJO3eKfFVIHA7p4gB0\nqbBizHlpyXFyVBXEeB1lPsYZuyv/OZt5Og9d1/lBOJnzSUY+/rFbE0o0eV4t\nNWJUieUosWyxiy2zGJNOWcS1CZjLuJrmWkYa6b2Y5hNz0YpyIsGajx5YDWLv\nuio79S9whunGWiRxf0j+NSyt9CHPsAMjVrVFoAAEprAMfcPAxv7VR2Kmdrhv\n9E/RDU892JZT1O/ie5Cja/9qQhQK1Ked1EJAdndIHRK+Rj8p8spQtYQpo+5A\narLl\r\n=soXE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCTN0bbEYkJLQkxAfOT8WjjZVAHoIu/N2fw3M8igJPVhgIgHVcjeJbZ4bxeqZ98GfwMkbEDWrBG/B9o6Aaf4fqtonE="}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_0.1.27_1548304937491_0.10919347286528702"},"_hasShrinkwrap":false},"0.1.28":{"name":"@skypager/apps-portfolio-browser","version":"0.1.28","description":"an api and application for browsing a portfolio","main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","build":"cross-env NODE_ENV=production webpack --config webpack.config.js","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"cross-env NODE_ENV=test skypager test --webpack-config webpack.config.test.js --timeout 30000"},"author":{"name":"Jon Soeder","email":"jon@chicago.com"},"license":"MIT","dependencies":{"@skypager/helpers-document":"^0.1.28","@skypager/node":"^0.1.28","@skypager/web":"^0.1.28","check-prop-types":"^1.1.2","prop-types":"^15.6.2","react":"^16.5.2","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"devDependencies":{"@skypager/webpack":"^0.1.28"},"skypager":{"webpack":{"build":"webpack.config.js","scopeModules":false}},"gitHead":"87c04128c5e1e829a28b934582053e699cf66759","readme":"# Skypager Example App: Sheets Server\n\n[View Demo](https://sheets-server-example.skypager.io)\n\nThis example uses the `@skypager/helpers-server` and `@skypager/helpers-sheet` to create a REST API\nthat lets you discover some available google sheets, and get the data from those sheets as JSON.  \n\nIn addition, this project shows a simple React webapp that lets you browse the different sheets you have available and view the data in them.\n\nThis server depends on having a google cloud project and credentials for that project in the form of a service account JSON file that you need to download.\n\nThis isn't included in the project, so you need to have one.\n\n## Requirements \n\n- You will need a service account JSON file that you download from Google Cloud for one of your projects.  \n- This Google Cloud project needs to have enabled the google drive and google sheets APIs.\n- You will need to share some spreadsheets with the email address found in your service account client_email property\n\n## Installation and Usage\n\n```shell\n# install the dependencies\n$ yarn \n# build the webapp\n$ yarn build\n# start the server\n$ yarn start\n```\n\n## Supplying Secrets \n\nIf you have the service account json, you can copy it into the secrets folder and we'll use that \n\n```shell\n# this should be .gitignored, .npmignored, .dockerignored\n$ mkdir -p secrets\n# this file name is important it needs to be serviceAccount.json\n$ copy /path/to/downloaded/serviceAccount.json secrets/serviceAccount.json\n```\n\nOr using environment variables, you can supply config this way\n\n```shell\n# this is what the node google client uses by default, assumes the file exists on disk\n$ export GOOGLE_APPLICATION_CREDENTIALS=/path/to/serviceAccount.json\n$ export GCLOUD_PROJECT=your-project-id-from-the-service-account\n```\n\nOr if you prefer via to pass this information via CLI args to the start command\n\n```shell\n$ yarn start --service-account=/path/to/serviceAccount.json --google-project=your-project-id-from-the-service-account\n```\n\n## Deployment Example\n\nWhen the service account file doesn't exist on disk, for example when deploying it to a cloud hosting provider \nsuch as now.sh, we can read the service account file via another environment variable.\n\n**Now.sh Example*\n\n```shell\n# on your local machine\n$ export SERVICE_ACCOUNT_DATA=`cat /path/to/serviceAccount.json`\n# set the secret to the content of the service account json\n$ now secrets add service-account \"$SERVICE_ACCOUNT_DATA\"\n# deploy to now using the secret as an environment variable\n$ now -e SERVICE_ACCOUNT_DATA=@service-account \n```\n\n## REST API\n\n- **GET** `/sheets` - returns a list of sheet objects to work with\n- **GET** `/sheets/:spreadsheetKey` - returns all of the data for a given sheet object.  the data will be keyed by worksheet, and contain an array of row objects whose keys are the column names of the sheet\n- **GET** `/sheets/:spreadsheetKey/:worksheetKey` - returns all of the data for a given worksheet. the data will be an array of row objects whose keys are the column names of the sheet\n\n## REST Client\n\n```javascript\nconst runtime = require('@skypager/web').use('./client.js')\nconst sheetsClient = runtime.client('app')\n```\n\n- **listSheets()** returns an array of sheet objects\n- **showFullSheet()** returns all sheet data\n- **showWorksheet()** returns one worksheet from the google sheet as JSON\n","readmeFilename":"README.md","_id":"@skypager/apps-portfolio-browser@0.1.28","_nodeVersion":"9.11.1","_npmVersion":"lerna/3.10.7/node@v9.11.1+x64 (darwin)","dist":{"integrity":"sha512-bMbXyBzctk3Lth+8Iht1TCMtm+LWqkHgfLtpfGyRhkuU34maIyyK9P4Nuw86p+oGAjYOpFaQXUiwZzfprh2y+Q==","shasum":"854478f0396204da0f686689f3bbe1bd2c962353","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-0.1.28.tgz","fileCount":52,"unpackedSize":10932321,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcVTBHCRA9TVsSAnZWagAAM6EP/jB7TRTWe5143I2YyIXY\njSvtsuVK+7+RfbsS9ernr9f2eAZh0EYWrLinVjMOtlB0IvU1Qq71GxmOnsri\ncB9e732ZpGJROAiS6PWcWLv9KLkMczYOcO6r59jYyGWVVkFlQsh1mg7pKm2B\nfbYx6CnzZZxCNQQ0BLzXyWLIoN69nt5o2cZmPUVU4699a486N/zUCTKjt3a8\nT5Vdv2outEk/Twzx+Fr5J94/693SGYavPyS22n4GvnvMdItm7NjyKj115P9a\nJmOUpPt+iPR9o+q8DbblvvCzbroIgfi/OXg/nNhHNLeOdpiQn4zb/NsX6aHX\nLKdF6szPdWoJ/AqMDtKeqYFjh9TuGqeqePRx09nvv+ciWC/Sa0vXVvQc3+qg\nMYxZumxqzASEWwS0HCfdKShVS+H5pOp+GDnxPOJG7jacyCvo/4ZL/mz4AxEm\ne6jsCpKily3NPK/uO3IbwNFr5fT5u9tv3WXlzcs248i7fjF2P2Ql6WjZsKVc\nD53upjyiK4wpAyiP5Esyjb4TcJ2QOFP9drIKS6kJYrpImt+2kLPAqcEoDC7M\nHvxl2jC1NyVGP1n/APh/Y6/39chi5sMPVcCTkW7a1nP9gevt2MOtoKK8aMKQ\npoYD8Z4kZ9cHgeXhOYCOtavAI5vVqiB3qWDFBM0ADT6QR3CF2/6n2jM/AEiK\nA/N0\r\n=PNW5\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGOTlKR/jzQKhKPVGuiNdFuRamw8T7X+g6taul4mxGEAAiEAtAVZHEq/zLil/RnGAxINRw9pUQxibIwt1hpeCdwEg94="}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_0.1.28_1549086790669_0.21462822285906769"},"_hasShrinkwrap":false},"0.1.29":{"name":"@skypager/apps-portfolio-browser","version":"0.1.29","description":"an api and application for browsing a portfolio","main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","build":"cross-env NODE_ENV=production webpack --config webpack.config.js","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"cross-env NODE_ENV=test skypager test --webpack-config webpack.config.test.js --timeout 30000"},"author":{"name":"Jon Soeder","email":"jon@chicago.com"},"license":"MIT","dependencies":{"@skypager/helpers-document":"^0.1.28","@skypager/node":"^0.1.29","@skypager/web":"^0.1.29","apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"devDependencies":{"@skypager/webpack":"^0.1.28"},"skypager":{"webpack":{"build":"webpack.config.js","scopeModules":false}},"gitHead":"c2d24206dc3a2753d4f32e9a06b2f31959dfdc38","_id":"@skypager/apps-portfolio-browser@0.1.29","_nodeVersion":"9.11.1","_npmVersion":"lerna/3.10.7/node@v9.11.1+x64 (darwin)","dist":{"integrity":"sha512-o3EiGEmoQAKePaG61uR9ZAHhd8LNypTFmbcQ2nevN2kziKYoxvgCVRMOvn93vVZmrz+3cNceA1wrdDbJoWxsKw==","shasum":"ac3e42eee5c019144839dbd4c3a8adc166c027a5","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-0.1.29.tgz","fileCount":57,"unpackedSize":11395874,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcWnr3CRA9TVsSAnZWagAAxZAP/iAeMv3VhcHb3TJzJWcp\nc3ArWNnHNiiN2bJCeq2zBUcCWC+M9SSmyS/r6u2YXC3u0M2uU5Wm82j4LMGy\nVplbUY7E6wpcfUp5fYKRB5zwAX/e4jVmdWiGOEpH4gMttnPmWlhZkXY5jhHl\nrNqPmC6OwBsbzDZvLm2ADcG+rz7xBniFW5c7RISID4+PfvrzsdCmQ4hfUjtV\ndtDc7Lf5EIQxjdClcsn1el31mVp5FKTtX8QmQeVJ//YLVDgaiGJ10RbMy4dS\n1r0hL8A/aobvvpWfily7Z6lJIEJeKb2PrtjC/+v2wi4NwuUk/KtrFnLQD4uH\nUWtXRsdbsZJaVGETfYkig9KUd9hYZiGgMGUbTqP88ksDQZhRETcBMKkacpIs\nQc2JWG+YxwiNAKekBQIVY+Hz7+9h7MACzOjDSzlwpFPo3c00NWsDI1NKFgaM\nmrhy7NVwrLWOzvFS2mkr0VB9jMdIoAC57ps267eFMiCaBZ8/h1yv9Ygw9jnP\npW18uxyqYj7JifcDKWP2rU8Wh4j4cuyNjQVROi3uiL/MSwCDZl8M8dvv+9l1\n/vn1xqqzs9hWJb8Ww52U/r6Q0i71pB80GhPgg25JMHFPOG1NnZOotj4qJbik\nQkzMxg4Jfz7a4pKLHLVKs2T0K4SnPP+ZSyfIAkd3d8l7XSQWS8wctJNOZk+F\nq9aK\r\n=fesS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCsSz4K3EzjAmXTFSs3sXWhS7+fx+A6Ob0XN/frXt7xZgIhAPbMzDFwXe4icfvUAaR1puCJSq1ZYFb6b9OQN7MNEEc+"}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_0.1.29_1549433590664_0.852093313048492"},"_hasShrinkwrap":false},"0.1.30":{"name":"@skypager/apps-portfolio-browser","version":"0.1.30","description":"an api and application for browsing a portfolio","main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","build":"cross-env NODE_ENV=production webpack --config webpack.config.js","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"cross-env NODE_ENV=test skypager test --webpack-config webpack.config.test.js --timeout 30000"},"author":{"name":"Jon Soeder","email":"jon@chicago.com"},"license":"MIT","dependencies":{"@skypager/helpers-document":"^0.1.28","@skypager/node":"^0.1.30","@skypager/web":"^0.1.29","apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"devDependencies":{"@skypager/webpack":"^0.1.28"},"skypager":{"webpack":{"build":"webpack.config.js","scopeModules":false}},"gitHead":"fa0a88fce93669403f310cbb34f69b6d1796adbb","_id":"@skypager/apps-portfolio-browser@0.1.30","_nodeVersion":"9.11.1","_npmVersion":"lerna/3.10.7/node@v9.11.1+x64 (darwin)","dist":{"integrity":"sha512-y9NQWGRYkBw2vPXxRq6pa6dHrdh6Y2h9PHwmYUEbTc8gHt2vbbqjxtTOw7GLrmdXV/fvZgl5ivVvr6Fs0ts3KA==","shasum":"ad5a38a0e960c7785014816f0ba09e42709ea741","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-0.1.30.tgz","fileCount":57,"unpackedSize":11395874,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcWoCmCRA9TVsSAnZWagAAZ90P/3uniEEAYZYaxMmc6Idx\nJBpNCQq8Nl1gNZ+LDwqHH8YZGBu7H6Om0+zdCcB6Eg3QI7EYkIdxRpDrOkXC\nbawe8uahl7a7/N3/3xfhldDja8gfp7bXkoded0lfzmybvzOQDtTdVbAkFdIk\nelZlr/2gsDanT0x2ezcSm+fT0G8m7C27M2Umi8WNlGxGHiSjc1DokmoWNbuw\nTEO3wIZLbYrnpNQed+Kth9Qdf/K/Kp89s1WteHb63rCE9PA3GD2GfA2i4KEa\npGZEjqjZpGo1Tgno98HrHZnxelNIoiXdxpph8Q0K2RrxCrIE0+wMskpIov2H\nxr6BFsmfc7d7hiE3gxWEsosmtgs1z50ySCn4gvEh4b4+J2Ru8XBevMPdSdiP\nruDQTBJZhI/b579VtdE8QwqKvEwnrHeICSWL1ggeZbgCERbQXjJIMrWQIFk3\n4cPqWoCdIbdkKEg7e6FX+dLNpxr8Nh8NOnVhIKk7PI7QhWM4aDc/SfToI4Vb\nuMkAwWCwtiOfcoiJnF4PqJ4qn+B/imuQAWsxtYcDhdSn4I1o0rl5t2jZtLgB\nbOIcCQemncaAgq6BZ4SS9XcIK19KtMWjig5TiJXg8nZ83vjR8D8i95uvBK9G\nhoWWpz2D8LgIYQJjzdkjfQauK+6tRj5n6+faPqxiJDcuwCHaBWB8fdMpNhpc\nzDTR\r\n=ITu7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFFB6U5WJzuJI41bC6VK6E4/LN0BuoxmMJT2tif2/aAVAiB74K4HWbpGWFwT7pIt0Ud41f7CoThrnG482EYuHyRsyw=="}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_0.1.30_1549435045822_0.45099309535952803"},"_hasShrinkwrap":false},"0.2.1":{"name":"@skypager/apps-portfolio-browser","version":"0.2.1","description":"an api and application for browsing a portfolio","main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","build":"cross-env NODE_ENV=production webpack --config webpack.config.js","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"cross-env NODE_ENV=test skypager test --webpack-config webpack.config.test.js --timeout 30000"},"author":{"name":"Jon Soeder","email":"jon@chicago.com"},"license":"MIT","dependencies":{"@skypager/helpers-document":"^0.2.1","@skypager/node":"^0.2.1","@skypager/web":"^0.2.1","apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"devDependencies":{"@skypager/webpack":"^0.2.1"},"skypager":{"webpack":{"build":"webpack.config.js","scopeModules":false}},"gitHead":"df03ced01c4fd5703e05c8fe89afd9ac7e6a5398","_id":"@skypager/apps-portfolio-browser@0.2.1","_nodeVersion":"9.11.1","_npmVersion":"lerna/3.10.7/node@v9.11.1+x64 (darwin)","dist":{"integrity":"sha512-ylzbjNJp9eva7F9ShaGem+i01/rAkM3FE4vD/5FRWMfzRuLrfh8TyT6hMA3ufdWO5qAlw+dl88goJv/0TvOg0g==","shasum":"ed966b54d55586ef425453c31391af3d3fe8d4e4","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-0.2.1.tgz","fileCount":57,"unpackedSize":11395869,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcWwpuCRA9TVsSAnZWagAAu9cP/2+URWCRQ9JW82Mp8MiY\n7Bj0qFyrH5+UUmrlsQ6IJJkMRo+tT95Z5oR54atx5tPe6Fw4783VRrFpmqKR\nvejDJww/1gKCfRASmuJB5+LkzQaSfyArlfILxMEh0AZxwNVhw34XtABBBgZ3\nlH/04oWQt2P/ye6ICk3TF8mOYCpfOsgpr4HxtJ/BmQLbVe677PzTf+/l8/kK\naP1wX9mLkvOBLoCtpwf/Crlu9QwKkFk3/4UqgOO034hLTOI+UJTYfzp6WR8G\nHctvo4VTBgzHZPP8KlbmtUMX7ICEzc7hjK2IpU+NreX/yj7y853WXwxSiWFg\nEse+osBiV86eZKU4t+6J0xgY6HyWWFV9Rwo/iUSnkelLcrvZxfqnv4NSDpH4\nEtaHE6fstqou9UnAKMhKZ42i0pCdtLyWJH2tkqWgLP3altCzanE62Yt97hfe\njWXpLZF6Ra2dbHj0M4ROkveeQwYuWurm67ohddGqJrEEaVtCWug1d5JNKLnX\nG5iNpR9u3PTGJ7GlZ53m8A9YPXVeGwxN/XJYeEPq2WwSCHY2htDnHqwFImCF\nlYJA2EfIxJCyARuDvhWqi+Zvo+aedv6wbALx10unSzyQU4wTbXQJd8koyA4u\n61hJSYbE2WkLneAUlUzej3hhdoGGOruIpx9OllSgIAlvjOYG1rBtWNZgNHwl\ntJhN\r\n=B/k8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCvXSYVwlEn6VfZsC3MLAj24Mcq5sER41sZr8HpqFxrcAIgIROrII07YreZQWPO7FVz4uK1djTD0joP/cSmPkMsmgI="}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_0.2.1_1549470317595_0.6130665850463"},"_hasShrinkwrap":false},"0.2.2":{"name":"@skypager/apps-portfolio-browser","version":"0.2.2","description":"an api and application for browsing a portfolio","main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","build":"cross-env NODE_ENV=production webpack --config webpack.config.js","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"cross-env NODE_ENV=test skypager test --webpack-config webpack.config.test.js --timeout 30000"},"author":{"name":"Jon Soeder","email":"jon@chicago.com"},"license":"MIT","dependencies":{"@skypager/helpers-document":"^0.2.1","@skypager/node":"^0.2.2","@skypager/web":"^0.2.1","apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"devDependencies":{"@skypager/webpack":"^0.2.1"},"skypager":{"webpack":{"build":"webpack.config.js","scopeModules":false}},"gitHead":"f58e8833b9da8e7521355d64f59b7e474ead8645","_id":"@skypager/apps-portfolio-browser@0.2.2","_nodeVersion":"9.11.1","_npmVersion":"lerna/3.10.7/node@v9.11.1+x64 (darwin)","dist":{"integrity":"sha512-HRIg7yq5RE0WKSC+bq4tfOjdSWGo8lXXCoDTHOgkbFeT5USwwyuKKMdouY0zuZv/qzD678iuU818z46uz8rpJw==","shasum":"a19ed919eca24ca8f0642c931f821a6f807d7796","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-0.2.2.tgz","fileCount":55,"unpackedSize":11389275,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcWxPFCRA9TVsSAnZWagAAFV8P/3Z/m8BXVVzFW7oZ22zy\n+YcrQNgRu6SPxCLf4EY1uekZsL2JsEVOiiE7aSRpIMcMx7pWXm8CTH3MrAVn\nkAlVvhzQFOMWvlUeQe/e+Xy9laalO+NFv9Gw/BzolmXyLN2blTyW5aSF1Iss\n7SvowC2RvLZrdG4/VroByEiDLEHO7Kj+C4RsLw5Et136erCph8VMwGiGQ08b\nW+3Bb/Y5TDB9U1qGZ65W2v9vO3ZVw53YwcbJx1xYDAgAOuhfImPghE6o3ULJ\nNYM7Lf1VZxN3RtiZP364zVWh8FVBpMNHDvx1SBXp6rfgciASM4Glnr+5ik4F\nwnk95s/a8xvGH1IkejBScI4igCvElUvUgMfkrX0LSkPbIKVaN5E2f2XUD6N0\n0nEb6kWSy6yna3sjB9X4iDF1+xL1Yn4Fm6otpbpMBM/xqHjE0oyh+Ux4vwFi\n1iLVWQFm9fSSnIumTkMO2wnuZ2QociOWQ3KJjFneclXRs7uDGQEWfjnuwMFR\nKH5NIVJUZbHMPwa/jsfMWWo5G1nbc/z82fDmDrB8CC8QL4SOKzJyN1Dt9BVr\nLWKTWBhmH4sJ1wOKjNtA2CpG1Qn7vsywbzuFSnf3XF0TKWtGGL2oPQaGdArB\nhxtA+83zMyYi3A7EwtXl4+3EtYD7BnNKw9ty+wSoFMcYHgIesPRMsPFzx3Xv\nZt+u\r\n=QohM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBvI0U/ycpR+zwgbK1LoP04/fTiFaGTL/SkOd2WoA44rAiEAtErgOqE5M9FzhmI1lRS4RsG/xebKASks3PfpMHgPku0="}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_0.2.2_1549472709060_0.12620080034023395"},"_hasShrinkwrap":false},"0.2.3":{"name":"@skypager/apps-portfolio-browser","version":"0.2.3","description":"an api and application for browsing a portfolio","main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","build":"cross-env NODE_ENV=production webpack --config webpack.config.js","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"cross-env NODE_ENV=test skypager test --webpack-config webpack.config.test.js --timeout 30000"},"author":{"name":"Jon Soeder","email":"jon@chicago.com"},"license":"MIT","dependencies":{"@skypager/helpers-document":"^0.2.1","@skypager/node":"^0.2.3","@skypager/web":"^0.2.3","apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"devDependencies":{"@skypager/webpack":"^0.2.1"},"skypager":{"webpack":{"build":"webpack.config.js","scopeModules":false}},"gitHead":"150159983bbe53239463bb98dc263253cd91befd","readme":"# Skypager Example App: Sheets Server\n\n[View Demo](https://sheets-server-example.skypager.io)\n\nThis example uses the `@skypager/helpers-server` and `@skypager/helpers-sheet` to create a REST API\nthat lets you discover some available google sheets, and get the data from those sheets as JSON.  \n\nIn addition, this project shows a simple React webapp that lets you browse the different sheets you have available and view the data in them.\n\nThis server depends on having a google cloud project and credentials for that project in the form of a service account JSON file that you need to download.\n\nThis isn't included in the project, so you need to have one.\n\n## Requirements \n\n- You will need a service account JSON file that you download from Google Cloud for one of your projects.  \n- This Google Cloud project needs to have enabled the google drive and google sheets APIs.\n- You will need to share some spreadsheets with the email address found in your service account client_email property\n\n## Installation and Usage\n\n```shell\n# install the dependencies\n$ yarn \n# build the webapp\n$ yarn build\n# start the server\n$ yarn start\n```\n\n## Supplying Secrets \n\nIf you have the service account json, you can copy it into the secrets folder and we'll use that \n\n```shell\n# this should be .gitignored, .npmignored, .dockerignored\n$ mkdir -p secrets\n# this file name is important it needs to be serviceAccount.json\n$ copy /path/to/downloaded/serviceAccount.json secrets/serviceAccount.json\n```\n\nOr using environment variables, you can supply config this way\n\n```shell\n# this is what the node google client uses by default, assumes the file exists on disk\n$ export GOOGLE_APPLICATION_CREDENTIALS=/path/to/serviceAccount.json\n$ export GCLOUD_PROJECT=your-project-id-from-the-service-account\n```\n\nOr if you prefer via to pass this information via CLI args to the start command\n\n```shell\n$ yarn start --service-account=/path/to/serviceAccount.json --google-project=your-project-id-from-the-service-account\n```\n\n## Deployment Example\n\nWhen the service account file doesn't exist on disk, for example when deploying it to a cloud hosting provider \nsuch as now.sh, we can read the service account file via another environment variable.\n\n**Now.sh Example*\n\n```shell\n# on your local machine\n$ export SERVICE_ACCOUNT_DATA=`cat /path/to/serviceAccount.json`\n# set the secret to the content of the service account json\n$ now secrets add service-account \"$SERVICE_ACCOUNT_DATA\"\n# deploy to now using the secret as an environment variable\n$ now -e SERVICE_ACCOUNT_DATA=@service-account \n```\n\n## REST API\n\n- **GET** `/sheets` - returns a list of sheet objects to work with\n- **GET** `/sheets/:spreadsheetKey` - returns all of the data for a given sheet object.  the data will be keyed by worksheet, and contain an array of row objects whose keys are the column names of the sheet\n- **GET** `/sheets/:spreadsheetKey/:worksheetKey` - returns all of the data for a given worksheet. the data will be an array of row objects whose keys are the column names of the sheet\n\n## REST Client\n\n```javascript\nconst runtime = require('@skypager/web').use('./client.js')\nconst sheetsClient = runtime.client('app')\n```\n\n- **listSheets()** returns an array of sheet objects\n- **showFullSheet()** returns all sheet data\n- **showWorksheet()** returns one worksheet from the google sheet as JSON\n","readmeFilename":"README.md","_id":"@skypager/apps-portfolio-browser@0.2.3","_nodeVersion":"9.11.1","_npmVersion":"lerna/3.10.7/node@v9.11.1+x64 (darwin)","dist":{"integrity":"sha512-SV0YmeXUhYv1f1QALbhnn3NR9HYNl7h6GFTfqmTNq2s3Gn/V3LM8wFbX9H5S0ZdhsB9a0lcqe9+7rhhGFlBa3g==","shasum":"1f6ce6c5db3660e64f68948cac6d770a96f9dbe1","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-0.2.3.tgz","fileCount":57,"unpackedSize":11463986,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcW3gsCRA9TVsSAnZWagAAFJsQAKRpM23aI9AbiDAME6Ij\nFrM1ZUpBcVuHTOz7WbGKXtCRFqKO3hFQK1TyDjycfTdjBe6yx9HtMNeNDs2u\nzKsdAZfiLSbQfnzQURRZFqoMjjHlLtqiLriUNA7rrUbNlHqW+Q07IJ2yfx0J\noul6du0gFsIanatFgJyi2CXHdpBgfhUjrwyK2eXm3K3zDp1HmhoaP6Z1M6jn\nXSxSsoa0Kh3sC/Phcn0MZy7gEEL1yIX4gVKFqgn2Ye8ri2bAkIce/CLDU/RE\nz4yZ/YarMLlr5j6VRANaCr4jAnMYh6I2RL0k0YCgCnULHfusM9E6UDVHNfaR\n4/pCbCC8IyoIgFB91C7pzhbmqgWAoOND/aUjf3mMrjLOv040tlO/y1bBY/xB\nwAT6DKEDjxVWApkgOMrsChYgm71HBvsaQnXiTvzTx0OxB3Gc+QSu8QZYw5pJ\nDwljD5ummFXtXO8AmGnoDe68U1oyhzGSzhYoXVsdtbG0Sz8RfnEFb9QbEjxq\nduSd8YyWnmsYgZDW0HUAanpiiimeC2Je8anUpbn3R8v0HdZZIWO7So/5Zgqs\nbgyxYPRCnp7Tm591eza5cw6p6Kb4lAWoBS8UBgjEMU2bJi3rHcUrAXBeIB0o\nB4dQgxnm577Y6Mj5pAQW2w1+N+b9iLyVFYw59oCCVQ1OcNcLssJem5nvgVU8\nkRQq\r\n=ExXx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCJYfqEunIFs4vz6PfJ9aiaChqwUpvuzD6b4NViB7ZkUAIgJMOyB+/bhZbJ9mEyUyPB0rnmUSaUyWcMLFyJLALxN4A="}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_0.2.3_1549498411581_0.9840171210570723"},"_hasShrinkwrap":false},"0.2.7":{"name":"@skypager/apps-portfolio-browser","version":"0.2.7","description":"an api and application for browsing a portfolio","main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","build":"cross-env NODE_ENV=production webpack --config webpack.config.js","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"cross-env NODE_ENV=test skypager test --webpack-config webpack.config.test.js --timeout 30000"},"author":{"name":"Jon Soeder","email":"jon@chicago.com"},"license":"MIT","dependencies":{"@skypager/helpers-document":"^0.2.7","@skypager/node":"^0.2.7","@skypager/web":"^0.2.7","apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"devDependencies":{"@skypager/webpack":"^0.2.7"},"skypager":{"webpack":{"build":"webpack.config.js","scopeModules":false}},"gitHead":"13bbf3e3d3e139aa5a46b706d4691e12578d39b4","_id":"@skypager/apps-portfolio-browser@0.2.7","_nodeVersion":"9.11.1","_npmVersion":"lerna/3.10.7/node@v9.11.1+x64 (darwin)","dist":{"integrity":"sha512-ka7z6SALEaWlFSmY+DPFhqq3VYnQ1ctbn8Ap7T99E7RN4VVZ3VL2Az+q1bG4A1g+I5ISNveanCp6qhOWUDOqYg==","shasum":"c25df4dd8ab6cd8902714c9ee8c25bf5563d38fc","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-0.2.7.tgz","fileCount":58,"unpackedSize":11465771,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcXTCPCRA9TVsSAnZWagAAX90P/RsEE0/frH4lzG5VzA4p\nYcgHNNL6tEoJPX+CPJRjeI30QiQyyasTRVbtsT4erYGKWuw3Pq8FgN4coSPs\nyd1af4/oDOufY3ngZiJM1aNyFrtA88p2x27Tf7XF+RhbNIipkEux97LulRfE\npCNlwxpyc6KVz23Im+xdBZas8LdPIXkD/RnCmoMHpBnBo8oK2whn12714+5q\nTtFjEW+6nQiI3uKyOoMfQxPydKeuB2WCUqCkQuJGCTt+gFfppuc+Way+S2l/\nSBu2rxFO8nXT+H4ecPIe8re6tjcyJpDFp4cp4yilWyXuEgFyyDWaWqD/tQPe\nzWoQB1jQa4f7BxXw/tZ4/sMHcPrY7DkD3o72xZ9dMY3H62yOocuC4ewuCd18\nh/LQAXtXHrTrda+dnQHVeFXW67EKWcGAuN+oJ5KSq38U2tYJ4cM3giyOev8I\nFz517CF6zoxV+wen7BHdKM3mZiy4MmRUj4Hae6zNuM0IyrhpqnjLakzh9d+/\nWOK4QqTOugjl95S0be0S8Uwwh1OobNuQ+zIgGkwU36EqL3hBS0T2m0UTqnVl\nwzCB9eTIRlyQ6WMiXca1u08XKQrAwgubGwkGkAy8PvDlPInsFALdb6ik6ggE\nqKkNU11mfXM/wxY/GuNbcEfDz81UpK5EMDs9A7PuiVbVwuhoGHN+/uKfRI4S\nhV9y\r\n=4DQq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDf6NDOLDCVKG2tOt5HHcw2i2p8/7dnzS6X1maQho7eOwIgF2SoFn2iveNJeKY9TfbYQ7evzG9LYCAF7ZgxxcRfqhc="}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_0.2.7_1549611151402_0.626105623877607"},"_hasShrinkwrap":false},"0.2.10":{"name":"@skypager/apps-portfolio-browser","version":"0.2.10","description":"an api and application for browsing a portfolio","author":{"name":"Jon Soeder","email":"jon@chicago.com"},"skypager":{"category":"apps","webpack":{"build":"webpack.config.js","scopeModules":false}},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","build":"cross-env NODE_ENV=production webpack --config webpack.config.js","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"cross-env NODE_ENV=test skypager test --webpack-config webpack.config.test.js --timeout 30000"},"license":"MIT","dependencies":{"@skypager/helpers-document":"^0.2.8","@skypager/node":"^0.2.10","@skypager/web":"^0.2.10","apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"devDependencies":{"@skypager/webpack":"^0.2.8"},"gitHead":"775e4bca8dca06ee82af8ee312af11b8176d086a","keywords":[],"contributors":[],"_id":"@skypager/apps-portfolio-browser@0.2.10","_nodeVersion":"9.11.1","_npmVersion":"lerna/3.11.0/node@v9.11.1+x64 (darwin)","dist":{"integrity":"sha512-i/CKn1UX2JPr68v2N7cHo7RM+V7/RlXjSzFwfI6ZeGcRR6lBNZHDi5AG/K/vN5Gk3FbrhPdgQXRKB3LNVJLG2w==","shasum":"d5af1307e91721ef51d1c27a37b2b64e1721cb04","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-0.2.10.tgz","fileCount":58,"unpackedSize":11467462,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcX8pACRA9TVsSAnZWagAAJd0P/2qXRtZg7vn1/hnF5txC\nLao517DKGql61x03e7ZaVVzdQIAF//zyou288sAU4k4ARQGJ4T8nkAacwxpW\nVmEDt8rcQO4BDOvA7Js86ahuBxvEHDfOjYLdFaqyCzmg+oTUqje89dPWH3Sq\nyzllau5EVAHSLtwfzdELxJbebTCoyj9Vxeo2t2mhT+gp/PQLp8d1R/vtOM6H\nVTFb0UkKyGQ192XzWspaZqIh/nMZ2koeSa+x83L2RqPNV15MITPtspPdF6I+\n6PYqOEnFDBgLaC21Rm497oMK4zpItCaminnz4ZaM9y/CtYKTvWON6hXEJyDA\ndDLkYh1zFDFX2Ax1jZVF2mgaRQa1vueg9MUv5MIgw4WNGh44fUJzGeaj698j\nCehSuUjiOigxf6rE10Vh2ODuC+rJRvE845m3J41lfTGyfteFv4iZ/vq5UKxb\nBmwML70w0FPptBNd1p4lJoBE7G+yydxq1kmkJnQ5EVIbKpKV5+08ctIUYXFj\nLfDmZL59eE68eKx2mpdy5yCBm/i08OTyK0o++CjTIwoz0CZ5p1bG8quQUHQC\nEID3pxE77bOpfttpCJ1fO7zx92cpoGpiLknYh1RK0D2ijlc/CzUCM5/YaLuo\nqF50/tgXA3wf/ttKsCKcMYyzqvBQU86jA7P4PmtZMMRugh1YujoBwjrEws9+\ntPTA\r\n=+JqS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC0acEerzRfL/6tFjVpO6LOtuq1v/tGvu0UnMZbv2lptgIhALPMmpqM0IpE/r8PL349a/KT65dteXpTcqjoZtlNIorv"}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_0.2.10_1549781567908_0.8953282660448696"},"_hasShrinkwrap":false},"0.3.0":{"name":"@skypager/apps-portfolio-browser","version":"0.3.0","description":"an api and application for browsing a portfolio","author":{"name":"Jon Soeder","email":"jon@chicago.com"},"skypager":{"category":"apps","webpack":{"build":"webpack.config.js","scopeModules":false}},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","build":"cross-env NODE_ENV=production webpack --config webpack.config.js","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"cross-env NODE_ENV=test skypager test --webpack-config webpack.config.test.js --timeout 30000"},"license":"MIT","dependencies":{"@skypager/helpers-document":"^0.3.0","@skypager/node":"^0.3.0","@skypager/web":"^0.3.0","apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"devDependencies":{"@skypager/webpack":"^0.3.0"},"gitHead":"0df9f43a7103834aa43d40bf51e7b412caf19392","keywords":[],"contributors":[],"_id":"@skypager/apps-portfolio-browser@0.3.0","_nodeVersion":"9.11.1","_npmVersion":"lerna/3.11.0/node@v9.11.1+x64 (darwin)","dist":{"integrity":"sha512-NO0Efsm+KUAkHNaVw1tWPKadD80XwJBmoDPTxmRdefEPPKl7TGQxhSvVCxxY8ASV7+MxJyxv8ilJJbYqArfCpA==","shasum":"6fd7c5f706bd0ea1217d763f86e612144b49ad39","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-0.3.0.tgz","fileCount":58,"unpackedSize":11467459,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcX9FcCRA9TVsSAnZWagAAjFIQAIIOVN47bDgMf1KgDY5K\nPNkBTYKocFdABwa+uwKY0c7LoMhQa4v9Mn5oAABZG1LHqH/0mG696qF38j4s\nlwqu1S2RjjHxHO3h38S6MsOswc0q91O8DYeJ0+DxTzjG674+kbFXg/3BNqp8\nwdzuQEDGYMWvpvaZoMqyKtDDUk2vt+OiiVGHXN4HkyTUtewIqG0ue3A9KrzB\n5JR+vQL9u+2483V+6g6i+VcqDms+SOWRTV2Lubys8EKI1Y98ViBm83+umM4l\nPCDgIE4L6sdn36iXYzapO9gTXIg36oycEpDaVvVUQq9pHicVbgqlM7f7IHCD\niuKzetGyefcTAXWCTw05R1cJGVxXVx0M+JlYubMHlpOFEVk2WId/tKm7gzZW\nzLSMiH7kiHxF5rNfQCgg/a//SyErmFJSZQ3H52c9J3JMImEY3tlg+rjkwyk+\nEWwITkx7PaXlGoQ47oSnbBfd5j3hPxvYfDfVAOq2v0TPb6QHGVHtWtl/Y6KR\notPjAK2xi+Bq2zERtBZcZFLay2DBDVGaj/LePUcRV5OsFwn+KEtUPB1mcBUn\nZ7co0groK+9OlFiGBydroyZtYHYFc8qyp0skTXmjOb3V8OoHq8ZwqJ1iQY/I\nNZgr3hmkKa2uK/RYSRLndmcVn484/gQgD4x3hdq0FflNYXVTZPfRHEjYxKy7\nYFsP\r\n=D1CH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7ekDnRIauDtOkPyb/wyqnehCK9nU2l4Oin0EL4dT7OQIhALsLsnzUwejD2WpG4/jRs5cElRTMWTx30eNKY2uOb0hO"}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_0.3.0_1549783387377_0.9935911607680528"},"_hasShrinkwrap":false},"0.3.2":{"name":"@skypager/apps-portfolio-browser","version":"0.3.2","description":"an api and application for browsing a portfolio","author":{"name":"Jon Soeder","email":"jon@chicago.com"},"skypager":{"category":"apps","buildFolder":"build","webpack":{"build":"webpack.config.js","scopeModules":false}},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","build":"cross-env NODE_ENV=production webpack --config webpack.config.js","postbuild":"skypager hash-build","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"cross-env NODE_ENV=test skypager test --webpack-config webpack.config.test.js --timeout 30000"},"license":"MIT","dependencies":{"@skypager/helpers-document":"^0.3.2","@skypager/node":"^0.3.2","@skypager/web":"^0.3.2","apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"devDependencies":{"@skypager/webpack":"^0.3.2"},"gitHead":"8db8e082d3f9285cc75d2f3e0bb41796f75427e7","keywords":[],"contributors":[],"readme":"# Skypager Example App: Sheets Server\n\n[View Demo](https://sheets-server-example.skypager.io)\n\nThis example uses the `@skypager/helpers-server` and `@skypager/helpers-sheet` to create a REST API\nthat lets you discover some available google sheets, and get the data from those sheets as JSON.  \n\nIn addition, this project shows a simple React webapp that lets you browse the different sheets you have available and view the data in them.\n\nThis server depends on having a google cloud project and credentials for that project in the form of a service account JSON file that you need to download.\n\nThis isn't included in the project, so you need to have one.\n\n## Requirements \n\n- You will need a service account JSON file that you download from Google Cloud for one of your projects.  \n- This Google Cloud project needs to have enabled the google drive and google sheets APIs.\n- You will need to share some spreadsheets with the email address found in your service account client_email property\n\n## Installation and Usage\n\n```shell\n# install the dependencies\n$ yarn \n# build the webapp\n$ yarn build\n# start the server\n$ yarn start\n```\n\n## Supplying Secrets \n\nIf you have the service account json, you can copy it into the secrets folder and we'll use that \n\n```shell\n# this should be .gitignored, .npmignored, .dockerignored\n$ mkdir -p secrets\n# this file name is important it needs to be serviceAccount.json\n$ copy /path/to/downloaded/serviceAccount.json secrets/serviceAccount.json\n```\n\nOr using environment variables, you can supply config this way\n\n```shell\n# this is what the node google client uses by default, assumes the file exists on disk\n$ export GOOGLE_APPLICATION_CREDENTIALS=/path/to/serviceAccount.json\n$ export GCLOUD_PROJECT=your-project-id-from-the-service-account\n```\n\nOr if you prefer via to pass this information via CLI args to the start command\n\n```shell\n$ yarn start --service-account=/path/to/serviceAccount.json --google-project=your-project-id-from-the-service-account\n```\n\n## Deployment Example\n\nWhen the service account file doesn't exist on disk, for example when deploying it to a cloud hosting provider \nsuch as now.sh, we can read the service account file via another environment variable.\n\n**Now.sh Example*\n\n```shell\n# on your local machine\n$ export SERVICE_ACCOUNT_DATA=`cat /path/to/serviceAccount.json`\n# set the secret to the content of the service account json\n$ now secrets add service-account \"$SERVICE_ACCOUNT_DATA\"\n# deploy to now using the secret as an environment variable\n$ now -e SERVICE_ACCOUNT_DATA=@service-account \n```\n\n## REST API\n\n- **GET** `/sheets` - returns a list of sheet objects to work with\n- **GET** `/sheets/:spreadsheetKey` - returns all of the data for a given sheet object.  the data will be keyed by worksheet, and contain an array of row objects whose keys are the column names of the sheet\n- **GET** `/sheets/:spreadsheetKey/:worksheetKey` - returns all of the data for a given worksheet. the data will be an array of row objects whose keys are the column names of the sheet\n\n## REST Client\n\n```javascript\nconst runtime = require('@skypager/web').use('./client.js')\nconst sheetsClient = runtime.client('app')\n```\n\n- **listSheets()** returns an array of sheet objects\n- **showFullSheet()** returns all sheet data\n- **showWorksheet()** returns one worksheet from the google sheet as JSON\n","readmeFilename":"README.md","_id":"@skypager/apps-portfolio-browser@0.3.2","_nodeVersion":"11.9.0","_npmVersion":"lerna/3.11.1/node@v11.9.0+x64 (darwin)","dist":{"integrity":"sha512-Ess2uAGVj6qZVpl86+2Q82U6bRz0ddPaqnHaiXBkQ8/K/eijAT1EBk6Kpb8XuZF3d1Ifv5uN4b/sSuQ4+VH+ZQ==","shasum":"7e4ca8449ba340712aa6ff94164df964987f4cd5","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-0.3.2.tgz","fileCount":60,"unpackedSize":11496959,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcZPxZCRA9TVsSAnZWagAAioYP/RhAMwjOfYHy119RnWdX\nnP9q2IP+hq+T1mstUBHfHAlic1Lx27LqnCewTuuKQPP+SZv8iapgoFThxMGD\n1UuA/cRgOqXiKiW/amtjhV55dnKU0ZwxJApE40sqz9XHTlLh+a4wQwePJElK\nv/nTJBnufLqgVL5OkVagFcdOyQaOu1I4mbnFMwmWntTCgNiFzQwzjl0cOAOa\noo2CBNYKjs2GFl7GoW32xQiJOhmIcUJQp+yIBOc31c2c81pVCde5lkJtDjIo\nFP9YI6Hz45h7wcIs7h6Y6pIuxkfJGkcQuzVSh+0zd3i+zA5lfHJTjEng95Rw\nDfd/tBfQ50t5lYjFkJqFsJadhJm2EyIP27ELEQCy7HvXnfLCySZL8ySFnjR3\ng5tbKHYFZn6GxV4/xt4EN3eF9cW/b93Fi3XMgjfFVs+0s1kzSfziQCJsa8gh\nLEc06tXyqshLmKl47usSAT0IezXRio+OOKcEsRwyvTCoAbg0NKMg+LkhduJL\npogIYVDI6DTvmhUsjBW6aSCbwrapADLMuH5PhTUXEYQf7om80N6qtNy00Hcd\nNJd2Mo9neZ3TSRf5zmpDmMRWNR+Zq7u8ejwkCDvysQJGRaNUX1a1VxqHgc/z\nwIVJP8Wik+GBCqselUCe3Pgr5+2HZCmYsXtoieUhAYidISQBLcz6g3Fzz3t0\nGhmq\r\n=oeIC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGQmJu81AXmxu90DEHIvX3XYXEU5PHCBCTs/tKzybPPDAiEAlb+gLe5EY8XAcQ2JM+hh5DlpJs+sr1nlL7N7ThuUnVg="}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_0.3.2_1550122072936_0.25393768930597016"},"_hasShrinkwrap":false},"0.3.3":{"name":"@skypager/apps-portfolio-browser","version":"0.3.3","description":"an api and application for browsing a portfolio","author":{"name":"Jon Soeder","email":"jon@chicago.com"},"skypager":{"category":"apps","buildFolder":"build","webpack":{"build":"webpack.config.js","scopeModules":false}},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","build":"cross-env NODE_ENV=production webpack --config webpack.config.js","postbuild":"skypager hash-build","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"cross-env NODE_ENV=test skypager test --webpack-config webpack.config.test.js --timeout 30000"},"license":"MIT","dependencies":{"@skypager/helpers-document":"^0.3.2","@skypager/node":"^0.3.3","@skypager/portfolio-manager":"^0.3.3","@skypager/web":"^0.3.3","apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"devDependencies":{"@skypager/webpack":"^0.3.3"},"gitHead":"3afe91f6ff7fd3bff7fe47a351619d5281155cd9","keywords":[],"contributors":[],"_id":"@skypager/apps-portfolio-browser@0.3.3","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"dist":{"integrity":"sha512-6VG31DaK/z5jvQPhgeva1km8RnG/PuTvsZwWOk0ZU2kWjX2MXh+DPD3TMYFDMD4LoGkEQ1Q+kAHkUL04/PxSBw==","shasum":"8fe39fa5099028e082193a3006727d56684be963","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-0.3.3.tgz","fileCount":59,"unpackedSize":11531000,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJccOBpCRA9TVsSAnZWagAAZzsQAI55AXSxogIwSlj91N21\nJXooCwSKdoUHtk4s9hX88FaxnX35NAxwIpre356Kfer8xmGb+TnsR1CLiQM1\nJ/Ju8uKntS7N8nkXEjUXsMHX5q/3ssRkOw+BRx9gwCf8371J2D1f/CV5n9/P\nBpo0XkE0wAF6bbbTNHThKx6VAaydDWK2yNf60jhnEbW0DI9erIpMvB7kRmVD\nnQfpcPcK6V82IdJZvBbqutexQrhUQP3lCkb2HVQC6DZ2TIZu248xzoLSt2dA\nbJz9VM8jAyYapEkLvfyXHDc7r4WF4pgoWRGGSg4qeA6+y8Ck9z5+q4PIfrTm\n+Wl0+zk26N5qJ9o90TIqtCYbp/2TQonXCXD+RbkCFdwCZI5Qb8FuaO5zBGO9\ninpvtLHK6EjqhtaMssETb2JE4hIvB3Mqv/4uBkH6mOuoK+exSGQ79BvORJvN\nrtmfCXUbjs4ilMihWIoEad73+uVfwqSdCUA+vm2SBp1OJP4TED6TTFjM+SI/\nNgqeDgBFdpI/rB7MogXmV10hiU0pY9Rl0+9Vofs4Y2GOyWbDovFjK45q2cLW\nf8g+gAESwFjBNz9W3NCsS6RI5ueHC0n0WDHEO/ROBdkp8h2r2YN6sNmDGq/F\nIr6UG4AAPrdSw3iVABTa1sWLRRXQqrfQJ2GrOz665OzpSz8UXQr06zmwrKXI\nU0mQ\r\n=WDvM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWPCSKEroGONLsu4Tqek0jT9XZMG/+RfOVQJwiCcmjkgIgb/AVMSEbIvwCo57hWNj92BQ5dMtctFeNWi+QiejYGH8="}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_0.3.3_1550901352951_0.3204022857142803"},"_hasShrinkwrap":false},"0.3.6":{"name":"@skypager/apps-portfolio-browser","version":"0.3.6","description":"an api and application for browsing a portfolio","author":{"name":"Jon Soeder","email":"jon@chicago.com"},"skypager":{"category":"apps","buildFolder":"build","webpack":{"build":"webpack.config.js","scopeModules":false}},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","build":"cross-env NODE_ENV=production webpack --config webpack.config.js","postbuild":"skypager hash-build","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"cross-env NODE_ENV=test skypager test --webpack-config webpack.config.test.js --timeout 30000"},"license":"MIT","dependencies":{"@skypager/helpers-document":"^0.3.2","@skypager/node":"^0.3.6","@skypager/portfolio-manager":"^0.3.6","@skypager/web":"^0.3.6","apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"devDependencies":{"@skypager/webpack":"^0.3.6"},"gitHead":"a26fe9fc1bb96141fccc4290d964b1dd8c23373b","keywords":[],"contributors":[],"_id":"@skypager/apps-portfolio-browser@0.3.6","_nodeVersion":"11.9.0","_npmVersion":"lerna/3.13.1/node@v11.9.0+x64 (darwin)","dist":{"integrity":"sha512-kMKBLpfSG2kxCbeJfYy9x4rSC+1FQ9gogk57UwDgOZZvES/acpP5P6Vr5oYyzSpwm8K7KJyHaoSrzmnlBN1JoA==","shasum":"594d2c024634bb0a66dfa020db2273af48a87171","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-0.3.6.tgz","fileCount":59,"unpackedSize":11543267,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJciIueCRA9TVsSAnZWagAA4WkP/jHy7e0T6HcMA17Yanoi\nYNntAjV/Bn0UFI7BGd9qHRw1PvZwNYsJP9/mCXy16wcDP08SE/C6ighpg+MP\nmfmq4dXb6qRonKdeTzQ2ssFHDEq+Wks5pZdOtqvhU3BHwjNJ+ccHBVPxLerX\nUkN2+xKBXFD1rLxV7ku74aqtFWqUo5tI9J7HETKq//aTCePIc09uBGfCZSzZ\n9mmdnZdi+YAKXz5Q18jLfn0UlwLCh4flIhFt5cnVY68jYXCEYzSr14LEF1BE\njxTpTG3DlfzRvpCZ0d5q/BuwA/zlAKIcKNx4UCcZ/2+9WxXPDJd0DkYjfyVC\n4yqA/C+Ymz1HuD+fXmDyvBC8pNpWu8hQL45he2NLcXr15fxs+YuQLi1FfL+F\n6Fp52Q17D9+b7sCnvBlE9WpAVo7ejZqAmsQcwNz+/JqndvX+EGsSGmc77emQ\nhDSSLGVvFfGq6ghkmP5H2z5ZoC8e91ZTxjjvbKreAdBgiya73quH2kGGxB19\ndcH0LNzpIO5dc0ojtORx9F+3dMQa7DURpz8IZzt5B/BIJ5mEEcjYztRqf1Ez\nsYs3HwfAMB4pdcbp9SoXuRd6teC2g+KOOmEmXgaVS9iVs/iUZYTpHQ+sxVm5\nb54oBjZlZJxxCk7jqhFZ3gI1w6Nbf/V2LLZLS/khz1PXaC2XT5CtxNMjEa6x\noU9P\r\n=lg35\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC0KA+8+rPSsB+4T4EGxjoXkmG+WvoEiGFoKlkkyljOuAIhAPd9u+yGlvNoDSJShhNAuuEV2r66fIWpkGg0QLppVvxi"}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_0.3.6_1552452509679_0.0334874912565748"},"_hasShrinkwrap":false},"0.3.8":{"name":"@skypager/apps-portfolio-browser","version":"0.3.8","description":"an api and application for browsing a portfolio","author":{"name":"Jon Soeder","email":"jon@chicago.com"},"skypager":{"category":"apps","buildFolder":"build","webpack":{"build":"webpack.config.js","scopeModules":false}},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","build":"cross-env NODE_ENV=production webpack --config webpack.config.js","postbuild":"skypager hash-build","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"cross-env NODE_ENV=test skypager test --webpack-config webpack.config.test.js --timeout 30000"},"license":"MIT","dependencies":{"@skypager/helpers-document":"^0.3.2","@skypager/node":"^0.3.8","@skypager/portfolio-manager":"^0.3.8","@skypager/web":"^0.3.6","apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"devDependencies":{"@skypager/webpack":"^0.3.6"},"gitHead":"d87684b37d40a53824efb396a8469682f18288a2","keywords":[],"contributors":[],"_id":"@skypager/apps-portfolio-browser@0.3.8","_nodeVersion":"11.9.0","_npmVersion":"lerna/3.13.1/node@v11.9.0+x64 (darwin)","dist":{"integrity":"sha512-Vm1OFCgj+OGUcv1cUUcfKpzqzRCicGFO4YVTo/Xfims3KkHlofy6412AEoLhJ1L2wOeqXJd/nTQq274m3i+Hng==","shasum":"b580aa2881105a9660348a1409768fb668bac307","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-0.3.8.tgz","fileCount":59,"unpackedSize":11543266,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJckY6jCRA9TVsSAnZWagAA1xkP/ibYwrnvEPr+jru4vlmV\nZRZLxebDTgwoe+1Y2JstK7DnhMPxkB6zYaG6OSgwz+Tg0ZM46nAnjDjqSL1C\nifbcFmHWJLDQzLfjLNa0NPmT+aWLQ7QBxdsr3XieBmfckAxb7OGo3g8S6UDg\nVZR4eDsSy/Xy3bAo3cKAPh7DoQA/+XWWBiIu6lYBcrorP7VF7a/iaLtZwC6T\nO6ccbld8nAnWL0R9Fq88OdfPboO6AyqT38XIqvc5mlltggkM4KmNfpfYOyGA\no7Y9wOEt1c+ttLazPZS/dbJjvGT1PAk2ZCQqXQkICSlZFOIDOICjfYsKh4Mq\n0Z1hP1NiroSh7SBtEquL+setaFrLnXoKgsPBR6dTZgZ4i0qHbIZImXq1Xpmr\nuuTnmpPva5XM+XyQ7NPUMve5hC/7w6+jhvllPOZ5HEmTEblzpKQTYCUjql0x\nVhGr6HnDxAB21te5V4pCht7Ek8CYc5MDeoIuVnUyYFCTn0iG5v/CjZXNXXPw\n9rncIu27mZdJYC59Y7ku3IU4K1DSQeEA0F9HlHNlzQSYm3ji/UwxAGwwiVTE\nmszIpii0qMorhNu9SWRPOI5YMKssDt+SUWngiHcRVuMg9fqysjHcontA/bVy\nwxfzn6tf/9F067+XvUApcvyCEfIcxmapVo9BGx1OeIfXfnSybi/uO9ZXztK/\nUYyS\r\n=ML0A\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCixB5vrgQkPMnjWdIQdq5b9NerqRdEwa54b2fLqGbOnQIgIiDwg7okmsm+7YIhJ2tjAuyeqXM8eYVnsni44gSdwxQ="}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_0.3.8_1553043106934_0.3664925051633716"},"_hasShrinkwrap":false},"0.4.0":{"name":"@skypager/apps-portfolio-browser","version":"0.4.0","description":"an api and application for browsing a portfolio","author":{"name":"Jon Soeder","email":"jon@chicago.com"},"skypager":{"category":"apps","buildFolder":"build","webpack":{"build":"webpack.config.js","scopeModules":false}},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","prebuild":"skypager snapshot","build":"cross-env NODE_ENV=production webpack --config webpack.config.js","postbuild":"skypager hash-build","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"cross-env NODE_ENV=test skypager test --webpack-config webpack.config.test.js --timeout 30000"},"license":"MIT","dependencies":{"@skypager/helpers-document":"^0.4.0","@skypager/node":"^0.4.0","@skypager/portfolio-manager":"^0.4.0","@skypager/web":"^0.4.0","apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"devDependencies":{"@skypager/webpack":"^0.4.0"},"gitHead":"2e3684941249a6f1cc5ec041800bfa94f98c069a","keywords":[],"contributors":[],"_id":"@skypager/apps-portfolio-browser@0.4.0","_nodeVersion":"11.9.0","_npmVersion":"lerna/3.13.1/node@v11.9.0+x64 (darwin)","dist":{"integrity":"sha512-0yjj5dGn7j8tElKGG39/kfc8tQe2kWq34phFKQzeO301fgZyWjk577xRUmrTgZz+NYLS+3EuJGMDFdj06c4g9A==","shasum":"140052e738fb440249cc4c66989f48c83d836aba","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-0.4.0.tgz","fileCount":64,"unpackedSize":14705819,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcmrfXCRA9TVsSAnZWagAAekMP/iFjxf/ZGYfXG7eD9Q9T\nFBCl8TMjEOf6XlpZRhSh7OWq/+zKF7Ovwdbg1Xox3RLjJWTOk7pa2AL4OlBP\nCXNB0MZLMSdAmqe8JscM8EIm8v7qjzCgnA/u1az/sXUOR1l99WhhYoca7mBo\nwadlMWCv/KuqCVIlb8jjNd99kkxddQF6tAgEzfksARGhwV8X0Vc7k0rQb1Sm\n2tv/qtwZ8IpZCWfQr2wXYcQqiw5s/1uBozJ0ZD1UtPoaIs8mg82RrqpBjstf\nODXiXFrjwnsMqDIX2m8JEru8zDHmEsjyLgKSk16HfyiteJrlZHVPCFaMwinD\nZLSbSp4lWIxXvWPZzVb07RCBkqVw4VIWV6/+6sLPEIi41NKCd9JlIuazfRdu\neJGVNkypVGE9dYDbq1rKuKGEB+IQ+huv76U5vkKhb2BqKnOHChCmgcRTo2hD\njBJCiEQe/iZDUZoNX+m6kDCMLGrZVJKRUDZh+KLJcVsidN+fUNmquY4QSx8Y\nn8YBuIevwteaifFWYViFh7bxaEsbq7CC7dT2yOQBA9AhCRFs/59FwloiC9j+\nI8n5PerMx+/2RAqySsKzjV1Ssavf9NmOpVAq2PWMsGeJ6pGcwk9vCGHxHWSf\nQRazgKaWahAp3scqKP3MBu3mN8CC4l8QFW+h7A9lC0kuPeTEKaoXHd8IfEYd\nrU3S\r\n=QjK8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB7+xfbZxVMt6IHRTBhpGjYKKadKSTs0ll4i0osogupFAiEAzqxZNQBJJ7bWMp/tj3J9o/8SSm9BS6AMRPNNafPHtn0="}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_0.4.0_1553643479082_0.13532597754081066"},"_hasShrinkwrap":false},"0.4.1":{"name":"@skypager/apps-portfolio-browser","version":"0.4.1","description":"an api and application for browsing a portfolio","author":{"name":"Jon Soeder","email":"jon@chicago.com"},"skypager":{"category":"apps","buildFolder":"build","webpack":{"build":"webpack.config.js","scopeModules":false}},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","prebuild":"skypager snapshot","build":"cross-env NODE_ENV=production webpack --config webpack.config.js","postbuild":"skypager hash-build","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"cross-env NODE_ENV=test skypager test --webpack-config webpack.config.test.js --timeout 30000"},"license":"MIT","dependencies":{"@skypager/helpers-document":"^0.4.0","@skypager/node":"^0.4.1","@skypager/portfolio-manager":"^0.4.1","@skypager/web":"^0.4.0","apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"devDependencies":{"@skypager/webpack":"^0.4.0"},"gitHead":"9776dd948ca884528d1652f0884b1a2d2e0f238d","keywords":[],"contributors":[],"_id":"@skypager/apps-portfolio-browser@0.4.1","_nodeVersion":"11.9.0","_npmVersion":"lerna/3.13.1/node@v11.9.0+x64 (darwin)","dist":{"integrity":"sha512-le3FwgExMkEa9KQakXNQ3aKcirmPGphPlL4cdNCcPgSP7vRspfpPRxSkMq1RuR7Nl/Rw1mcjtGGsaZwpPGD08w==","shasum":"c95c8bacd2694673329f6e67897cc2e0b657e064","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-0.4.1.tgz","fileCount":64,"unpackedSize":14706630,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJctTEDCRA9TVsSAnZWagAAIXoP/RuXf3Lg9xg5hhBYgage\nIm2CoaYR1lqa2aK87O2+8D8UoD/O8eisE8dK0gzmWgt+HsvLj9YRhDIUkszH\nTDxRcb7rgVtpmEvI4iYdexGE60mMT+3zoobjiKZPdgycRE32sGJW5+S728vR\nvv+E50fJn5hzkZEdDIainWI2jekQktVTwIbEVu5kaZoR4EKTY5kDz+jM6UaE\nXD3P0nyJsnRNZDH7p6cOhvJ+d0RDcc0B9MYlId5P1PnctcnxY35jNyIlXBT3\nh/ziIfmSjVM/KSHtRg0hZtilHHTasL3aYfWLajDSMuCvS5NbgUF5PPjR74aQ\noE6mh0Ck7OH08AEbzUioKbQsCq6ewk3yfIlXVpJGXbJn1AKiPbSK80kS8KUk\nESu/KvtQHRrnUd2EnxwGX7pjKsEhmEHedi0rdP12N5KhXiHl8GKT34g8omb+\nr/Rf7MJML45xz1+i9frgbzl8RJCJlCDioogI7eS1TtT1gsGvWhkeoPAxT3a/\nUMue40jnIEQPRxbGqqQAmzsaHsQK5CnjkQaKnqtgKp/yVXOckRx6viHb7Die\nG6RnBAPSncbe1Q467vaOXezWRcoL5n0RqT3IG8AKtmUm6XR+7LrqvdH+JeiY\nkM5Cm5XLX7I8h/3LBRiNyejueDI1XgLJaRWv0MkWFEwYbPOnCvetrVEIo4x+\nWGqB\r\n=Zt4H\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFL2Xzk+DEPqnuZ8Q8s7GrccKQRy94wjGZo0eA/LjqRlAiEA/S7t5lvCFq1JLF1KGcjYght4eppdt4iBmHG+toDgdxM="}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_0.4.1_1555378434354_0.45118501797894606"},"_hasShrinkwrap":false},"0.4.2":{"name":"@skypager/apps-portfolio-browser","version":"0.4.2","description":"an api and application for browsing a portfolio","author":{"name":"Jon Soeder","email":"jon@chicago.com"},"skypager":{"category":"apps","buildFolder":"build","webpack":{"build":"webpack.config.js","scopeModules":false}},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","prebuild":"skypager snapshot","build":"cross-env NODE_ENV=production webpack --config webpack.config.js","postbuild":"skypager hash-build","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"cross-env NODE_ENV=test skypager test --webpack-config webpack.config.test.js --timeout 30000"},"license":"MIT","dependencies":{"@skypager/helpers-document":"^0.4.2","@skypager/node":"^0.4.2","@skypager/portfolio-manager":"^0.4.2","@skypager/web":"^0.4.0","apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"devDependencies":{"@skypager/webpack":"^0.4.0"},"gitHead":"b2ace55d4e0a3fed6d44a7b39ae519d1f75d2ac0","keywords":[],"contributors":[],"_id":"@skypager/apps-portfolio-browser@0.4.2","_nodeVersion":"11.9.0","_npmVersion":"lerna/3.13.1/node@v11.9.0+x64 (darwin)","dist":{"integrity":"sha512-BbwD+VaeITp+K/4iDrVpDYsR9R3uDZtADwOivwl8U/zd9GZb51XNAiRNjLH/qEg1KbWApWXfWjBQMTg/Rh4sGg==","shasum":"c7aea4b52cb9a43fab93fcaaea11dc25f447c9c5","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-0.4.2.tgz","fileCount":64,"unpackedSize":14707191,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJctWC5CRA9TVsSAnZWagAALXwP/2PsP91J4t4MdBLam51Y\nDKN1tk32i6gEHf1LjgYskbE2PJg0+QaznvMrQx96Yqswi8SfuAEii25SV0KN\nu82X52GVDkp+mJqgeycU/IotlhFVROXkWYL4MZNqU6uKVxq8y66fuLrv2I93\nTkB0deADH6stLLa6r9h7hp9Uw6TXXERcZJKzTrtm1w2l52iwcxMntqX/WEqR\njzE7kc4RgnSBiXIWMiRL/1yEOccA7SetGLDIrQ1SYCwCKY7xTCQbamkmGudM\nngQPavEtXIAi+AzKmBQxKeH4nIrgMyGmTHKKL90pgpPc14xXiUW1VCIJKg5e\nO6upPYbYhHbi4J0EakWS9uG5heO22HxIoA2Swz4g4EySJJfq5cJm2c6qm3kP\nesjZ95SvkLn6CMumGnnibkf8y6KoGA8icxO2+o90HnjXaK7dQUNn3CeH/OZg\nw4ZozrBYb/NjI7nP+BRxKO4hg02aGeOR33uhaDq6RBHjZEkeyy4ae90qJq0u\npj9R2DclZdUYdEHf81qxQ6Js8G6EzdgxXwnBvnyUhTjIB+5dzeIZ01IHFVmO\nC39IT0QTvaTC+a55P41tSJduac/Kj+SJGDKmIL3FC754YacxK6xkh+9pl3hg\n5LIEliKNC4qbJhsC7oGAZkrLfWV5HHOAdVdMYaf8tVj5ACSHNWZbDYy74zJq\noLaP\r\n=ai7V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDmyWIp8ZKYkbzPdCFya6cEVSGLe8T79rbtpz0LDbXTqgIhANgF3UxCRtWYtSpIx8ppc16k9e+cbm7mXJATuUwsOXhO"}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_0.4.2_1555390648998_0.993136267963387"},"_hasShrinkwrap":false},"0.4.3":{"name":"@skypager/apps-portfolio-browser","version":"0.4.3","description":"an api and application for browsing a portfolio","author":{"name":"Jon Soeder","email":"jon@chicago.com"},"skypager":{"category":"apps","buildFolder":"build","webpack":{"build":"webpack.config.js","scopeModules":false}},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","prebuild":"skypager snapshot","build":"cross-env NODE_ENV=production webpack --config webpack.config.js","postbuild":"skypager hash-build","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"cross-env NODE_ENV=test skypager test --webpack-config webpack.config.test.js --timeout 30000"},"license":"MIT","dependencies":{"@skypager/helpers-document":"^0.4.2","@skypager/node":"^0.4.3","@skypager/portfolio-manager":"^0.4.3","@skypager/web":"^0.4.0","apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"devDependencies":{"@skypager/webpack":"^0.4.0"},"gitHead":"82196d7f2a14dbed8b59f9c2abd4a9a8cba6997c","keywords":[],"contributors":[],"_id":"@skypager/apps-portfolio-browser@0.4.3","_nodeVersion":"11.9.0","_npmVersion":"lerna/3.13.1/node@v11.9.0+x64 (darwin)","dist":{"integrity":"sha512-K5f9Z7ji4qOuQzAJrGxeRwaKi8y3Xke5eJhWr57DOW5Ir90yTxil5Wsm+8SUhuYPQuBFGc60p66wlQSGkv7jeA==","shasum":"60268921ead60c6f441726728b73db7f4ebeb3d7","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-0.4.3.tgz","fileCount":64,"unpackedSize":14707191,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJctekhCRA9TVsSAnZWagAABywQAJn7K5LZvU1hduPm0u+X\njcA9aFh0LhHUgoECM5CB1P3wA/l3DeBmMHNGJ8iJFwU0oPFaPjvzyAcqDfZ+\nqMW3jVW6Agut5jg0KURObfEocpIVJk4zRmnFKXaf4hsFv1g9mT3incCVp+4k\nVW0DHbAL/gmdzroa/0RXUL83OQo4y/QY4bdfCSYvIobBgQ4tiP38Aoy7DCzC\naQaCy4Z5CcR3k8A97UWfHzfZr1TqSWA1GP/3rbIm2B68bciHNMXTn7q1ptwD\nbBm5nvr9NyDyJql84v6BIw8r6w6HBtoyIR2imfBBcYogStptLTMR1TJjifmT\nEwaMXei+eKky/eIyQuX4oIKzDHoE4ycPo42ZyfazJCGUV64q7m9DWxrCdYoQ\nY2Ccl5x39oq3/JMmrWdAhMy8J/55c1uTPk1IT+eK9AwxliP0GztifHy4UXzt\n9+xAJbFHYuq+eE1PMK9e5Nzu/MAocZzDJyeIykO8foIsye92nZMGb3TaDO1W\niJ65oedjVwQDRiHp7vQcOo+pQq8OS/pkByCnccIRDYeQG53rRtxub8CK/V7U\nlcttr43Ql8AtZclRBtcAQtWHQePuiFYQbgkoj0C0iAFW4Bgtcwj5FCDCheMY\nGHhho7g36A6XHO8dDu9aYupiubllwprp1XicS0voI3rph93PmG3Tf3xzJ+6A\n/N03\r\n=DOMu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHuDr5Gg7unplGY/pK1dKH4ssEQwUBxvAl1Bf0G5h/cKAiAFNT4nV9tQVSfKX9z4cCA127DHl9Qi2voPWWuvx+JSyg=="}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_0.4.3_1555425569041_0.30750680247765927"},"_hasShrinkwrap":false},"0.4.5":{"name":"@skypager/apps-portfolio-browser","version":"0.4.5","description":"an api and application for browsing a portfolio","author":{"name":"Jon Soeder","email":"jon@chicago.com"},"skypager":{"category":"apps","buildFolder":"build","webpack":{"build":"webpack.config.js","scopeModules":false}},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","prebuild":"skypager snapshot","build":"cross-env NODE_ENV=production webpack --config webpack.config.js","postbuild":"skypager hash-build","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"cross-env NODE_ENV=test skypager test --webpack-config webpack.config.test.js --timeout 30000"},"license":"MIT","dependencies":{"@skypager/helpers-document":"^0.4.2","@skypager/node":"^0.4.5","@skypager/portfolio-manager":"^0.4.5","@skypager/web":"^0.4.0","apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"devDependencies":{"@skypager/webpack":"^0.4.0"},"gitHead":"3e2dc0a1bffe217a9517a79f2bb19bada75c820d","keywords":[],"contributors":[],"_id":"@skypager/apps-portfolio-browser@0.4.5","_nodeVersion":"11.9.0","_npmVersion":"lerna/3.13.1/node@v11.9.0+x64 (darwin)","dist":{"integrity":"sha512-c64mQULhq7jUSYdydnPv0zcitTdwLAtn8gO72gHPbCOftjrO/eF483UMBIVpQ2qB6pYT/lr/BUhZ9wq1DjD7Nw==","shasum":"16543da17f1f6513159ff218568493c6c91ecfe6","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-0.4.5.tgz","fileCount":53,"unpackedSize":2113986,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJctfMvCRA9TVsSAnZWagAAPzwP/1/f1Prx1CZ/P8BeZhCW\nJsyIq5G9WSR7OudQrNHHjHRD2mJis5tU4rx/F394X4/Zh6Y/pSUkxfJNlRkB\nvNAUKs8PeVvpWVc6gUMmKqFEh48f1EbXxZkkh9i2W9t9EllJN/dX/J5U6DsR\nGZhezI+fRR4J+gTQ3Odeqk2xDv3k8bB/0JT8KMJc1nmowq6eTtW30ZEUqJWF\n2jqlZTlMbVJDi7JKcmqadVGV04Jly3nlgHUT8zQfRnv5kzrjRWS85diJeAGq\n0Zws39273IZqO6g+T1omsLg/XAJPCQP48RcbN5orwp5JPbxEtCnebRhsnL6G\n8+B/NsXi0i7CUyatkDWRlH8YEzvV9lbE1ZxM+XP3EuzfGZvB3oXtc4bCF/ha\nMqvOhNwxZDBcjaP66jTCD7yU7FNYg03/5CEe6FtkBsDFunLD2cBzvqGYE29g\nVseTtZ/1/ptqhhOTXlpkw8ySxFUipSaFEI07Ok5U5x+7/LXGiLf7AlwEBD+H\nkOS4sOmOevk9ZeIpyksiixSIHUfSymVhAcEHTKyE4vMJKB3IPG83ScQNlNMA\nLw1XZavnovG/VseGRw/Kb8SCBlk7aL+dvaVCHGbFurgE2JTf/q0PwgpAsgcn\nfelhkTTFxtjMyiv2DzWVOPcdqhbRtFtfhcr+p1KzEuLm6ndtLsGoUiYax/b6\nca15\r\n=06Tz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFuNpv6w3cl6OIOZ2ZY/pSyQuWCt4xl1KkP+C7w9K/zfAiBfXFblEWeAPWm/JAVOJuJ0LmnDDRl8ubmH9PAmTTow6g=="}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_0.4.5_1555428142805_0.8572165896463961"},"_hasShrinkwrap":false},"0.4.6":{"name":"@skypager/apps-portfolio-browser","version":"0.4.6","description":"an api and application for browsing a portfolio","author":{"name":"Jon Soeder","email":"jon@chicago.com"},"skypager":{"category":"apps","buildFolder":"build","webpack":{"build":"webpack.config.js","scopeModules":false}},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","prebuild":"skypager snapshot","build":"cross-env NODE_ENV=production webpack --config webpack.config.js","postbuild":"skypager hash-build","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"cross-env NODE_ENV=test skypager test --webpack-config webpack.config.test.js --timeout 30000"},"license":"MIT","dependencies":{"@skypager/helpers-document":"^0.4.2","@skypager/node":"^0.4.6","@skypager/portfolio-manager":"^0.4.6","@skypager/web":"^0.4.0","apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"devDependencies":{"@skypager/webpack":"^0.4.0"},"gitHead":"488efe04bcda1668ade21fe938c84c7c226a6c69","keywords":[],"contributors":[],"_id":"@skypager/apps-portfolio-browser@0.4.6","_nodeVersion":"11.9.0","_npmVersion":"lerna/3.13.1/node@v11.9.0+x64 (darwin)","dist":{"integrity":"sha512-AtO/RzLUqhkJwig3XZyY0+Fi1gDLme3E+sLpxj8qVCocX5KyIODaXgwvSXqLB7VIeIt2QSCcCGhcZJaKM2NOKQ==","shasum":"34ee1d6faaec144fc7ebd4f393f00e9effe66ab7","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-0.4.6.tgz","fileCount":64,"unpackedSize":14707634,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJctgrFCRA9TVsSAnZWagAAtNkQAIJ6SbSnoV7jZMSmHnej\nkvGcUoUEyU4eM2hDwC3xJuyl/hDxzLFEGbnv0aZWGDM5Q6Q3zaj1ZLDs7WGr\ndeGxqdojrvRSYy4BdKxkl/7I9+fej8cI61JEO9kKE1kqbhd7LiZR6+v6Jsg+\n3HaOW/qmsy9f6SPJG4l9oYg2GDRt37iYFJc8uEbSioB6lvuZE2rZiJBcnUnT\nUMhsRZ783SdyHEQhIZ/BD6ScoEtdMmuwtEpJ8Vw+pk4G+NJqDUSVNrtzJ8W3\nRWo90V7skMWcPyf7a6+KxUtJmx4JinNZcVG3CH6FquVGOQHNCKkOC4TaVcxo\nSnZt5NI7E2xhAv5YSd6uY909qUj3kAxfpxQSytPhnyi39lICwakDJuWYsgHM\nG02HQuzaEnMFnx4/I/fMI41LUf5KuShGyO0Fhgm0/GPmX9o1K5vvb0NvnUCd\n6du7R3MWjyI/tg4Gn5cOYRiTx7Mf9SvQYR+pGhK1UVtg4/mA7xU09jEifYSx\ncOYLHmxMlAGk/3lgdK9UwpblJa/gOKFiPi2c8iViwDDfP5GDxOoEzTlY5SYz\njH78bzozfZWSP7QEFEWjLYFeTRGN9KCQZP8zj+G2AJwxDtYIsnHuZzfaoBuS\nzqUXCYTbdcr2iSWcWL+xRoS6R9n1pAtRiTuVtmkkjtMSwJvLSzYp7iRisGV9\nNJzD\r\n=76/F\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHLDqvMvo91xAxaN8KMjCmyozMCc51yp9z5NpzYxhePeAiEAmDKKVNQhxPFkB+mjftKMkJZvCRrKCtHFjlz58iFTenU="}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_0.4.6_1555434180501_0.9636426293466405"},"_hasShrinkwrap":false},"0.4.7":{"name":"@skypager/apps-portfolio-browser","version":"0.4.7","description":"an api and application for browsing a portfolio","author":{"name":"Jon Soeder","email":"jon@chicago.com"},"skypager":{"category":"apps","buildFolder":"build","webpack":{"build":"webpack.config.js","scopeModules":false}},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","prebuild":"skypager snapshot","build":"cross-env NODE_ENV=production webpack --config webpack.config.js","postbuild":"skypager hash-build","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"cross-env NODE_ENV=test skypager test --webpack-config webpack.config.test.js --timeout 30000"},"license":"MIT","dependencies":{"@skypager/helpers-document":"^0.4.2","@skypager/node":"^0.4.7","@skypager/portfolio-manager":"^0.4.7","@skypager/web":"^0.4.7","apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"devDependencies":{"@skypager/webpack":"^0.4.0"},"gitHead":"894955cb1ed5e22265a199167a1e61f03c47787b","keywords":[],"contributors":[],"_id":"@skypager/apps-portfolio-browser@0.4.7","_nodeVersion":"11.9.0","_npmVersion":"lerna/3.13.1/node@v11.9.0+x64 (darwin)","dist":{"integrity":"sha512-VpTtWCjjSNKKxe6D4UkZ+CBHS1iSe50VD2F2lb63xkWOrk3ytjkX3t0Fg7EQdTCVsexO1mCTjQu1pcNZ2qeCOw==","shasum":"7565508549c94137a0c010fd21a5b27d3f034319","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-0.4.7.tgz","fileCount":64,"unpackedSize":14707635,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcvzYJCRA9TVsSAnZWagAAdNgP/RotBBRmH2y/uiydhPI/\nvoNfkPpkxkblxG0zyJvINSiv02bmm0Rn/dFu2LkHzDf0XjvPYyNWdV8LxMp9\nT9rLIDknRlAAkOO4flN+x+BB1GH3dKxD2QX53rkKjPWccEtg02+nSKICNQ1w\nCZAXcUZTcF9zDdqJwCshfB2YUD4GmaIQXMQFW3P5HnPGSXgR5clMX06gqcGZ\nB7hjtUrlVlej0pBEmEz8luXSCOMU4kAGGS3VtbjZoH3bvUlB4tk6r+U1Au4G\nm4F4Rpox8uUq7Z4UIHYkeweg+YuC0pTMNe/eirxLQo7jo3BQjd1DPdO4VSLB\nu+jaovS1B7ptaBPQRoEGxI8v8hgE0VzyFFjKpoUvSd+UB4AxlpGgvv/6EcUJ\nEn1Dj1N2mPUzu9LnYac/peKdAcWXEBsRYFNSrR46Uo8wY8nxfDi34ZxdMDIc\neR8DpcW2Lv8vXZxKbc7wAG8QA5mKxZiP8wQmwdTVQ7IXtg1i1FDuf61mJbiU\nkCjt+zDGeSrvNo9iMvoz9ANzgNNZ9qYoZgD6fb6xTNVtWwBx4qaojzXOPVeb\nMvk3/X8y5kEOWSO8K2trdwm00R5hjwpg53YrgAw58ysr/eFnXClBBDeRKh7r\nXHA8+9k256QaR614C9fQE5zQ37nudDNLAssWT/bzzjvklMCt8zRp/PJOe6+I\nuzn0\r\n=VZAn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBRi5QJZ/daLFkFTPaf5+X1hBiKhp8r7qcRHBMCpOmTEAiEA07Qn0qR/aGPccAfKOl9FV2o+dfqvLIbh+n8CM73elBI="}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_0.4.7_1556035080424_0.9263183282001326"},"_hasShrinkwrap":false},"0.4.8":{"name":"@skypager/apps-portfolio-browser","version":"0.4.8","description":"an api and application for browsing a portfolio","author":{"name":"Jon Soeder","email":"jon@chicago.com"},"skypager":{"category":"apps","buildFolder":"build","webpack":{"build":"webpack.config.js","scopeModules":false}},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","prebuild":"skypager snapshot","build":"cross-env NODE_ENV=production webpack --config webpack.config.js","postbuild":"skypager hash-build","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"cross-env NODE_ENV=test skypager test --webpack-config webpack.config.test.js --timeout 30000"},"license":"MIT","dependencies":{"@skypager/helpers-document":"^0.4.2","@skypager/node":"^0.4.8","@skypager/portfolio-manager":"^0.4.8","@skypager/web":"^0.4.7","apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"devDependencies":{"@skypager/webpack":"^0.4.0"},"gitHead":"ca94e78aca85614fa8bc13f79b06451e58366104","keywords":[],"contributors":[],"_id":"@skypager/apps-portfolio-browser@0.4.8","_nodeVersion":"11.9.0","_npmVersion":"lerna/3.13.1/node@v11.9.0+x64 (darwin)","dist":{"integrity":"sha512-jyQzba0PGkhrAr7/ItmMMMlg7d1kXVyETZ4mtp78QiglZd7pNvFp7aldCfTOSyKgKezBejfFH1qL1IKoACAWcw==","shasum":"1bd8ac009c6c2c3c52b959d4365c75da86aa9132","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-0.4.8.tgz","fileCount":64,"unpackedSize":14709754,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcwQlOCRA9TVsSAnZWagAAcdUQAIvkkv5FPJiVEFNnQCcg\nEXaXorXb7dWpUNPt9H7HUx4A+WinkT6rBqjSLCGTYvLfOsP4hqBabqI/H3a7\n29Z0rWKe566QdaY+nWOnQXhkoILH2iF3uQ+3vxHub+qm7wwyP73k2h6rgsVJ\nEkuNxFlpd6+GXfOIDgF6IsduhEbLnr80zDhCh5DbzAC2G7Oz9TD/vrJRpw2i\npo6VT7URkOdaslDDIWutgWYxknPiF11owJp1j6qgPbQUAdJBU/LGgoKaEWQH\nifDfRepajM2jfvjFJQI9EVRvMt0hCnRBUU2O+xJFyArf1fP5RJHkLEGtroLo\ng7G1Zr07/Q2TK5eWx8WVq96I+weCWcH0hoggYKxasXfHYzOShonUrI5tXR8T\nTJ98Su595edXJeFPlKREg9S8n34zn3CbvByw/mxlOlJHX6+JZJyB8XY4AHA2\nMoDeA6b8jUIkiTppzu5Nz2N2zHs9AQqq8oY2GoegtaW30Di7pw8nd7Q7p2Z2\nDsKaDYtlxpeP59IdOnSCRXGJX/YI6wQTNuV00f/5jpTjwfHxrDdnTsjaqn05\n+MHe6qo9WHpFhqY1YWWszykHTKHZBntjQCkQvkUUvTND/h2Vn12J6S6Muhx0\nyA8CtceisPK+/Lk0Qt3I7eGaUScSAmnlWHtyXEGgif/1ih/cEbZlHZLBNUOl\n/I0b\r\n=8/pH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCEQVyQFdaYI2W5eiN6AdQ/8IPm1/v6AjBHN3FuL825JQIhAOscgS0y8hFU1xKVIi4Qb2j0zE9+UGIDRxGYIw+CKQuP"}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_0.4.8_1556154701271_0.3822647681220652"},"_hasShrinkwrap":false},"0.4.9":{"name":"@skypager/apps-portfolio-browser","version":"0.4.9","description":"an api and application for browsing a portfolio","author":{"name":"Jon Soeder","email":"jon@chicago.com"},"skypager":{"category":"apps","buildFolder":"build","webpack":{"build":"webpack.config.js","scopeModules":false}},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","prebuild":"skypager snapshot","build":"cross-env NODE_ENV=production webpack --config webpack.config.js","postbuild":"skypager hash-build","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"cross-env NODE_ENV=test skypager test --webpack-config webpack.config.test.js --timeout 30000"},"license":"MIT","dependencies":{"@skypager/helpers-document":"^0.4.2","@skypager/node":"^0.4.9","@skypager/portfolio-manager":"^0.4.9","@skypager/web":"^0.4.7","apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"devDependencies":{"@skypager/webpack":"^0.4.0"},"gitHead":"19dd7a71e981f64058124a86677ec21b755c9df0","keywords":[],"contributors":[],"_id":"@skypager/apps-portfolio-browser@0.4.9","_nodeVersion":"11.9.0","_npmVersion":"lerna/3.13.1/node@v11.9.0+x64 (darwin)","dist":{"integrity":"sha512-lMx2SqEqC2yERHse70avKkzoJL2+OUx6rXCielu1etgAVmo78sJkDPl5OVPFXvfMxs8OQe5kn0FyneFbPSf83Q==","shasum":"6777115672216ca80c16b5e0be805297ca71fbd8","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-0.4.9.tgz","fileCount":64,"unpackedSize":14709754,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcwcKrCRA9TVsSAnZWagAAoY0P/0iwgjm0p/scuOGOSKZj\nKBPWNW2urkJjMtunmPCNMDp6ZQLWWDPtH8EYvMM1UV3vwth0SdqiNMGqtG8x\nli7CaYi5a8JSsXAKt8qlluS6BeEmx5X7JbxXlM3PlrjdRF2dj1EMihbOZoXi\nk1Ua1MLdejUJRen8NH6+GJ9uVpbUJbbEhzuemFQEDNgR1+4ZWUKwL7hYBpwD\nKzyZG5Vl5vE6iccdyoDyKvKCDKUPLH/aZRniZ4yKv6PupuxG+YjIwoOsEBiv\nReZ/i4kwbSGCE5vp8VCh4fdJIWb7O8AVGXIPbThS93IWdad3nmjP0h8SUFX3\ngBpfyVTYaRF/pDeXpuP0ZxPr9jcidH0I3GNrCpsS+twVm3aOg7wPWjoNywDF\nGw3e9MpGV2on7hV503ZOzuMdRfDfa7Jz4PPY45UHsu8EoWPyjDkKeywM9XLi\nr9IUN+6XbE93HjiQ4CDNzHIpEdAubETRFpmZbHMDioIYl0HZ+viJKRY0o3tF\nwNS2suv/ZfD8raGSi38qI9mbkG+QAG0+2K7yynFQMEq/ue/XY6Ul7Si9UpR5\nAkyndVN17UWUclcBu4sZo2SyrPGyHPxyrEDDTAblRQ5D2pkRvMiHKUKGuSwe\nPfULyaNrhqWPo0+vxsGApzIs/AT4J+Ef2UMT2C4b46kP719rsmpAFAjDdz9z\n+I4q\r\n=yaYr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGQ2B9VnL5Xn1P3ccafmMWQ+Y8x3aPfe02Y9FvXDnGTOAiEAx0vmzquvtbw+r5rLnaQlcplaeJAyaNBWYnLSyjMC5rA="}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_0.4.9_1556202154953_0.028027431809724446"},"_hasShrinkwrap":false},"0.4.10":{"name":"@skypager/apps-portfolio-browser","version":"0.4.10","description":"an api and application for browsing a portfolio","author":{"name":"Jon Soeder","email":"jon@chicago.com"},"skypager":{"category":"apps","buildFolder":"build","webpack":{"build":"webpack.config.js","scopeModules":false}},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","prebuild":"skypager snapshot","build":"cross-env NODE_ENV=production webpack --config webpack.config.js","postbuild":"skypager hash-build","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"cross-env NODE_ENV=test skypager test --webpack-config webpack.config.test.js --timeout 30000"},"license":"MIT","dependencies":{"apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"gitHead":"d8469774d5da9b63b7b3239183873fb9663c883f","keywords":[],"contributors":[],"_id":"@skypager/apps-portfolio-browser@0.4.10","_nodeVersion":"11.9.0","_npmVersion":"lerna/3.13.1/node@v11.9.0+x64 (darwin)","dist":{"integrity":"sha512-mShR4XGmyTKu6aprUw25ZVZqaEHNyYzXY0xrf8FFUIb1wqgleis/WfadCNuCuIJCAmMDXje9VAlFhyREc96/rg==","shasum":"73c37b8a1ffdba5376b982f9ef733cc9cd7280f3","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-0.4.10.tgz","fileCount":64,"unpackedSize":14701632,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcyOp/CRA9TVsSAnZWagAAtFYP/RG00bAFRFL4cIBM5WPP\nJDCYMe2ATLG9CDMY/XUFWuntXvHRWkcqpSZ3nJQYspO6oaf33qO3KTLugQse\nFqxxncCf2tOYwkJ3zBc+m6YujPONGkJeah7kKWyVvsc7h4UtZ0oDStz0Zyo8\niwDoXCJRLgDn5/kEEXIPREfbI8o2gvBnVH+3lJifGGNXpj1C5spAKlsvSqi8\nl7Zkk847UN6csjwf6o1pgRbNFMnXWFnUBOT9JfEQ48aRnNp4MQS3ts2zjo2H\nGzORiSz00UTcfApZ1vfIXRQdNIrKVW0njdvZ1VKujhNEpt0A1Rzz3B/Y9ijv\nTqhQs5Ccj4V/ajke8BG8tGJQsKrq2wpPJaeY7sjF2R5avyAfa/x+P7Qg/Uw8\nQjOlfdF88020bONWG/9rSOWk7QYe80jskLmezrEJeYkagx0mD3snJnRcc8Sw\nENgEK4tSWjtnlXenOM1K05ketSizaI/x2nYm723uhbHC3657dD4iVDFZnTY4\ngoW7ZpiGubk3BEkITDZP1vLqpqTh5Zva0wP3qdgNQ5NZxxXlquO9KUgmgtiY\noRLIiYvpiuGWXccJmtttHqJaQw2Cr6eradTPwR3/SdO2gSjAXz6SdAFykEXW\n7vrTEtz0fPJZOHasWbhml56r+iEHgfCuQM+luf6lcLsK5gHYDyXugSrWijri\nhwgO\r\n=B7OQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC50D3GHkEE6YhjALhzJnGnkcSXGkOWRj9liSwpjPQr9gIhAKv8y88EiOVv6JWA4vzgBUEUFTr2O/9hiRJiUXtlljpn"}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_0.4.10_1556671103140_0.556044383937981"},"_hasShrinkwrap":false},"1.0.1-alpha.1":{"name":"@skypager/apps-portfolio-browser","version":"1.0.1-alpha.1","description":"an api and application for browsing a portfolio","author":{"name":"Jon Soeder","email":"jon@chicago.com"},"skypager":{"category":"apps","projectType":"webapp","buildFolder":"build","webpack":{"build":"webpack.config.js","localOnly":false},"externals":{"react":"React","react-dom":"ReactDOM","react-router-dom":"ReactRouterDOM","@skypager/web":"skypager","@skypager/runtime":"skypager","semantic-ui-react":"semanticUIReact","prop-types":"PropTypes"}},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","prebuild":"skypager snapshot","build":"cross-env NODE_ENV=production webpack --config webpack.config.js","postbuild":"skypager hash-build","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"cross-env NODE_ENV=test skypager test --webpack-config webpack.config.test.js --timeout 30000"},"license":"MIT","dependencies":{"apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"gitHead":"f84aceb4d9e2d8c8d63f321faf705ff2c644dc1b","keywords":[],"contributors":[],"browserslist":[">0.2%","not dead","not ie <= 11","not op_mini all"],"_id":"@skypager/apps-portfolio-browser@1.0.1-alpha.1","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"dist":{"integrity":"sha512-ad4zPtvs0Ie6cSgtUNN+aBPJSbRD/ibAVEwtcwpzqZPJT8jqmjksVGJuftJJElqOnkbxQvMSbuPDyFXIaihEeg==","shasum":"4a5beb0d056ac33f58b3b2614326626ac3cf051c","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-1.0.1-alpha.1.tgz","fileCount":78,"unpackedSize":52473632,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc25irCRA9TVsSAnZWagAAnN0QAJVaXekyEKQJ++zh4VSw\noKjlcHjRMrusYtxH2cIX5MpP5/7mStTALKZ0t0RKUdCV56oUfCDO7RlPYby4\nk+q2sciKeyGTa9u1FKNg4Bax6bN2LO4y9DlD+swsurXKbLw7sKc/vnpbzONl\nCymX3clnz6ryRsKczuGeXDbu3Dvx1sDyLeWTOhaJArOVaDKiAUkLyNUmP1Et\nsXhG7m2lYUnNikNao3UPtXfAYnvtIeJpLu+35JU17tI1vry+/q6XJazPDHCH\nnKTos7qRIZ1iRLHWMrViW7hL+ZV5WirvdDF6f6d0Ocg9oaFWxOeV1l2dhY+R\n0rSEL4V78pcX+KGA9cV5LhLV1Xl95R9BZr+jOjIt6NCbAQ+CKtYuWozU9Zy2\n6aSQsx2+5IiHudTkSZCsQzcjeQUjPv3URCUP2ukvIPdqN56BNjDllhdRatyE\nnTN6AaG8VQ2OXnU/br5OKPgeqY1GmqQoWDXTb43ZnKf35bFZcn3vjY6Nrnfd\nRfmKXn5TC7KRo3yTML+OgzL/8U0OLxK83yTa8EUwGmZbm7gITvbzSPghkYe7\ngURpf98PMRcOEPcFqoieTqotrF5zGGlD2cUZ21HZQ/Q7ZqCCEF89gQNQy4go\njUbV8M8uW2u5VzMO56H4YR4EYv8lDq4PECtoVgsaUk6+N3w/DK4a5FhCMgoZ\nD/iw\r\n=TGc8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBUTRxoozNWtWDTPfUIRlzSonRM6ePwaAS/8KuuG460TAiBJZJOo7izfZlK1Ey7vIKPn3GarZplnib8zqSWQndbTqw=="}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_1.0.1-alpha.1_1557895338084_0.8610249871831037"},"_hasShrinkwrap":false},"1.0.0":{"name":"@skypager/apps-portfolio-browser","version":"1.0.0","description":"an api and application for browsing a portfolio","author":{"name":"Jon Soeder","email":"jon@chicago.com"},"skypager":{"category":"apps","projectType":"webapp","buildFolder":"build","webpack":{"localOnly":false},"externals":{"react":"React","react-dom":"ReactDOM","react-router-dom":"ReactRouterDOM","@skypager/web":"skypager","@skypager/runtime":"skypager","semantic-ui-react":"semanticUIReact","prop-types":"PropTypes"}},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"predeploy":"skypager snapshot","start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","build":"skypager build --app-only --no-local-only","postbuild":"skypager hash-build","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"skypager test --mocha --timeout 10000"},"license":"MIT","dependencies":{"apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"gitHead":"d1371ef34c5c89e25399b410b0a5b169f98acb61","keywords":[],"contributors":[],"browserslist":[">0.2%","not dead","not ie <= 11","not op_mini all"],"homepage":"https://skypager.io","_id":"@skypager/apps-portfolio-browser@1.0.0","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"dist":{"integrity":"sha512-rB46+2DoIAsh9ulEhdCikZVnZA4Oo3dV0xYJ6kRkxayrzQKLIq9B9jRvn3et9xhg4siEXBZ4WT3QiI294UwN4Q==","shasum":"fda61f13b5883c674f96b8324f98f2b9f1d586d0","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-1.0.0.tgz","fileCount":65,"unpackedSize":7790409,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc3jnYCRA9TVsSAnZWagAAh+MP/0bxMhVJ7hc5SzgI0Ayp\n9QVZ8hgW2YIibVQ8j1+406dNPMHYfKCRd8sEcMiRQGBPDK3rb50Tg1yEBjSv\nBSyUdSpmbT4GDOUFdpIzA1Kuj8rdZl3em2BHSn6G8R70kkwiMXyF+Gvm36iy\nOUXoYRTub5SEDAny+r2PSihAHoYVgFLy70XxL0IooXNjJ2vwj5nsfAVXewcE\noc665OGXDi/V7IzJRplk6OBVyeLXSUJJf+2+80mrwys5Eos7utjA87z45q79\nj5zsd+kN9KJ4xexatk5shIFygByjh//WuXLtW7AliQEW2plTVcokpPgWjtA7\nqIFyw2ebjV9nhXFnPlWq7ByFM58yx1QqOs1YbAXWSW3Km8/kujOF8yAC8Sqw\nDCv8sZEoCdOOUPbaZwJEGLHZ2YydELbFTMoPmYsyTGXa0YoPd1UXozElVIIW\nCHqngw1bawziaUUoYnYiKKDRxG8S7kVCPkTvxJQE0r2NrOh1XfnNjHQflgKK\ncYKegLOb0ubBbz/Xxyi9u1aCiNDa0EN5kwq9k+R5MlTf/PdcTZ4GrURow6M6\n/dPZjnv/QNn7wfQ810ZrTdJ8wrD++l67N4emiI0QgA2Ed2/9Ee8XodvjZBWs\nFi3cun4HECJbBD4O1HgM5Hd0mrZnDdJPrlsibuSj5MttJRVWZqYkB6Upas88\nhTcr\r\n=ZdDg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEtA6SI/y2QXNiFu/PPTDoOyY43+59yFI8ofqYaKxin4AiAO7GgSYVEyqQdWD0Vb+QMb+VdtjuFsiuLScGT6KC3oCQ=="}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_1.0.0_1558067672120_0.6757028087665806"},"_hasShrinkwrap":false},"1.0.1":{"name":"@skypager/apps-portfolio-browser","version":"1.0.1","description":"an api and application for browsing a portfolio","author":{"name":"Jon Soeder","email":"jon@chicago.com"},"skypager":{"category":"apps","projectType":"webapp","buildFolder":"build","webpack":{"localOnly":false},"externals":{"react":"React","react-dom":"ReactDOM","react-router-dom":"ReactRouterDOM","@skypager/web":"skypager","@skypager/runtime":"skypager","semantic-ui-react":"semanticUIReact","prop-types":"PropTypes"}},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"predeploy":"skypager snapshot","start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","build":"skypager build --app-only --no-local-only","postbuild":"skypager hash-build","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"skypager test --mocha --timeout 10000"},"license":"MIT","dependencies":{"apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"gitHead":"66f2da16f4d6ebc315f1d244ba314647a8630011","keywords":[],"contributors":[],"browserslist":[">0.2%","not dead","not ie <= 11","not op_mini all"],"homepage":"https://skypager.io","_id":"@skypager/apps-portfolio-browser@1.0.1","_nodeVersion":"11.9.0","_npmVersion":"lerna/3.13.1/node@v11.9.0+x64 (darwin)","dist":{"integrity":"sha512-3VGHd0UE3+2S3bDJ2zqohoZ2pn/em/SYs0tZG+/zujtmRwZZhikelsS7zAQjA095x4nk6wLUXHM4Y/ZwDFrbog==","shasum":"cea4d52ae915748212ffec0422e7c0194209713d","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-1.0.1.tgz","fileCount":65,"unpackedSize":7790409,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc3j7eCRA9TVsSAnZWagAAW44P/RPicjAqo1Qlp9tIt4ZB\nHi3CGLdBlm1B03uv5EdGs/mQtWTI9oTNEs+UUQX+700SaMDTScrt+8qpae3J\nfgcKK5d8Bz3g5NcKXZrkfb5OBHEcT3FSA+PmhruQlOZadtgGgMP+yHKsaV1L\notj1AvWWeKghoQasroc6WSFwOOoU/YlqZA6U0z6z22c0udRI7LlTzrkkPK5l\nxhOdyS7k4LbU9UUdox1HhtRS+HOaVlHlQ0cAYTjD2thdr0aZAGSSEfzuqGpU\njqGnAF4FjEGBgOLgyWR86hng4U3xPDJIp754clPlbcp9UrNM91FKvUINq8W6\nKAnV0djr7UwP9JZSLUZCTan+OwoqVnbimJuO1JfPIQGIqCPX7WRZLaWzff2F\nuC5hScKbrhWZcCw7SB4cezmFotAep4Iz9BQ5nHbyLEW0qjbkFdRaay0tJnr/\nw1SrNutsYu9SeS2W0v/hSLkhB6eaxaf4ns843fR3K+XeGDInaLFuttdDvnjZ\nYkUg5nB/ZZU/aSlaOvGGIexzyRF/vPtxaGSIiBbJxWeftQ0dTQ4leaTGJted\nXUMGF/Oip1NKIbL+8NCEqxpHGVHASjoQp0g4//Ma3oPbuD11AV4OBf0+cQf3\nTlBHm7Kpy2sfRgr158eCHNK79J6vpuOkXd36uQUCI/OY3uw3uszzIMd6K71p\n2Sk8\r\n=lMid\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDZhxfHERQ1xIRtFe632MI0K5wS6xLP11ptdQ/wejvUnwIhAPldqPP/F2hR82lFRc70Ehaqeh2Al9WaFd2KoRJEHr3z"}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_1.0.1_1558068957411_0.8419870178982556"},"_hasShrinkwrap":false},"1.1.0":{"name":"@skypager/apps-portfolio-browser","version":"1.1.0","description":"an api and application for browsing a portfolio","author":{"name":"Jon Soeder","email":"jon@chicago.com"},"skypager":{"category":"apps","projectType":"webapp","buildFolder":"build","webpack":{"localOnly":false},"externals":{"react":"React","react-dom":"ReactDOM","react-router-dom":"ReactRouterDOM","@skypager/web":"skypager","@skypager/runtime":"skypager","semantic-ui-react":"semanticUIReact","prop-types":"PropTypes"}},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"predeploy":"skypager snapshot","start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","build":"skypager build --app-only --no-local-only","postbuild":"skypager hash-build","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"skypager test --mocha --timeout 10000"},"license":"MIT","dependencies":{"apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"gitHead":"9392473e420c7a46eb0be31bc7739ca16c8eb130","keywords":[],"contributors":[],"browserslist":[">0.2%","not dead","not ie <= 11","not op_mini all"],"homepage":"https://skypager.io","_id":"@skypager/apps-portfolio-browser@1.1.0","_npmVersion":"6.5.0","_nodeVersion":"11.9.0","_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"dist":{"integrity":"sha512-+TC1UM7H6yH8tX+wy5x62O2PtxnRDpEWxLngR0jHRSsMa0nlKJcsbQG4her34Ff39/rGkjxDeaxRtAVmricJjw==","shasum":"03a2d2958d8e47de05e8569d331a7a3bd2b688eb","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-1.1.0.tgz","fileCount":52,"unpackedSize":2218256,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc52eSCRA9TVsSAnZWagAAqiAP/iyHJOKmdpG4/H8BBUWC\n6g7FSetOPWWwA1kIjMYwqQhQQXBsMfB+yZP4ATGntsfsQ2R4WuwWb2XRIOFH\nJ1QiOEOotPJKhhKteFtNuKg6el0ILmCdZihDGXdZzuqTbEOMJJS6aDQWwwGf\nL9LbSiokJRZQtYuQ2+RTTO+nqfKW2e9Nx41goSzQ1ESR10qm8IA2hAHJIhCd\n9Zw5aP2iSccMY/13iKMqgCRmD2JlyQsjshKhJCHWmq6sWt0OxRhP0XQi9mAH\nVdrVIliP6pYiC0U0pkvrX1vaaBRGSt10p4hgAc2miY5QGmJTJsKBRZEKNJCK\nFsRPvuK0eI3u1nxk/OJO55tdqMAcCe8RSZ48Y19bLNdHx3CoC0VF+BSt5XnZ\nGLv9B1qjLSttj7/Z5ZhrSEOlBT0Rx0I+SNlFSjKu5t0J5X+dyCc2fZvrFb2o\nHLqix05/8gN1J3rEkrH/n6/D2lBhaWFgmIieXCteD3+NXzmgA/dIKVNAEaWx\nAitpDrwbZMbnvf3XBx6jN2nqNnNP/ceDQbnA8WNjUuIgN9b2XABmW8Zv8v9n\ni34H0VhTF+8jz1svbOiUMwBuYxDrP7eovClzlMd42JKEYqsJ4hn0lXR8luC9\nO/UlDyjYdr97C+ctDJoZt5AOpC4gO1S4M1nlrcw+iZDWToHbQgltfn0kki7Y\nhTg5\r\n=WFRX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC+b027msWqnl2kAiKcYWKGmWSXwG2oHNfzDzFYPb3hQAiAJ9dbcU6gw1Ztkbs+v5u66pVvKxyTC98+Z6h2I+PqWzw=="}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_1.1.0_1558669201982_0.48678825878811494"},"_hasShrinkwrap":false},"1.1.1":{"name":"@skypager/apps-portfolio-browser","version":"1.1.1","description":"an api and application for browsing a portfolio","author":{"name":"Jon Soeder","email":"jon@chicago.com"},"skypager":{"category":"apps","projectType":"webapp","buildFolder":"build","webpack":{"localOnly":false},"externals":{"react":"React","react-dom":"ReactDOM","react-router-dom":"ReactRouterDOM","@skypager/web":"skypager","@skypager/runtime":"skypager","semantic-ui-react":"semanticUIReact","prop-types":"PropTypes"}},"main":"lib/index.js","publishConfig":{"access":"public"},"scripts":{"predeploy":"skypager snapshot","start":"cross-env NODE_ENV=production skypager serve --esm","dev":"cross-env NODE_ENV=development skypager serve --esm --hot","build":"skypager build --app-only --no-local-only","postbuild":"skypager hash-build","deploy":"node scripts/deploy.js --verbose","watch":"skypager watch","console":"skypager console","pretest":"yarn build","test":"skypager test --mocha --timeout 10000"},"license":"MIT","dependencies":{"apollo-boost":"^0.1.23","apollo-server":"^2.3.1","apollo-server-express":"^2.3.1","check-prop-types":"^1.1.2","cookie-parser":"^1.4.3","graphql":"^14.0.2","graphql-schema-modules":"^0.0.3","graphql-tools":"^4.0.3","graphql-type-json":"^0.2.1","prop-types":"^15.6.2","react":"^16.5.2","react-apollo":"^2.3.3","react-dom":"^16.5.2","react-hot-loader":"^4.3.11","react-loadable":"^5.5.0","react-router-dom":"^4.3.1","react-semantic-ui-range":"^0.6.2","react-treebeard":"^3.1.0","semantic-ui-react":"^0.82.5"},"gitHead":"b9e0d9fb4dd31e6070033e2fd3c0fb12d2861512","keywords":[],"contributors":[],"browserslist":[">0.2%","not dead","not ie <= 11","not op_mini all"],"homepage":"https://skypager.io","_id":"@skypager/apps-portfolio-browser@1.1.1","_nodeVersion":"11.9.0","_npmVersion":"lerna/3.13.1/node@v11.9.0+x64 (darwin)","dist":{"integrity":"sha512-+O8p/TQ4Oq0T391LLHoh7z6lQ6XsVSVLuYEFprzUHMAItWITCPji6+2XFgObHVce3V1GgOlenl+lSM4EV/YD2w==","shasum":"59892185e3a18416f51fdfce6f3354b3fb6bd88e","tarball":"https://registry.npmjs.org/@skypager/apps-portfolio-browser/-/apps-portfolio-browser-1.1.1.tgz","fileCount":52,"unpackedSize":2218256,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc52tSCRA9TVsSAnZWagAAQFoP/3050Vdk4uszWwXvtRpS\nkzKusLkEGNuEs7F4Dyw/sq7PJWwsjoiOkI2U1fD0ehuXJL8shsFnEokuBO7/\nPVV3ShulJtPxefyRDpP3XOPVWXllrsiLa+9SjaN3pv3Qv8XLhPJWKwyva6EH\nf8IaZjU0pj68AYqHl5oizcF3juNEE5d1pnEADWCazV1IqcOpg078fva+co55\nGdUnG7/wu4guZ9GvSudhs5pdzPRQ/RtkwSwxA3fzkB7wGfCuDX9kcuS0yI1m\nAW61q2agzIcguWnA4Hp92yZM9Wgtk9PURYuFfK9Xu8OSuhTWRZfVXTueiDw/\nZoGO+2Zbp5XzlF9xEaKcbl/9bVW2kKkKbktG6wLcJ1oaKWxHaCeANLUAe6/f\nrsBt2zv6JDgkv/lhofA2QsdfjiRCz20Ax4aapHN0sIBQDXVK9GdsqV/huyQg\n/7eQ6zOEZIo1ST/ITxzphn7JZYJ/TQc8vvk/dsqaj1rTdlxwZ/qGoPjX/zfO\nx1lFaal3go/AgnC+Z3imAIXDgISq9dozpvRmgx9aZGm3cwvY2te0F6rrUmx0\nfqop2jnhQybwnj/oaUiWZ/rdeRgCEPqhPgvEJa8v/5VEQ6bCYJcAR5SVV8eY\nHPuZC3zfzQBSsgezvTCW0P7uGT3/MtUbAO7OZutUDj07YTgn3PJNJ3lo/Ern\nWEf1\r\n=FALH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBKaDlDjOaHA50WblT6TrUXoXRU5Ecmr/YnadQeMZ+LnAiEApBAS0LKztJQrgXDEnv8W2QJYrjaSbhZWl0glhE8RlqY="}]},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"_npmUser":{"name":"soederpop","email":"jon@chicago.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/apps-portfolio-browser_1.1.1_1558670161656_0.4491662535605454"},"_hasShrinkwrap":false}},"time":{"created":"2019-01-24T04:42:17.419Z","0.1.27":"2019-01-24T04:42:17.672Z","modified":"2022-04-07T00:05:55.344Z","0.1.28":"2019-02-02T05:53:10.855Z","0.1.29":"2019-02-06T06:13:10.892Z","0.1.30":"2019-02-06T06:37:26.035Z","0.2.1":"2019-02-06T16:25:17.852Z","0.2.2":"2019-02-06T17:05:09.359Z","0.2.3":"2019-02-07T00:13:31.855Z","0.2.7":"2019-02-08T07:32:31.530Z","0.2.10":"2019-02-10T06:52:48.069Z","0.3.0":"2019-02-10T07:23:07.618Z","0.3.2":"2019-02-14T05:27:53.143Z","0.3.3":"2019-02-23T05:55:53.484Z","0.3.6":"2019-03-13T04:48:29.916Z","0.3.8":"2019-03-20T00:51:47.141Z","0.4.0":"2019-03-26T23:37:59.368Z","0.4.1":"2019-04-16T01:33:54.718Z","0.4.2":"2019-04-16T04:57:29.177Z","0.4.3":"2019-04-16T14:39:29.196Z","0.4.5":"2019-04-16T15:22:22.912Z","0.4.6":"2019-04-16T17:03:00.829Z","0.4.7":"2019-04-23T15:58:00.721Z","0.4.8":"2019-04-25T01:11:41.540Z","0.4.9":"2019-04-25T14:22:35.183Z","0.4.10":"2019-05-01T00:38:23.509Z","1.0.1-alpha.1":"2019-05-15T04:42:18.517Z","1.0.0":"2019-05-17T04:34:32.327Z","1.0.1":"2019-05-17T04:55:57.724Z","1.1.0":"2019-05-24T03:40:02.155Z","1.1.1":"2019-05-24T03:56:01.864Z"},"maintainers":[{"name":"soederpop","email":"jon@chicago.com"}],"description":"an api and application for browsing a portfolio","author":{"name":"Jon Soeder","email":"jon@chicago.com"},"license":"MIT","readme":"# Skypager Portfolio Browser\n\nThis app uses the following components:\n\n- [@skypager/features-package-manager](../../features/package-manager)\n- [@skypager/features-module-manager](../../features/module-manager)\n\nTo let you browse the module graph of the @skypager portfolio / monorepo, as well as all of its various npm dependencies.\n\n## Graph Explorer\n\nWe generate graph data structures based on the package.json found in the module graph (node modules) or the package graph (monorepo subprojects)\n\n```javascript\nconst runtime = require('@skypager/node')\n\nawait runtime.fileManager.startAsync()\nawait runtime.packageManager.startAsync()\nawait runtime.moduleManager.startAsync()\n\nconst packageGraph = await runtime.packageManager.exportGraph()\nconst moduleGraph = await runtime.moduleManager.exportGraph()\n```\n\nThese graph data structures are easy to plugin to [Cytoscape](https://js.cytoscape.org)\n\nThe Graph Explorer page lets you experiment with different cytoscape layouts, and has an in-progress \nui for controlling all of the available options for these layouts.\n\n## Running The App\n\nIf you've cloned the skypager repo, and have installed the dependencies, then from the root \nyou can start this app by runing: \n\n```shell\n$ yarn start portfolio-browser\n```\n\nOr if you're in the portfolio-browser folder, then running the following will start the app.\n\n```shell\n$ yarn start\n```","readmeFilename":"README.md","keywords":[],"contributors":[],"homepage":"https://skypager.io"}