package.json (5809B)
1 { 2 "name": "web", 3 "version": "0.0.0", 4 "private": true, 5 "engines": { 6 "node": ">=6.5", 7 "npm": ">=3.10" 8 }, 9 "browserslist": [ 10 ">1%", 11 "last 4 versions", 12 "Firefox ESR", 13 "not ie < 9" 14 ], 15 "dependencies": { 16 "babel-polyfill": "^6.22.0", 17 "bluebird": "^3.4.7", 18 "body-parser": "^1.16.0", 19 "classnames": "^2.2.5", 20 "cookie-parser": "^1.4.3", 21 "core-js": "^2.4.1", 22 "css-loader": "^0.26.4", 23 "express": "^4.14.1", 24 "express-graphql": "^0.6.3", 25 "express-jwt": "^5.1.0", 26 "fastclick": "^1.0.6", 27 "graphql": "^0.9.1", 28 "history": "^4.5.1", 29 "isomorphic-style-loader": "^1.1.0", 30 "jsonwebtoken": "^7.2.1", 31 "node-fetch": "^1.6.3", 32 "normalize.css": "^5.0.0", 33 "passport": "^0.3.2", 34 "passport-facebook": "^2.1.1", 35 "pretty-error": "^2.0.2", 36 "query-string": "^4.3.1", 37 "react": "^15.4.2", 38 "react-dom": "^15.4.2", 39 "sequelize": "^3.30.1", 40 "source-map-support": "^0.4.11", 41 "sqlite3": "^3.1.8", 42 "style-loader": "^0.16.1", 43 "universal-router": "^2.0.0", 44 "videojs-chromecast": "^2.0.8", 45 "videojs-contrib-hls": "^5.4.0", 46 "videojs-qualityselector": "^0.0.1", 47 "whatwg-fetch": "^2.0.2" 48 }, 49 "devDependencies": { 50 "assets-webpack-plugin": "^3.5.1", 51 "autoprefixer": "^6.7.2", 52 "babel-cli": "^6.22.2", 53 "babel-core": "^6.22.1", 54 "babel-eslint": "^7.1.1", 55 "babel-loader": "^6.2.10", 56 "babel-plugin-rewire": "^1.0.0", 57 "babel-preset-env": "^1.1.8", 58 "babel-preset-react": "^6.22.0", 59 "babel-preset-react-optimize": "^1.0.1", 60 "babel-preset-stage-2": "^6.22.0", 61 "babel-register": "^6.22.0", 62 "babel-template": "^6.22.0", 63 "babel-types": "^6.22.0", 64 "browser-sync": "^2.18.7", 65 "chai": "^3.5.0", 66 "chokidar": "^1.6.1", 67 "css-loader": "^0.26.1", 68 "editorconfig-tools": "^0.1.1", 69 "enzyme": "^2.7.1", 70 "eslint": "^3.15.0", 71 "eslint-config-airbnb": "^14.1.0", 72 "eslint-loader": "^1.6.1", 73 "eslint-plugin-css-modules": "^2.2.0", 74 "eslint-plugin-import": "^2.2.0", 75 "eslint-plugin-jsx-a11y": "^4.0.0", 76 "eslint-plugin-react": "^6.9.0", 77 "file-loader": "^0.10.0", 78 "front-matter": "^2.1.2", 79 "glob": "^7.1.1", 80 "json-loader": "^0.5.4", 81 "lint-staged": "^3.3.0", 82 "markdown-it": "^8.2.2", 83 "mkdirp": "^0.5.1", 84 "mocha": "^3.2.0", 85 "pixrem": "^3.0.2", 86 "pleeease-filters": "^3.0.0", 87 "postcss": "^5.2.12", 88 "postcss-calc": "^5.3.1", 89 "postcss-color-function": "^3.0.0", 90 "postcss-custom-media": "^5.0.1", 91 "postcss-custom-properties": "^5.0.2", 92 "postcss-custom-selectors": "^3.0.0", 93 "postcss-flexbugs-fixes": "^2.1.0", 94 "postcss-global-import": "^1.0.0", 95 "postcss-import": "^9.1.0", 96 "postcss-loader": "^1.2.2", 97 "postcss-media-minmax": "^2.1.2", 98 "postcss-nested": "^1.0.0", 99 "postcss-nesting": "^2.3.1", 100 "postcss-pseudoelements": "^3.0.0", 101 "postcss-selector-matches": "^2.0.5", 102 "postcss-selector-not": "^2.0.0", 103 "pre-commit": "^1.2.2", 104 "raw-loader": "^0.5.1", 105 "react-addons-test-utils": "^15.4.2", 106 "react-deep-force-update": "^2.0.1", 107 "react-hot-loader": "^3.0.0-beta.6", 108 "redbox-react": "^1.3.3", 109 "rimraf": "^2.5.4", 110 "sinon": "^2.0.0-pre.5", 111 "stylefmt": "^5.1.1", 112 "stylelint": "^7.8.0", 113 "stylelint-config-standard": "^16.0.0", 114 "url-loader": "^0.5.7", 115 "webpack": "^2.2.1", 116 "webpack-bundle-analyzer": "^2.3.0", 117 "webpack-dev-middleware": "^1.10.0", 118 "webpack-hot-middleware": "^2.16.1", 119 "write-file-webpack-plugin": "^3.4.2" 120 }, 121 "babel": { 122 "presets": [ 123 [ 124 "env", 125 { 126 "targets": { 127 "node": "current" 128 } 129 } 130 ], 131 "stage-2", 132 "react" 133 ], 134 "env": { 135 "test": { 136 "plugins": [ 137 "rewire" 138 ] 139 } 140 } 141 }, 142 "eslintConfig": { 143 "parser": "babel-eslint", 144 "extends": [ 145 "airbnb", 146 "plugin:css-modules/recommended" 147 ], 148 "plugins": [ 149 "css-modules" 150 ], 151 "globals": { 152 "__DEV__": true 153 }, 154 "env": { 155 "browser": true 156 }, 157 "rules": { 158 "import/extensions": "off", 159 "import/no-extraneous-dependencies": "off", 160 "react/jsx-filename-extension": "off", 161 "react/prefer-stateless-function": "off" 162 } 163 }, 164 "stylelint": { 165 "extends": "stylelint-config-standard", 166 "rules": { 167 "string-quotes": "single", 168 "property-no-unknown": [ 169 true, 170 { 171 "ignoreProperties": [ 172 "composes" 173 ] 174 } 175 ], 176 "selector-pseudo-class-no-unknown": [ 177 true, 178 { 179 "ignorePseudoClasses": [ 180 "global" 181 ] 182 } 183 ] 184 } 185 }, 186 "pre-commit": "lint:staged", 187 "lint-staged": { 188 "*.{cmd,html,json,md,sh,txt,xml,yml}": [ 189 "editorconfig-tools fix", 190 "git add" 191 ], 192 "*.{js,jsx}": [ 193 "eslint --fix", 194 "git add" 195 ], 196 "*.{css,less,scss,sss}": [ 197 "stylefmt", 198 "stylelint", 199 "git add" 200 ] 201 }, 202 "scripts": { 203 "lint:js": "eslint src tools", 204 "lint:css": "stylelint \"src/**/*.{css,less,scss,sss}\"", 205 "lint:staged": "lint-staged", 206 "lint": "yarn run lint:js && yarn run lint:css", 207 "test": "mocha \"src/**/*.test.js\" --require babel-register --require test/setup.js", 208 "test:watch": "yarn run test -- --reporter min --watch", 209 "clean": "babel-node tools/run clean", 210 "copy": "babel-node tools/run copy", 211 "bundle": "babel-node tools/run bundle", 212 "build": "babel-node tools/run build", 213 "build:stats": "yarn run build -- --release --analyse", 214 "deploy": "babel-node tools/run deploy", 215 "render": "babel-node tools/run render", 216 "serve": "babel-node tools/run runServer", 217 "start": "babel-node tools/run start" 218 } 219 }