{"_id":"@arizzitano/graphql-dashboard","_rev":"1-18c03086d545b30ad507cb52dd371ead","name":"@arizzitano/graphql-dashboard","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@arizzitano/graphql-dashboard","version":"0.0.1","description":"Sample GraphQL page for the LMS dashboard","repository":{"type":"git","url":"git+https://github.com/arizzitano/graphql-dashboard.git"},"scripts":{"build":"NODE_ENV=production BABEL_ENV=production webpack --config=config/webpack.prod.config.js","deploy:gh-pages":"npm run build && gh-pages -d dist","is-es5":"es-check es5 ./dist/*.js","lint":"eslint --ext .js --ext .jsx .","precommit":"npm run lint","prepublishOnly":"npm run build","start":"NODE_ENV=development BABEL_ENV=development node_modules/.bin/webpack-dev-server --config=config/webpack.dev.config.js --progress","debug-test":"node --inspect-brk node_modules/.bin/jest --runInBand --coverage","test":"jest --coverage --passWithNoTests"},"license":"AGPL-3.0","dependencies":{"@edx/edx-bootstrap":"^0.4.3","@edx/paragon":"^2.3.0","apollo-boost":"^0.1.4","babel-polyfill":"^6.26.0","classnames":"^2.2.5","email-prop-type":"^1.1.5","font-awesome":"^4.7.0","graphql":"^0.13.2","graphql-tag":"^2.9.1","history":"^4.7.2","prop-types":"^15.5.10","react":"^16.2.0","react-apollo":"^2.1.3","react-dom":"^16.2.0","react-redux":"^5.0.7","react-router":"^4.2.0","react-router-dom":"^4.2.2","react-router-redux":"^5.0.0-alpha.9","redux":"^3.7.2","redux-devtools-extension":"^2.13.2","redux-logger":"^3.0.6","redux-thunk":"^2.2.0","whatwg-fetch":"^2.0.3"},"devDependencies":{"babel-cli":"^6.26.0","babel-eslint":"^8.2.2","babel-jest":"^22.4.0","babel-loader":"^7.1.2","babel-plugin-transform-class-properties":"^6.24.1","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-preset-env":"^1.6.1","babel-preset-react":"^6.24.1","codecov":"^3.0.0","css-loader":"^0.28.9","enzyme":"^3.3.0","enzyme-adapter-react-16":"^1.1.1","es-check":"^2.0.2","eslint-config-edx":"^4.0.3","extract-text-webpack-plugin":"next","fetch-mock":"^6.3.0","file-loader":"^1.1.9","gh-pages":"^1.1.0","html-webpack-harddisk-plugin":"^0.2.0","html-webpack-plugin":"^3.0.3","husky":"^0.14.3","identity-obj-proxy":"^3.0.0","jest":"^22.4.0","node-sass":"^4.7.2","react-dev-utils":"^5.0.0","react-test-renderer":"^16.2.0","redux-mock-store":"^1.5.1","sass-loader":"^6.0.6","style-loader":"^0.20.2","webpack":"^4.1.0","webpack-cli":"^2.0.10","webpack-dev-server":"^3.1.0","webpack-merge":"^4.1.1"},"jest":{"setupFiles":["./src/setupTest.js"],"moduleNameMapper":{"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$":"<rootDir>/__mocks__/fileMock.js","\\.(css|scss)$":"identity-obj-proxy"},"collectCoverageFrom":["src/**/*.{js,jsx}"],"coveragePathIgnorePatterns":["/node_modules/"],"transformIgnorePatterns":["/node_modules/(?!(@edx/paragon)/).*/"],"globals":{"courseContext":{}}},"gitHead":"a8a669eb4f79334991b2a75b04994a4b5c5e1987","bugs":{"url":"https://github.com/arizzitano/graphql-dashboard/issues"},"homepage":"https://github.com/arizzitano/graphql-dashboard#readme","_id":"@arizzitano/graphql-dashboard@0.0.1","_npmVersion":"5.5.1","_nodeVersion":"8.9.3","_npmUser":{"name":"arizzitano","email":"arizzitano@gmail.com"},"dist":{"integrity":"sha512-lR4EpHPO0CeQafPmZ2JsUtWZo8skiU6DjUImN69BWY8NhSh8xsrWHv4TRFFhhX+1dBAu2OrJSymbEhWZYpmpRg==","shasum":"3913a7dd5f1160494725870c41a73c6d8528767b","tarball":"https://registry.npmjs.org/@arizzitano/graphql-dashboard/-/graphql-dashboard-0.0.1.tgz","fileCount":43,"unpackedSize":4042080,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa41TyCRA9TVsSAnZWagAAHwYQAKDl1m+Le51Mtr+08N9s\nDCLB/oMW/CHvSJa88274pMkrLqn/Eqr/q3yBsz34kTPS3a1rdYR1aPYY/Z1I\n8VRVTb9/re7qQrLpEd9/OrqW1tmuTZCM/5PPlshQAQAiXRwr4EB4I42TbB4c\n8w91R3TezFROPZYbQ8+BqhUDZwoqxFVU0dqDr4wkT+pbvBv8q9tQ/X3dQv1+\nMYnFDt5ClnIPfQEOSqYw+Y2ZNH8JHh3EQRg/DAa88/7fngqQf8S7ryvLGlpj\nV7wY3NIJGtfdYJHgKhqHGFNRfbLOJ0n5rjnEEXO9gto7ZcSeXbEgbPQnUwyT\nRPhrun4Oi/jveTjzsGaJ9DlQKujL6I/o8+jk2KDknaZENLKplyxjQQA0ZkZ6\nR0iIr7nKljLuENPcNVqmvsgbx6njOmBy50EXsDnGOK/e9BYg1qbAKKWNRJAK\ncbohIpvzzFCsi30TREbmtnOz+87qW2cNB6dD8PaS12KcMgSbxYzkXWhyUxDh\nKDjQ8wMUjIdAuikXUZcNhL6i0S4x0t4wdcg7xmIxT7HgrdFgpKEu1803NsVO\nocgwgjfkmYRJHJ3qlXrwaTDCiCjUCgcIY21+nI8zQPo+DDuMVtnrOlolgRpi\nrY4civdhXmmgKL5lDQdz7XcGBSFh4173KlNBVaThtzVeQ1mfILEr5H12W5IC\nJKmm\r\n=ITkH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE9KO+AafWTl/FGvfjRoBmPfURD7yOjxJqx8mLVvzNBmAiA7HLbn4eds0ZmqbxwC7Dz8dRidmMwNjGAokCpUzZ9WRA=="}]},"maintainers":[{"name":"arizzitano","email":"arizzitano@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/graphql-dashboard_0.0.1_1524847857252_0.1306536109268932"},"_hasShrinkwrap":false}},"time":{"created":"2018-04-27T16:50:57.196Z","0.0.1":"2018-04-27T16:50:57.491Z","modified":"2022-04-04T15:28:21.716Z"},"maintainers":[{"name":"arizzitano","email":"arizzitano@gmail.com"}],"description":"Sample GraphQL page for the LMS dashboard","homepage":"https://github.com/arizzitano/graphql-dashboard#readme","repository":{"type":"git","url":"git+https://github.com/arizzitano/graphql-dashboard.git"},"bugs":{"url":"https://github.com/arizzitano/graphql-dashboard/issues"},"license":"AGPL-3.0","readme":"[![Greenkeeper badge](https://badges.greenkeeper.io/edx/front-end-cookie-cutter-application.svg)](https://greenkeeper.io/)\n\n# 🍪 front-end-cookie-cutter 🍪\n\nPlease tag **@edx/fedx-team** on any PRs or issues.\n\n## Introduction\n\nThe purpose of this repository is to illustrate general front-end best practices for [`React`](https://reactjs.org/) and [`Redux`](https://redux.js.org) applications using a handful of (overly) simplified examples.\n\nWe are currently using `node v8.9.3` and `npm@5.5.1`.\n\n## Getting Started\n\nAfter cloning the repository, run `make up-detached` in the `front-end-cookie-cutter` directory - this will build and start the `front-end-cookie-cutter` web application in a docker container.\n\nHopefully, the output looks something like\n\n![make-up-detached-output](https://imgur.com/9oFeCzA.png)\n\nThe web application runs on port **1991**, so when you go to `http://localhost:1991` you should see something like\n\n![hello-world](https://imgur.com/JnnySGX.png)\n\nIf you don't, you can see the log messages for the docker container by executing `make logs` in the `front-end-cookie-cutter` directory. This should output something like\n\n![make-logs](https://imgur.com/JDUEkZ3.png)\n\nNote that `make up-detached` executes the `npm run start` script which will hot-reload JavaScript and Sass files changes, so you should (:crossed_fingers:) not need to do anything (other than wait) when making changes.\n\n## Directory Structure\n\n* `config`\n  * Directory for [`webpack`](https://webpack.js.org/) configurations\n* `public`\n  * Entry point for the single-page application - `front-end-cookie-cutter` has a single `index.html` file\n* `src`\n  * `components`\n    * Directory for presentational `React` components\n  * `containers`\n    * Directory for container `React` components\n  * `data`\n    * `actions`\n      * Directory for `Redux` action creators\n    * `constants`\n    * `reducers`\n      * Directory for `Redux` reducers\n* [`.babelrc`](#babelrc)\n* [`.dockerignore`](#dockerignore)\n* [`.eslintignore`](#eslintignore)\n* [`.eslintrc.js`](#eslintrcjs)\n* `.gitignore`\n* [`npmignore`](#npmignore)\n* [`.travis.yml`](#travisyml)\n* `docker-compose.yml`\n* `Dockerfile`\n* `LICENSE`\n* `Makefile`\n* `package-lock.json`\n* [`package.json`](#packagejson)\n\n### `.babelrc`\n\nWe use [`Babel`](https://babeljs.io/) to transpile `ES2015+` JavaScript to `ES5` JavaScript. `ES5` JavaScript has [greater browser compatibility](http://kangax.github.io/compat-table/es5/) than [`ES2015+`](http://kangax.github.io/compat-table/es6/).\n\nThe `.babelrc` file is used to specify a particular configuration - for example, we use the [`babel-preset-react`](https://babeljs.io/docs/plugins/preset-react/), which, among other things, allows `babel` to parse `JSX`.\n\n### `.dockerignore`\n\nThe important thing to remember is to add the `node_modules` directory to `.dockerignore` - for more information [see the Docker documentation](https://docs.docker.com/engine/reference/builder/#dockerignore-file).\n\n### `.eslintignore`\n\nWe use [`eslint`](https://eslint.org/) for our `JavaScript` linting needs. The `.eslintignore` file is used to [specify files or directories to, well, ignore](https://eslint.org/docs/user-guide/configuring#ignoring-files-and-directories).\n\nWhile `eslint` automatically ignores `node_modules`, we like to add it to the `.eslintignore` just for the added explicitness. In addition, you probably want to add the directory for your compiled files (in our case, `./dist`) and your coverage directory (in our case, `./coverage`).\n\n### `.eslintrc`\n\nThis is where the actual `eslint` configuration is specified. All `edX` JavaScript projects should extend either the [`eslint-config-edx`](https://github.com/edx/eslint-config-edx/blob/master/packages/eslint-config-edx/README.md) or [`eslint-config-edx-es5`](https://github.com/edx/eslint-config-edx/blob/master/packages/eslint-config-edx-es5/README.md) configurations (for `ES2015+` and `ES5` JavaScript, respectively). Both configurations can be found in [the `eslint-config-edx` repository](https://github.com/edx/eslint-config-edx).\n\n### `.npmignore`\n\nWe are not currently publishing this package to [`npm`](https://www.npmjs.com/). If we did, we would want to exclude certain files from getting uploaded to `npm` (like our coverage files, for example). For more information, see [the `npm` documentation](https://docs.npmjs.com/misc/developers#keeping-files-out-of-your-package).\n\n### `.travis.yml`\n\nWe use [`Travis CI`](https://travis-ci.org/) to build (and deploy) our application. The `.travis.yml` file specifies the configuration for `Travis` builds. For more information, see [the `Travis` documentation](https://docs.travis-ci.com/user/customizing-the-build/).\n\n### `package.json`\n\nArguably, one of the **most important files in an `npm`-based application**, the `package.json` file specifies everything from the `name` of the application, were it to be published to `npm`, to it's `dependencies`.\n\nFor more information, see [the `npm` documentation](https://docs.npmjs.com/files/package.json).\n\n## Helpful Applications\n\n### [`Greenkeeper`](https://greenkeeper.io/)\n\n[`Greenkeeper`](https://greenkeeper.io/) is basically a `GitHub` application that handles `npm` dependencies. It will automatically open PRs with `package.json` updates when new versions of your `npm` dependencies get published. There are ways to also automatically keep the `package-lock.json` in-line, in the same PR, using [`greenkeeper-lockfile`].\n\nFor more information, see [the `Greenkeeper` documentation](https://greenkeeper.io/docs.html#what-greenkeeper-does).\n","readmeFilename":"README.md"}