package.json 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
  1. {
  2. "name": "linode-manager",
  3. "author": "Linode",
  4. "description": "The Linode Manager website",
  5. "version": "0.46.0",
  6. "private": true,
  7. "engines": {
  8. "node": ">= 8.11.2"
  9. },
  10. "bugs": {
  11. "url": "https://github.com/Linode/manager/issues"
  12. },
  13. "license": "BSD-3-Clause",
  14. "repository": {
  15. "type": "git",
  16. "url": "https://github.com/Linode/manager.git"
  17. },
  18. "dependencies": {
  19. "@material-ui/core": "^3.5.1",
  20. "@material-ui/icons": "^3.0.1",
  21. "@types/algoliasearch": "^3.27.5",
  22. "@types/he": "^1.1.0",
  23. "@types/jspdf": "^1.2.2",
  24. "@types/qrcode.react": "^0.8.0",
  25. "@types/qs": "^6.5.1",
  26. "@types/react-select": "^2.0.2",
  27. "@types/recompose": "^0.30.0",
  28. "@types/throttle-debounce": "^1.0.0",
  29. "@types/url-parse": "^1.4.1",
  30. "algoliasearch": "^3.30.0",
  31. "autoprefixer": "7.1.6",
  32. "axios": "^0.18.0",
  33. "axios-mock-adapter": "^1.15.0",
  34. "bluebird": "^3.5.1",
  35. "browser-detect": "^0.2.28",
  36. "case-sensitive-paths-webpack-plugin": "2.1.1",
  37. "chalk": "1.1.3",
  38. "chart.js": "^2.7.2",
  39. "classnames": "^2.2.5",
  40. "copy-to-clipboard": "^3.0.8",
  41. "core-js": "^2.5.7",
  42. "coveralls": "^3.0.0",
  43. "css-loader": "0.28.7",
  44. "dotenv": "4.0.0",
  45. "downshift": "^1.31.7",
  46. "enzyme": "^3.4.0",
  47. "enzyme-adapter-react-16": "^1.2.0",
  48. "extract-text-webpack-plugin": "3.0.2",
  49. "file-loader": "0.11.2",
  50. "flag-icon-css": "^3.0.0",
  51. "font-logos": "^0.10.0",
  52. "fork-ts-checker-webpack-plugin": "^0.2.8",
  53. "formik": "^1.3.2",
  54. "fs-extra": "3.0.1",
  55. "he": "^1.2.0",
  56. "html-webpack-plugin": "2.29.0",
  57. "invariant": "^2.2.4",
  58. "jest": "^22.4.0",
  59. "js-cookie": "^2.2.0",
  60. "jspdf": "^1.5.3",
  61. "md5": "^2.2.1",
  62. "memoizee": "^0.4.14",
  63. "moment": "^2.21.0",
  64. "moment-timezone": "^0.5.16",
  65. "notistack": "^0.4.1",
  66. "novnc-node": "^0.5.3",
  67. "postcss-flexbugs-fixes": "3.2.0",
  68. "postcss-loader": "2.0.8",
  69. "promise": "8.0.1",
  70. "promise.prototype.finally": "^3.1.0",
  71. "qrcode.react": "^0.8.0",
  72. "qs": "^6.6.0",
  73. "raf": "3.4.0",
  74. "ramda": "^0.25.0",
  75. "raven-js": "^3.22.3",
  76. "react": "^16.4.1",
  77. "react-async-script-loader": "^0.3.0",
  78. "react-chartjs-2": "^2.7.0",
  79. "react-dev-utils": "4.2.2",
  80. "react-dom": "^16.4.1",
  81. "react-ga": "^2.5.3",
  82. "react-loadable": "^5.3.1",
  83. "react-number-format": "^3.5.0",
  84. "react-redux": "^5.0.7",
  85. "react-router": "^4.2.0",
  86. "react-router-dom": "^4.2.2",
  87. "react-select": "^2.0.0",
  88. "react-sticky": "^6.0.3",
  89. "react-text-mask": "^5.4.3",
  90. "react-waypoint": "^8.0.3",
  91. "recompose": "^0.30.0",
  92. "redux": "^3.7.2",
  93. "redux-thunk": "2.2.0",
  94. "reselect": "^4.0.0",
  95. "rxjs": "^5.5.6",
  96. "source-map-loader": "^0.2.1",
  97. "style-loader": "0.19.0",
  98. "sw-precache-webpack-plugin": "0.11.4",
  99. "throttle-debounce": "^2.0.0",
  100. "ts-jest": "^22.0.4",
  101. "ts-loader": "^3.5.0",
  102. "tsconfig-paths-webpack-plugin": "^2.0.0",
  103. "tslint": "^5.7.0",
  104. "tslint-react": "^3.6.0",
  105. "typeface-lato": "^0.0.54",
  106. "typeface-ubuntu-mono": "^0.0.54",
  107. "typescript-fsa": "^3.0.0-beta-2",
  108. "url-loader": "0.6.2",
  109. "url-parse": "^1.4.4",
  110. "wdio-selenium-standalone-service": "^0.0.10",
  111. "webpack": "3.8.1",
  112. "webpack-dev-server": "3.0.0",
  113. "webpack-manifest-plugin": "1.3.2",
  114. "xml2js": "^0.4.19",
  115. "xterm": "^3.3.0",
  116. "yup": "^0.26.3",
  117. "zxcvbn": "^4.4.2"
  118. },
  119. "scripts": {
  120. "axe": "npx wdio ./e2e/config/wdio.axe.conf.js",
  121. "compare": "./scripts/jira-changelog.sh",
  122. "docker:e2e": "docker-compose -f integration-test.yml up --exit-code-from manager-e2e",
  123. "docker:test": "docker build -f Dockerfile . -t 'manager' && docker run -it --rm -v $(pwd)/src:/src/src manager test",
  124. "docker:local": "docker build -f Dockerfile . -t 'manager' && docker run -it --rm -p 3000:3000 -v $(pwd)/src:/src/src manager start",
  125. "docker:storybook": "docker build -f Dockerfile . -t 'storybook' && docker run -it --rm -p 6006:6006 -v $(pwd)/src:/src/src storybook storybook",
  126. "docker:storybook:test": "docker-compose -f storybook-test.yml up --build --exit-code-from storybook-test",
  127. "start": "node scripts/start.js",
  128. "lint": "tslint 'src/**/*.ts' 'src/**/*.tsx'",
  129. "build": "node scripts/build.js",
  130. "precommit": "./scripts/pre-commit.sh",
  131. "prepush": "./scripts/pre-push.sh",
  132. "mock": "./scripts/mb.js",
  133. "test": "node scripts/test.js --env=jsdom",
  134. "storybook": "start-storybook -p 6006",
  135. "storybook-static": "build-storybook -c .storybook -o .out",
  136. "storybook:e2e": "./node_modules/.bin/wdio ./e2e/config/wdio.storybook.conf.js",
  137. "storyshots": "docker-compose -f storyshots.yml up --build --exit-code-from manager-storyshots && docker-compose -f storyshots.yml down -v",
  138. "storyshots:update": "export UPDATE=-u && docker-compose -f storyshots.yml up --build --exit-code-from manager-storyshots && unset UPDATE && docker-compose -f storyshots.yml down -v",
  139. "storyshots:test": "npx jest --config ./.storybook/storyshots.jest.config.js src/components/Storyshots.test.tsx --env=jsdom",
  140. "build-storybook": "build-storybook",
  141. "serve": "node testServer.js",
  142. "selenium": "npx selenium-standalone install --config=./e2e/config/selenium-config.js && ./node_modules/.bin/selenium-standalone start --config=./e2e/config/selenium-config.js",
  143. "e2e": "npx wdio ./e2e/config/wdio.conf.js",
  144. "e2e:all": "npx wdio ./e2e/config/wdio.conf.js; ./node_modules/.bin/wdio ./e2e/config/wdio.storybook.conf.js",
  145. "e2e:modified": "./scripts/e2e-modified.sh",
  146. "e2e:browserstack": "npx wdio ./e2e/config/browserstack.conf.js",
  147. "mb": "npx mb",
  148. "release": "./scripts/release_changelog.sh"
  149. },
  150. "husky": {
  151. "hooks": {
  152. "pre-commit": "yarn precommit",
  153. "pre-push": "yarn prepush"
  154. }
  155. },
  156. "devDependencies": {
  157. "@storybook/addon-actions": "^3.3.15",
  158. "@storybook/addon-knobs": "^3.3.15",
  159. "@storybook/addon-links": "^3.3.15",
  160. "@storybook/addon-storyshots": "^3.4.8",
  161. "@storybook/addons": "^3.3.15",
  162. "@storybook/react": "^3.3.15",
  163. "@types/bluebird": "^3.5.20",
  164. "@types/chart.js": "^2.7.13",
  165. "@types/classnames": "^2.2.3",
  166. "@types/enzyme": "^3.1.9",
  167. "@types/hapi": "^17.0.17",
  168. "@types/inert": "^5.1.1",
  169. "@types/invariant": "^2.2.29",
  170. "@types/jest": "^22.1.3",
  171. "@types/js-cookie": "^2.2.0",
  172. "@types/md5": "^2.1.32",
  173. "@types/memoizee": "^0.4.2",
  174. "@types/moment-timezone": "^0.5.4",
  175. "@types/node": "^9.4.6",
  176. "@types/promise.prototype.finally": "^2.0.2",
  177. "@types/qs": "^6.5.1",
  178. "@types/ramda": "^0.25.18",
  179. "@types/react": "^16.4.0",
  180. "@types/react-dom": "^16.0.6",
  181. "@types/react-loadable": "^5.3.3",
  182. "@types/react-redux": "^5.0.15",
  183. "@types/react-router-dom": "^4.2.2",
  184. "@types/react-sticky": "^5.0.6",
  185. "@types/recompose": "^0.30.0",
  186. "@types/redux-thunk": "^2.1.0",
  187. "@types/storybook__addon-actions": "^3.0.3",
  188. "@types/storybook__addon-knobs": "^3.4.1",
  189. "@types/storybook__react": "^3.0.7",
  190. "@types/uuid": "^3.4.3",
  191. "@types/why-did-you-update": "^0.0.8",
  192. "@types/xml2js": "^0.4.3",
  193. "@types/yup": "^0.24.9",
  194. "@types/zxcvbn": "^4.4.0",
  195. "axe-core": "^3.1.1",
  196. "babel-core": "^6.26.0",
  197. "babel-preset-react-app": "^3.1.1",
  198. "csstype": "^2.5.5",
  199. "eslint": "4.19.1",
  200. "hapi": "^17.5.3",
  201. "husky": "^1.1.3",
  202. "inert": "^5.1.0",
  203. "inquirer": "^6.2.0",
  204. "mountebank": "^1.14.1",
  205. "otplib": "^10.0.1",
  206. "selenium-standalone": "^6.13.0",
  207. "storybook-react-router": "^1.0.2",
  208. "svgr": "^1.9.0",
  209. "tslint-config-airbnb": "^5.6.0",
  210. "tslint-config-prettier": "^1.13.0",
  211. "typescript": "^2.7.2",
  212. "utility-types": "^2.1.0",
  213. "wdio-browserstack-service": "^0.1.16",
  214. "wdio-dot-reporter": "0.0.9",
  215. "wdio-jasmine-framework": "0.3.5",
  216. "wdio-junit-reporter": "^0.4.2",
  217. "wdio-selenium-standalone-service": "^0.0.10",
  218. "wdio-spec-reporter": "^0.1.5",
  219. "webdriverio": "4.12.0",
  220. "why-did-you-update": "^0.1.1",
  221. "yargs": "11.0.0"
  222. },
  223. "jest": {
  224. "collectCoverageFrom": [
  225. "src/**/*.{js,jsx,ts,tsx}"
  226. ],
  227. "setupFiles": [
  228. "<rootDir>/config/polyfills.js"
  229. ],
  230. "setupTestFrameworkScriptFile": "<rootDir>/config/testSetup.js",
  231. "testMatch": [
  232. "<rootDir>/src/**/__tests__/**/*.ts?(x)",
  233. "<rootDir>/src/**/?(*.)(spec|test).ts?(x)"
  234. ],
  235. "testEnvironment": "node",
  236. "testPathIgnorePatterns": [
  237. "<rootDir>/src/components/Storyshots.test.tsx"
  238. ],
  239. "testURL": "http://localhost",
  240. "transform": {
  241. "^.+\\.tsx?$": "<rootDir>/config/jest/typescriptTransform.js",
  242. "^.+\\.css$": "<rootDir>/config/jest/cssTransform.js",
  243. "^(?!.*\\.(js|jsx|mjs|css|json)$)": "<rootDir>/config/jest/fileTransform.js"
  244. },
  245. "transformIgnorePatterns": [
  246. "[/\\\\]node_modules[/\\\\].+\\.(js|jsx|mjs|ts|tsx)$"
  247. ],
  248. "moduleNameMapper": {
  249. "\\.svg$": "<rootDir>/src/components/NullComponent",
  250. "^react-native$": "react-native-web",
  251. "^src/(.*)": "<rootDir>/src/$1"
  252. },
  253. "moduleFileExtensions": [
  254. "mjs",
  255. "web.ts",
  256. "ts",
  257. "web.tsx",
  258. "tsx",
  259. "web.js",
  260. "js",
  261. "web.jsx",
  262. "jsx",
  263. "json",
  264. "node"
  265. ],
  266. "globals": {
  267. "ts-jest": {
  268. "tsConfigFile": "tsconfig.test.json"
  269. }
  270. }
  271. },
  272. "babel": {
  273. "presets": [
  274. "react-app"
  275. ]
  276. },
  277. "eslintConfig": {
  278. "extends": "react-app"
  279. }
  280. }