diff --git a/client/components/admin-dev.vue b/client/components/admin-dev.vue index abe4f540..30afef06 100644 --- a/client/components/admin-dev.vue +++ b/client/components/admin-dev.vue @@ -1,19 +1,163 @@ diff --git a/client/components/admin.vue b/client/components/admin.vue index 51ac88c0..f7ad6fe6 100644 --- a/client/components/admin.vue +++ b/client/components/admin.vue @@ -91,7 +91,7 @@ const router = new VueRouter({ { path: '/api', component: () => import(/* webpackChunkName: "admin" */ './admin-api.vue') }, { path: '/system', component: () => import(/* webpackChunkName: "admin" */ './admin-system.vue') }, { path: '/utilities', component: () => import(/* webpackChunkName: "admin" */ './admin-utilities.vue') }, - { path: '/dev', component: () => import(/* webpackChunkName: "admin" */ './admin-dev.vue') } + { path: '/dev', component: () => import(/* webpackChunkName: "admin-dev" */ './admin-dev.vue') } ] }) diff --git a/client/scss/app.scss b/client/scss/app.scss index df01203e..b9a798b9 100644 --- a/client/scss/app.scss +++ b/client/scss/app.scss @@ -14,7 +14,9 @@ // @import '../libs/twemoji/twemoji-awesome'; @import '../libs/prism/prism.css'; -@import 'node_modules/diff2html/dist/diff2html.min'; +// @import 'node_modules/diff2html/dist/diff2html.min'; + +@import 'node_modules/graphiql/graphiql'; @import 'pages/welcome'; diff --git a/dev/webpack/webpack.common.js b/dev/webpack/webpack.common.js index 26584d18..213e286e 100644 --- a/dev/webpack/webpack.common.js +++ b/dev/webpack/webpack.common.js @@ -209,6 +209,10 @@ module.exports = { loader: 'raw-loader' } ] + }, + { + test: /\.flow$/, + loader: 'ignore-loader' } ] }, diff --git a/package.json b/package.json index 46a46c02..e5dd53bc 100644 --- a/package.json +++ b/package.json @@ -172,9 +172,11 @@ "eslint-plugin-vue": "4.3.0", "extract-text-webpack-plugin": "3.0.2", "file-loader": "1.1.11", + "graphiql": "0.11.11", "graphql-tag": "^2.8.0", "hammerjs": "2.0.8", "i18next-xhr-backend": "1.5.1", + "ignore-loader": "0.1.2", "jest": "22.4.2", "jest-junit": "3.6.0", "js-cookie": "2.2.0", @@ -189,6 +191,8 @@ "postcss-selector-parser": "3.1.1", "pug-lint": "2.5.0", "raw-loader": "0.5.1", + "react": "16.2.0", + "react-dom": "16.2.0", "sass-loader": "6.0.7", "sass-resources-loader": "1.3.3", "simple-progress-webpack-plugin": "1.1.2", diff --git a/yarn.lock b/yarn.lock index 872f8a3b..31f8c150 100644 --- a/yarn.lock +++ b/yarn.lock @@ -106,12 +106,20 @@ version "1.0.2" resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-1.0.2.tgz#b02d10ab028e2928ac592a051aaa4981a1941d03" +"@types/graphql@0.11.7": + version "0.11.7" + resolved "https://registry.yarnpkg.com/@types/graphql/-/graphql-0.11.7.tgz#da39a2f7c74e793e32e2bb7b3b68da1691532dd5" + "@types/ldapjs@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@types/ldapjs/-/ldapjs-1.0.0.tgz#d940cb412140caec14edaa9c76d5b92799dab495" dependencies: "@types/node" "*" +"@types/lodash@^4.14.85": + version "4.14.105" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.105.tgz#9fcc4627a1f98f8f8fce79ddb2bff4afd97e959b" + "@types/mime@*": version "1.3.1" resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.1.tgz#2cf42972d0931c1060c7d5fa6627fce6bd876f2f" @@ -2272,6 +2280,17 @@ code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" +codemirror-graphql@^0.6.11: + version "0.6.12" + resolved "https://registry.yarnpkg.com/codemirror-graphql/-/codemirror-graphql-0.6.12.tgz#91a273fe5188857524a30221d06e645b4ca41f00" + dependencies: + graphql-language-service-interface "^1.0.16" + graphql-language-service-parser "^0.1.14" + +codemirror@^5.26.0: + version "5.35.0" + resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.35.0.tgz#280653d495455bc66aa87e6284292b02775ba878" + codemirror@^5.32.0: version "5.34.0" resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.34.0.tgz#e345dcc09a6149db65cc70dff9d389c1c4b0cd06" @@ -2538,7 +2557,7 @@ copy-webpack-plugin@4.5.1: p-limit "^1.0.0" serialize-javascript "^1.4.0" -core-js@^1.1.1: +core-js@^1.0.0, core-js@^1.1.1: version "1.2.7" resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" @@ -2621,6 +2640,13 @@ cron@^1.3: dependencies: moment-timezone "^0.5.x" +cross-fetch@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.0.0.tgz#a17475449561e0f325146cea636a8619efb9b382" + dependencies: + node-fetch "2.0.0" + whatwg-fetch "2.0.3" + cross-fetch@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-1.1.1.tgz#dede6865ae30f37eae62ac90ebb7bdac002b05a0" @@ -3854,6 +3880,18 @@ fb-watchman@^2.0.0: dependencies: bser "^2.0.0" +fbjs@^0.8.16: + version "0.8.16" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db" + dependencies: + core-js "^1.0.0" + isomorphic-fetch "^2.1.1" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.9" + fclone@1.0.11, fclone@^1: version "1.0.11" resolved "https://registry.yarnpkg.com/fclone/-/fclone-1.0.11.tgz#10e85da38bfea7fc599341c296ee1d77266ee640" @@ -4303,12 +4341,31 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6, version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" +graphiql@0.11.11: + version "0.11.11" + resolved "https://registry.yarnpkg.com/graphiql/-/graphiql-0.11.11.tgz#eeaf9a38927dbe8c6ecbf81e700735e16ec50e71" + dependencies: + codemirror "^5.26.0" + codemirror-graphql "^0.6.11" + markdown-it "^8.4.0" + graphql-anywhere@^4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/graphql-anywhere/-/graphql-anywhere-4.1.5.tgz#552ccd27b79a13a899022e20f658a2c2cb75e251" dependencies: apollo-utilities "^1.0.8" +graphql-config@1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/graphql-config/-/graphql-config-1.1.4.tgz#af09659f877b96451838de456e4e4f4be45be6dd" + dependencies: + graphql "^0.12.3" + graphql-import "^0.1.7" + graphql-request "^1.4.0" + js-yaml "^3.10.0" + minimatch "^3.0.4" + rimraf "^2.6.2" + graphql-extensions@^0.0.x: version "0.0.5" resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.0.5.tgz#63bc4a3fd31aab12bfadf783cbc038a9a6937cf0" @@ -4316,10 +4373,64 @@ graphql-extensions@^0.0.x: core-js "^2.5.1" source-map-support "^0.5.0" +graphql-import@^0.1.7: + version "0.1.9" + resolved "https://registry.yarnpkg.com/graphql-import/-/graphql-import-0.1.9.tgz#9161f4f7ea92337b60fd40e22e64d3a68c212729" + dependencies: + "@types/graphql" "0.11.7" + "@types/lodash" "^4.14.85" + graphql "^0.12.3" + lodash "^4.17.4" + +graphql-language-service-interface@^1.0.16: + version "1.0.18" + resolved "https://registry.yarnpkg.com/graphql-language-service-interface/-/graphql-language-service-interface-1.0.18.tgz#c0fc1ef72c6f6f4bf9042bd7a8a8a66e0772caa8" + dependencies: + graphql-config "1.1.4" + graphql-language-service-parser "^1.0.18" + graphql-language-service-types "^1.0.18" + graphql-language-service-utils "^1.0.18" + +graphql-language-service-parser@^0.1.14: + version "0.1.14" + resolved "https://registry.yarnpkg.com/graphql-language-service-parser/-/graphql-language-service-parser-0.1.14.tgz#dd25abda5dcff4f2268c9a19e026004271491661" + dependencies: + graphql-language-service-types "^0.1.14" + +graphql-language-service-parser@^1.0.18: + version "1.0.18" + resolved "https://registry.yarnpkg.com/graphql-language-service-parser/-/graphql-language-service-parser-1.0.18.tgz#80fe714f244fc81bc0352d0008ecafdf8fa75fe8" + dependencies: + graphql-config "1.1.4" + graphql-language-service-types "^1.0.18" + +graphql-language-service-types@^0.1.14: + version "0.1.14" + resolved "https://registry.yarnpkg.com/graphql-language-service-types/-/graphql-language-service-types-0.1.14.tgz#e6112785fc23ea8222f59a7f00e61b359f263c88" + +graphql-language-service-types@^1.0.18: + version "1.0.18" + resolved "https://registry.yarnpkg.com/graphql-language-service-types/-/graphql-language-service-types-1.0.18.tgz#0c9ebb6dd7babd61bf6b3bea0675abde5d7e5b16" + dependencies: + graphql-config "1.1.4" + +graphql-language-service-utils@^1.0.18: + version "1.0.18" + resolved "https://registry.yarnpkg.com/graphql-language-service-utils/-/graphql-language-service-utils-1.0.18.tgz#133fd0ce8ce360aad09c41feb47015eb7878cd3a" + dependencies: + graphql-config "1.1.4" + graphql-language-service-types "^1.0.18" + graphql-list-fields@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/graphql-list-fields/-/graphql-list-fields-2.0.1.tgz#06d921eddfbadafa66970e21ff0acdab3cf039db" +graphql-request@^1.4.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/graphql-request/-/graphql-request-1.5.1.tgz#cccdf5cce6432ca062b90f7b63793c77c821ff9a" + dependencies: + cross-fetch "2.0.0" + graphql-tag@^2.4.2: version "2.5.0" resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.5.0.tgz#b43bfd8b5babcd2c205ad680c03e98b238934e0f" @@ -4344,6 +4455,12 @@ graphql@0.13.1: dependencies: iterall "^1.2.0" +graphql@^0.12.3: + version "0.12.3" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.12.3.tgz#11668458bbe28261c0dcb6e265f515ba79f6ce07" + dependencies: + iterall "1.1.3" + growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" @@ -4663,6 +4780,10 @@ iferr@^0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" +ignore-loader@0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ignore-loader/-/ignore-loader-0.1.2.tgz#d81f240376d0ba4f0d778972c3ad25874117a463" + ignore@^3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.3.tgz#432352e57accd87ab3110e82d3fea0e47812156d" @@ -5156,6 +5277,13 @@ isobject@^3.0.0, isobject@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" +isomorphic-fetch@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" + dependencies: + node-fetch "^1.0.1" + whatwg-fetch ">=0.10.0" + isstream@0.1.x, isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" @@ -5233,6 +5361,10 @@ istanbul-reports@^1.1.3: dependencies: handlebars "^4.0.3" +iterall@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.1.3.tgz#1cbbff96204056dde6656e2ed2e2226d0e6d72c9" + iterall@^1.1.3: version "1.1.4" resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.1.4.tgz#0db40d38fdcf53ae14dc8ec674e62ab190d52cfc" @@ -5538,7 +5670,7 @@ js-tokens@^3.0.0, js-tokens@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" -js-yaml@3.11.0: +js-yaml@3.11.0, js-yaml@^3.10.0: version "3.11.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef" dependencies: @@ -6129,7 +6261,7 @@ longest@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" -loose-envify@^1.0.0: +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" dependencies: @@ -6239,7 +6371,7 @@ markdown-it-task-lists@2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/markdown-it-task-lists/-/markdown-it-task-lists-2.1.1.tgz#f68f4d2ac2bad5a2c373ba93081a1a6848417088" -markdown-it@8.4.1: +markdown-it@8.4.1, markdown-it@^8.4.0: version "8.4.1" resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-8.4.1.tgz#206fe59b0e4e1b78a7c73250af9b34a4ad0aaf44" dependencies: @@ -6641,13 +6773,17 @@ node-2fa@1.1.2: notp "^2.0.3" thirty-two "0.0.2" -node-fetch@1.7.3: +node-fetch@1.7.3, node-fetch@^1.0.1: version "1.7.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" dependencies: encoding "^0.1.11" is-stream "^1.0.1" +node-fetch@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.0.0.tgz#982bba43ecd4f2922a29cc186a6bbb0bb73fcba6" + node-fingerprint@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/node-fingerprint/-/node-fingerprint-0.0.2.tgz#31cbabeb71a67ae7dd5a7dc042e51c3c75868501" @@ -8144,7 +8280,7 @@ promise-polyfill@^6.0.1: version "6.0.2" resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-6.0.2.tgz#d9c86d3dc4dc2df9016e88946defd69b49b41162" -promise@7.x, promise@^7.0.1: +promise@7.x, promise@^7.0.1, promise@^7.1.1: version "7.3.1" resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" dependencies: @@ -8156,6 +8292,14 @@ promptly@2.2.0: dependencies: read "^1.0.4" +prop-types@^15.6.0: + version "15.6.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.1.tgz#36644453564255ddda391191fb3a125cbdf654ca" + dependencies: + fbjs "^0.8.16" + loose-envify "^1.3.1" + object-assign "^4.1.1" + proxy-addr@~2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.2.tgz#6571504f47bb988ec8180253f85dd7e14952bdec" @@ -8441,6 +8585,24 @@ rc@^1.1.7: minimist "^1.2.0" strip-json-comments "~2.0.1" +react-dom@16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.2.0.tgz#69003178601c0ca19b709b33a83369fe6124c044" + dependencies: + fbjs "^0.8.16" + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.0" + +react@16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/react/-/react-16.2.0.tgz#a31bd2dab89bff65d42134fa187f24d054c273ba" + dependencies: + fbjs "^0.8.16" + loose-envify "^1.1.0" + object-assign "^4.1.1" + prop-types "^15.6.0" + read-chunk@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/read-chunk/-/read-chunk-2.1.0.tgz#6a04c0928005ed9d42e1a6ac5600e19cbc7ff655" @@ -9122,7 +9284,7 @@ set-value@^2.0.0: is-plain-object "^2.0.3" split-string "^3.0.1" -setimmediate@^1.0.4: +setimmediate@^1.0.4, setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" @@ -9866,6 +10028,10 @@ typedarray@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" +ua-parser-js@^0.7.9: + version "0.7.17" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac" + uc.micro@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.3.tgz#7ed50d5e0f9a9fb0a573379259f2a77458d50192" @@ -10416,7 +10582,7 @@ whatwg-encoding@^1.0.1: dependencies: iconv-lite "0.4.13" -whatwg-fetch@2.0.3, whatwg-fetch@^2.0.3: +whatwg-fetch@2.0.3, whatwg-fetch@>=0.10.0, whatwg-fetch@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"