diff --git a/.gitignore b/.gitignore index 1b73c778..e9beec99 100644 --- a/.gitignore +++ b/.gitignore @@ -31,7 +31,8 @@ node_modules jspm_packages # Next.js build directory -.next/ +build +.next # Optional npm cache directory .npm @@ -39,8 +40,8 @@ jspm_packages # Optional REPL history .node_repl_history -# Dev database -dev.sqlite +# Dev databases +*.sqlite # Machine-specific dotenv .env diff --git a/.sequelizerc b/.sequelizerc new file mode 100644 index 00000000..741ed930 --- /dev/null +++ b/.sequelizerc @@ -0,0 +1,7 @@ +const path = require('path'); + +module.exports = { + 'config': path.resolve('src', 'config', 'config.json'), + 'models-path': path.resolve('src', 'models'), + 'migrations-path': path.resolve('src', 'migrations'), +} diff --git a/.travis.yml b/.travis.yml index 4a11d3f9..a6c25385 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,7 +13,7 @@ before_install: - mysql -e 'CREATE USER 'queue'@'localhost'; GRANT ALL PRIVILEGES ON *.* TO 'queue'@'localhost'; CREATE DATABASE queue; CREATE DATABASE queue_test;' script: - npm run build - - ./tools/diff_databases.sh + - ./scripts/diff_databases.sh - DATABASE_URL=mysql://queue@localhost/queue_test npm run test-sequential - npm run lint-js - npm run prettier-diff diff --git a/CHANGELOG.md b/CHANGELOG.md index 81ba923e..b9b96e71 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ with the current date and the next changes should go under a **[Next]** header. ## [Next] +* Reorganize directory structure. ([@nwalters512](https://github.com/nwalters512) in [#108](https://github.com/illinois/queue/pull/108)) + ## 19 April 2018 * Show dev workshop ad on homepage. ([@nwalters512](https://github.com/nwalters512) in [#107](https://github.com/illinois/queue/pull/107)) diff --git a/package-lock.json b/package-lock.json index ae9b7db2..21c99226 100644 --- a/package-lock.json +++ b/package-lock.json @@ -93,7 +93,7 @@ "@fortawesome/react-fontawesome": { "version": "0.0.17", "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.0.17.tgz", - "integrity": "sha1-aavRNVIxhwRPUzytxUWPgp1Dlh8=", + "integrity": "sha512-LpTGKuSVSMGzoKLph+d6l6rupPw17D1zX/dQYkryGdat9I76kwQwMYcn7ZviDDT6rTBlrdftB/1GIRvMSyPFuA==", "requires": { "humps": "2.0.1" } @@ -101,7 +101,7 @@ "@types/body-parser": { "version": "1.16.8", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.16.8.tgz", - "integrity": "sha1-aH7DQUBiSjvsKxqOqSaEeK6PO+M=", + "integrity": "sha512-BdN2PXxOFnTXFcyONPW6t0fHjz2fvRZHVMFpaS0wYr+Y8fWEaNOs4V8LEu/fpzQlMx+ahdndgTaGTwPC+J/EeA==", "requires": { "@types/express": "4.0.39", "@types/node": "9.3.0" @@ -115,7 +115,7 @@ "@types/express": { "version": "4.0.39", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.0.39.tgz", - "integrity": "sha1-FEHyHVKzO+jU+oqGXBWmqRzQ+gk=", + "integrity": "sha512-dBUam7jEjyuEofigUXCtublUHknRZvcRgITlGsTbFgPvnTwtQUt2NgLakbsf+PsGo/Nupqr3IXCYsOpBpofyrA==", "requires": { "@types/body-parser": "1.16.8", "@types/express-serve-static-core": "4.11.1", @@ -125,7 +125,7 @@ "@types/express-serve-static-core": { "version": "4.11.1", "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.11.1.tgz", - "integrity": "sha1-9vchI4LVmxnWlmd7yqSKNygPXUU=", + "integrity": "sha512-EehCl3tpuqiM8RUb+0255M8PhhSwTtLfmO7zBBdv0ay/VTd/zmrqDfQdZFsa5z/PVMbH2yCMZPXsnrImpATyIw==", "requires": { "@types/events": "1.1.0", "@types/node": "9.3.0" @@ -134,12 +134,12 @@ "@types/geojson": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-1.0.6.tgz", - "integrity": "sha1-PgKXJyjGkkjCrwjWCkjLuGgP/98=" + "integrity": "sha512-Xqg/lIZMrUd0VRmSRbCAewtwGZiAk3mEUDvV4op1tGl+LvyPcb/MIOSxTl9z+9+J+R4/vpjiCAT4xeKzH9ji1w==" }, "@types/mime": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.0.tgz", - "integrity": "sha1-WnMG42fFObn2VDSZ3o3VGfrDeos=" + "integrity": "sha512-A2TAGbTFdBw9azHbpVd+/FkdW2T6msN1uct1O9bH3vTerEHKZhTXJUQXy+hNq1B0RagfU8U+KBdqiZpxjhOUQA==" }, "@types/node": { "version": "9.3.0", @@ -149,7 +149,7 @@ "@types/serve-static": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.1.tgz", - "integrity": "sha1-HSgB+mNdJ0zZfU7AfiayG0QSdJI=", + "integrity": "sha512-jDMH+3BQPtvqZVIcsH700Dfi8Q3MIcEx16g/VdxjoqiGR/NntekB10xdBpirMKnPe9z2C5cBmL0vte0YttOr3Q==", "requires": { "@types/express-serve-static-core": "4.11.1", "@types/mime": "2.0.0" @@ -219,7 +219,7 @@ "@zeit/source-map-support": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/@zeit/source-map-support/-/source-map-support-0.6.2.tgz", - "integrity": "sha1-Dv1HjySmBnJpSBZeU6jv6J4kA28=", + "integrity": "sha512-hSGbAEUxKhrE6DAWe5cPVdlRxtpjOnNdeMI5kNIHOvJxYrWUrIdIDeTbM7hpoz0R/SSWYFxKjPJRSLs74ffVIQ==", "requires": { "source-map": "0.6.1" }, @@ -227,7 +227,7 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" } } }, @@ -240,7 +240,7 @@ "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=" + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "accepts": { "version": "1.3.5", @@ -289,7 +289,7 @@ "acorn-globals": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.1.0.tgz", - "integrity": "sha1-q3FgJdvhfFTT74HTLs4rLZn+JTg=", + "integrity": "sha512-KjZwU26uG3u6eZcfGbTULzFcsoz6pegNKtHPksZPOUsiKo5bUmiBPa38FuHZ/Eun+XYh/JCCkS9AS3Lu4McQOQ==", "dev": true, "requires": { "acorn": "5.5.3" @@ -424,12 +424,12 @@ "aproba": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=" + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "requires": { "sprintf-js": "1.0.3" } @@ -451,7 +451,7 @@ "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=" + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" }, "arr-union": { "version": "3.1.0", @@ -469,6 +469,12 @@ "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=", "dev": true }, + "array-filter": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", + "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=", + "dev": true + }, "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", @@ -484,6 +490,18 @@ "es-abstract": "1.10.0" } }, + "array-map": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", + "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=", + "dev": true + }, + "array-reduce": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", + "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=", + "dev": true + }, "array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", @@ -505,7 +523,7 @@ "arraybuffer.slice": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", - "integrity": "sha1-O7xCdd1YTMGxCAm4nU6LY6aednU=" + "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==" }, "arrify": { "version": "1.0.1", @@ -561,13 +579,13 @@ "astral-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k=", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", "dev": true }, "async": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", - "integrity": "sha1-YaKau2/MAm/qd+VtHG7FOnlZUfQ=", + "integrity": "sha512-xAfGg1/NTLBBKlHFmnd7PlmUW9KhVQIUuSrYem9xzFUZy13ScvtyGGejaae9iAVRiRq9+Cx7DPFaAAhCpyxyPw==", "requires": { "lodash": "4.17.4" } @@ -580,7 +598,7 @@ "async-limiter": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", - "integrity": "sha1-ePrtjD0HSrgfIrTphdeehzj3IPg=" + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" }, "asynckit": { "version": "0.4.0", @@ -686,7 +704,7 @@ "babel-generator": { "version": "6.26.1", "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "integrity": "sha1-GERAjTuPDTWkBOp6wYDwh6YBvZA=", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", "requires": { "babel-messages": "6.23.0", "babel-runtime": "6.26.0", @@ -846,7 +864,7 @@ "babel-loader": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.2.tgz", - "integrity": "sha1-9svhInEPGqKvTYgcbVtUNYyiQSY=", + "integrity": "sha512-jRwlFbINAeyDStqK6Dd5YuY0k5YuzQUvlz2ZamuXrXmxav3pNqe9vfJ402+2G+OmlJSXxCOpB6Uz0INM7RQe2A==", "requires": { "find-cache-dir": "1.0.0", "loader-utils": "1.1.0", @@ -1264,7 +1282,7 @@ "babel-preset-env": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.6.1.tgz", - "integrity": "sha1-oYtWTMm5r99KrleuPBsNmRiOb0g=", + "integrity": "sha512-W6VIyA6Ch9ePMI7VptNn2wBM6dbG0eSz25HEiL40nQXCsXGTGZSTZu1Iap+cj3Q0S5a7T9+529l/5Bkvd+afNA==", "dev": true, "requires": { "babel-plugin-check-es2015-constants": "6.22.0", @@ -1405,7 +1423,7 @@ "babylon": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=" + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" }, "backo2": { "version": "1.0.2", @@ -1420,7 +1438,7 @@ "base": { "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "requires": { "cache-base": "1.0.1", "class-utils": "0.3.6", @@ -1477,7 +1495,7 @@ "big.js": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", - "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=" + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==" }, "binary-extensions": { "version": "1.11.0", @@ -1492,12 +1510,12 @@ "bluebird": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", - "integrity": "sha1-2VUfnemPH82h5oPRfukaBgLuLrk=" + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" }, "bn.js": { "version": "4.11.8", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=" + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" }, "body-parser": { "version": "1.18.2", @@ -1559,7 +1577,7 @@ "boxen": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", - "integrity": "sha1-VcbDmouljZxhrSLNh3Uy3rZlogs=", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "requires": { "ansi-align": "2.0.0", "camelcase": "4.1.0", @@ -1748,7 +1766,7 @@ "browserify-zlib": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", "requires": { "pako": "1.0.6" } @@ -1841,7 +1859,7 @@ "cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "requires": { "collection-visit": "1.0.0", "component-emitter": "1.2.1", @@ -2060,7 +2078,7 @@ "cipher-base": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", "requires": { "inherits": "2.0.3", "safe-buffer": "5.1.1" @@ -2069,19 +2087,19 @@ "circular-json": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha1-gVyZ6oT2gJUp0vRXkb34JxE1LWY=", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", "dev": true }, "circular-json-es6": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/circular-json-es6/-/circular-json-es6-2.0.2.tgz", - "integrity": "sha1-5PSgk+SftLaroRVzZXRhEqeL00Q=", + "integrity": "sha512-ODYONMMNb3p658Zv+Pp+/XPa5s6q7afhz3Tzyvo+VRh9WIrJ64J76ZC4GQxnlye/NesTn09jvOiuE8+xxfpwhQ==", "dev": true }, "clap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", - "integrity": "sha1-TzZ0WzIAhJJVf0ZBLWbVDLmbzlE=", + "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", "requires": { "chalk": "1.1.3" } @@ -2089,7 +2107,7 @@ "class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "requires": { "arr-union": "3.1.0", "define-property": "0.2.5", @@ -2254,7 +2272,7 @@ "color-convert": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", - "integrity": "sha1-wSYRB66y8pTr/+ye2eytUppgl+0=", + "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", "requires": { "color-name": "1.1.3" } @@ -2330,7 +2348,7 @@ "commander": { "version": "2.13.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", - "integrity": "sha1-aWS8pnaF33wfFDDFhPB9dZeIW5w=" + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==" }, "commondir": { "version": "1.0.1", @@ -2414,7 +2432,7 @@ "content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=" + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" }, "content-type-parser": { "version": "1.0.2", @@ -2446,7 +2464,7 @@ "copy-concurrently": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "requires": { "aproba": "1.2.0", "fs-write-stream-atomic": "1.0.10", @@ -2492,6 +2510,128 @@ } } }, + "cpx": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/cpx/-/cpx-1.5.0.tgz", + "integrity": "sha1-GFvgGFEdhycN7czCkxceN2VauI8=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "chokidar": "1.7.0", + "duplexer": "0.1.1", + "glob": "7.1.2", + "glob2base": "0.0.12", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "resolve": "1.5.0", + "safe-buffer": "5.1.1", + "shell-quote": "1.6.1", + "subarg": "1.0.0" + }, + "dependencies": { + "anymatch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "dev": true, + "requires": { + "micromatch": "2.3.11", + "normalize-path": "2.1.1" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.2" + } + }, + "chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "dev": true, + "requires": { + "anymatch": "1.3.2", + "async-each": "1.0.1", + "fsevents": "1.1.3", + "glob-parent": "2.0.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "2.0.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + } + } + } + }, "crc": { "version": "3.4.4", "resolved": "https://registry.npmjs.org/crc/-/crc-3.4.4.tgz", @@ -2560,7 +2700,7 @@ "boom": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha1-XdnabuOl8wIHdDYpDLcX0/SlTgI=", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", "dev": true, "requires": { "hoek": "4.2.1" @@ -2571,7 +2711,7 @@ "crypto-browserify": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", "requires": { "browserify-cipher": "1.0.0", "browserify-sign": "4.0.4", @@ -2851,7 +2991,7 @@ "denque": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/denque/-/denque-1.2.3.tgz", - "integrity": "sha1-mMUMjdjN+uMYzFhZzI7j2g+bDMI=" + "integrity": "sha512-BOjyD1zPf7gqgXlXBCnCsz84cbRNfqpQNvWOUiw3Onu9s7a2afW2LyHzctoie/2KELfUoZkNHTnW02C3hCU20w==" }, "depd": { "version": "1.1.2", @@ -2921,7 +3061,7 @@ "doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha1-XNAfwQFiG0LEzX9dGmYkNxbT850=", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { "esutils": "2.0.2" @@ -2930,7 +3070,7 @@ "dom-helpers": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.3.1.tgz", - "integrity": "sha1-/BpOFf/fYN3eA6SAqcD+zoId1KY=" + "integrity": "sha512-2Sm+JaYn74OiTM2wHvxJOo3roiq/h25Yi69Fqk269cNUwIXsCvATB6CRSFC9Am/20G2b28hGv/+7NiWydIrPvg==" }, "dom-serializer": { "version": "0.1.0", @@ -2958,7 +3098,7 @@ "domain-browser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=" + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" }, "domelementtype": { "version": "1.3.0", @@ -2969,7 +3109,7 @@ "domexception": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz", - "integrity": "sha1-k3RCZEymoxJh7zbj7Gd/6AVYLJA=", + "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==", "dev": true, "requires": { "webidl-conversions": "4.0.2" @@ -3076,7 +3216,7 @@ "emoji-regex": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.5.1.tgz", - "integrity": "sha1-m66pKbFVVlwR6kHGYm6qZc75ksI=", + "integrity": "sha512-PAHp6TxrCy7MGMFidro8uikr+zlJJKJ/Q6mm2ExZ7HwkyR9lSVFfE3kt36qcwa24BQL7y0G9axycGjK1A/0uNQ==", "dev": true }, "emojis-list": { @@ -3108,7 +3248,7 @@ "end-of-stream": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha1-7SljTRm6ukY7bOa4CjchPqtx7EM=", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "requires": { "once": "1.4.0" } @@ -3187,7 +3327,7 @@ "engine.io-parser": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.2.tgz", - "integrity": "sha1-TA9M/3mq7su9z96maoI8YIVAkZY=", + "integrity": "sha512-dInLFzr80RijZ1rGpx1+56/uFoH7/7InhH3kZt+Ms6hT8tNx3NGW/WNSA/f8As1WkOfkuyb3tnRyuXGxusclMw==", "requires": { "after": "0.8.2", "arraybuffer.slice": "0.0.7", @@ -3216,12 +3356,12 @@ "env-variable": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.4.tgz", - "integrity": "sha1-DWKAz1B9hCQr7+NaUSta5L53xU4=" + "integrity": "sha512-+jpGxSWG4vr6gVxUHOc4p+ilPnql7NzZxOZBxNldsKGjCF+97df3CbuX7XMaDa5oAVkKQj4rKp38rYdC4VcpDg==" }, "enzyme": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/enzyme/-/enzyme-3.3.0.tgz", - "integrity": "sha1-CXGr0Wfy1L8/W9UIIp4cS23FBHk=", + "integrity": "sha512-l8csyPyLmtxskTz6pX9W8eDOyH1ckEtDttXk/vlFWCjv00SkjTjtoUrogqp4yEvMyneU9dUJoOLnqFoiHb8IHA==", "dev": true, "requires": { "cheerio": "1.0.0-rc.2", @@ -3245,7 +3385,7 @@ "enzyme-adapter-react-16": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.1.1.tgz", - "integrity": "sha1-qPQni0fggvvKFPW/se5Q7mUHF7Q=", + "integrity": "sha512-kC8pAtU2Jk3OJ0EG8Y2813dg9Ol0TXi7UNxHzHiWs30Jo/hj7alc//G1YpKUsPP1oKl9X+Lkx+WlGJpPYA+nvw==", "dev": true, "requires": { "enzyme-adapter-utils": "1.3.0", @@ -3260,7 +3400,7 @@ "enzyme-adapter-utils": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/enzyme-adapter-utils/-/enzyme-adapter-utils-1.3.0.tgz", - "integrity": "sha1-1shXVoJsJXqFRNNizHpn6X6mmMc=", + "integrity": "sha512-vVXSt6uDv230DIv+ebCG66T1Pm36Kv+m74L1TrF4kaE7e1V7Q/LcxO0QRkajk5cA6R3uu9wJf5h13wOTezTbjA==", "dev": true, "requires": { "lodash": "4.17.4", @@ -3271,7 +3411,7 @@ "enzyme-matchers": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/enzyme-matchers/-/enzyme-matchers-4.2.0.tgz", - "integrity": "sha1-ODM4gyWNqQ5UFLWsB9OIrst1In8=", + "integrity": "sha512-5Gf/mAVYx6KPAUuxuDhAGt/gu9ndPd6duFcVnH2rbEad2clgTpHZL4Df49FHFukrjEEubX9rhfeAKx0/sbfVkQ==", "dev": true, "requires": { "circular-json-es6": "2.0.2", @@ -3581,7 +3721,7 @@ "eslint-config-airbnb": { "version": "16.1.0", "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-16.1.0.tgz", - "integrity": "sha1-JUa/sCzJ/pIoS/FyPM8uh7xFykY=", + "integrity": "sha512-zLyOhVWhzB/jwbz7IPSbkUuj7X2ox4PHXTcZkEmDqTvd0baJmJyuxlFPDlZOE/Y5bC+HQRaEkT3FoHo9wIdRiw==", "dev": true, "requires": { "eslint-config-airbnb-base": "12.1.0" @@ -3590,7 +3730,7 @@ "eslint-config-airbnb-base": { "version": "12.1.0", "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-12.1.0.tgz", - "integrity": "sha1-OGRB5UoSzNlXsKklZKS6/r10eUQ=", + "integrity": "sha512-/vjm0Px5ZCpmJqnjIzcFb9TKZrKWz0gnuG/7Gfkt0Db1ELJR51xkZth+t14rYdqWgX836XbuxtArbIHlVhbLBA==", "dev": true, "requires": { "eslint-restricted-globals": "0.1.1" @@ -3599,7 +3739,7 @@ "eslint-config-prettier": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-2.9.0.tgz", - "integrity": "sha1-Xs1lF01IbCLf84n+A2/r9QLUaKM=", + "integrity": "sha512-ag8YEyBXsm3nmOv1Hz991VtNNDMRa+MNy8cY47Pl4bw6iuzqKbJajXdqUpiw13STdLLrznxgm1hj9NhxeOYq0A==", "dev": true, "requires": { "get-stdin": "5.0.1" @@ -3608,7 +3748,7 @@ "eslint-import-resolver-node": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz", - "integrity": "sha1-WPFfuDm40FdsqYBBNHaqskcttmo=", + "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", "dev": true, "requires": { "debug": "2.6.9", @@ -3749,7 +3889,7 @@ "eslint-visitor-keys": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha1-PzGA+y4pEBdxastMnW1bXDSmqB0=", + "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", "dev": true }, "espree": { @@ -3847,7 +3987,7 @@ "evp_bytestokey": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", "requires": { "md5.js": "1.3.4", "safe-buffer": "5.1.1" @@ -3856,7 +3996,7 @@ "exec-sh": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.1.tgz", - "integrity": "sha1-FjuYpuiea2W0fCoo0hW8H2OYnDg=", + "integrity": "sha512-aLt95pexaugVtQerpmE51+4QfWrNc304uez7jvj6fWnN8GeEHpttB8F36n8N7uVhUMbH/1enbxQ9HImZ4w/9qg==", "dev": true, "requires": { "merge": "1.2.0" @@ -4111,7 +4251,7 @@ "express-session": { "version": "1.15.6", "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.15.6.tgz", - "integrity": "sha1-R7QWDIj0KrcP6KUI4xy/92dXqwo=", + "integrity": "sha512-r0nrHTCYtAMrFwZ0kBzZEXa1vtPVrw0dKvGSrKP4dahwBQ1BJpF2/y1Pp4sCD/0kvxV4zZeclyvfmw0B4RMJQA==", "requires": { "cookie": "0.3.1", "cookie-signature": "1.0.6", @@ -4151,7 +4291,7 @@ "express-validator": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/express-validator/-/express-validator-4.3.0.tgz", - "integrity": "sha1-YCGKV3jFnV53i4muTgC3b4UQ73g=", + "integrity": "sha512-EYU+JJ2EoLpcw+GKwbB1K8UGb/w1A70Wf3gD/zE9QScQxeSt8qad93lxGtsLwZFoiYM0EByVoSzHJnskp+eVHQ==", "requires": { "@types/express": "4.0.39", "lodash": "4.17.4", @@ -4161,7 +4301,7 @@ "validator": { "version": "8.2.0", "resolved": "https://registry.npmjs.org/validator/-/validator-8.2.0.tgz", - "integrity": "sha1-PBI3KQ43CSNVNE/veMIxJJ2rd7k=" + "integrity": "sha512-Yw5wW34fSv5spzTXNkokD6S6/Oq92d8q/t14TqsS3fAiA1RYnxSFSIZ+CY3n6PGGRCq5HhJTSepQvFUS2QUDxA==" } } }, @@ -4237,7 +4377,7 @@ "extract-text-webpack-plugin": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz", - "integrity": "sha1-XwQ+qgL5dQqSWLeMCm4NwUCPsvc=", + "integrity": "sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ==", "requires": { "async": "2.6.0", "loader-utils": "1.1.0", @@ -4309,7 +4449,7 @@ "fecha": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz", - "integrity": "sha1-lI50FX3xoy/RsSw6PDzctuydls0=" + "integrity": "sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg==" }, "figures": { "version": "2.0.0", @@ -4406,6 +4546,12 @@ } } }, + "find-index": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz", + "integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=", + "dev": true + }, "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", @@ -5366,12 +5512,12 @@ "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=" + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "function.prototype.name": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.0.tgz", - "integrity": "sha1-i9djzAr4YKhZzF1JOE10uTLNIyc=", + "integrity": "sha512-Bs0VRrTz4ghD8pTmbJQD1mZ8A/mN0ur/jGz+A6FBxPDUPkm1tNfF6bhTYPA7i7aF4lZJVr+OXTNNrnnIl58Wfg==", "dev": true, "requires": { "define-properties": "1.1.2", @@ -5428,7 +5574,7 @@ "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { "fs.realpath": "1.0.0", "inflight": "1.0.6", @@ -5460,7 +5606,16 @@ "glob-promise": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/glob-promise/-/glob-promise-3.3.0.tgz", - "integrity": "sha1-0es2JcTm3Lublu6uRCXVo7E1/tI=" + "integrity": "sha512-X5VIEO/yy5NH3p9ORhlNodakQo/cK4I0lCtARNeAkWueJiToew5Xs9DiukVKsW5dgpjnnQgou9Rbj3HUkM6OUw==" + }, + "glob2base": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz", + "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=", + "dev": true, + "requires": { + "find-index": "0.1.1" + } }, "global": { "version": "4.3.2", @@ -5482,7 +5637,7 @@ "globals": { "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=" + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" }, "globby": { "version": "5.0.0", @@ -5657,7 +5812,7 @@ "hash.js": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", - "integrity": "sha1-NA3tvmKQGHFRweodd3o0SJNd+EY=", + "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", "requires": { "inherits": "2.0.3", "minimalistic-assert": "1.0.0" @@ -5666,7 +5821,7 @@ "hawk": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", - "integrity": "sha1-r02RTrBl+bXOTZ0RwcshJu7MMDg=", + "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", "dev": true, "requires": { "boom": "4.3.1", @@ -5688,7 +5843,7 @@ "hoek": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", - "integrity": "sha1-ljRQKqEsRF3Vp8VzS1cruHOKrLs=", + "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==", "dev": true }, "hoist-non-react-statics": { @@ -5718,7 +5873,7 @@ "html-encoding-sniffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz", - "integrity": "sha1-5w2EuU2lOqN14R/jo1G+ZkLKRvg=", + "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==", "dev": true, "requires": { "whatwg-encoding": "1.0.3" @@ -5910,7 +6065,7 @@ "iconv-lite": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", - "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs=" + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" }, "icss-replace-symbols": { "version": "1.1.0", @@ -5928,7 +6083,7 @@ "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { "color-convert": "1.9.1" } @@ -5936,7 +6091,7 @@ "chalk": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", - "integrity": "sha1-JQ3JawdJG/1gHmSNZt319gx6XGU=", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "requires": { "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", @@ -5961,12 +6116,12 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "supports-color": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha1-WySsFduA+pJ89SJ6SjP9PEx2dsA=", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "requires": { "has-flag": "3.0.0" } @@ -5986,7 +6141,7 @@ "ignore": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz", - "integrity": "sha1-YSKJv7PCIOGGpYEYYY1b6MG6sCE=", + "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==", "dev": true }, "ignore-by-default": { @@ -6008,7 +6163,7 @@ "import-local": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", - "integrity": "sha1-Xk/9wD9P5sAJxnKb6yljHC+CJ7w=", + "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", "dev": true, "requires": { "pkg-dir": "2.0.0", @@ -6063,12 +6218,12 @@ "ini": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=" + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" }, "inquirer": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", - "integrity": "sha1-ndLyrXZdyrH/BEO0kUQqILoifck=", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", "dev": true, "requires": { "ansi-escapes": "3.1.0", @@ -6202,7 +6357,7 @@ "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=" + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "is-builtin-module": { "version": "1.0.0", @@ -6221,7 +6376,7 @@ "is-ci": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.1.0.tgz", - "integrity": "sha1-JH5BYueGDOu9rzC3dNawrH3P56U=", + "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "dev": true, "requires": { "ci-info": "1.1.3" @@ -6397,7 +6552,7 @@ "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "requires": { "isobject": "3.0.1" } @@ -6631,7 +6786,7 @@ "istanbul-lib-source-maps": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.3.tgz", - "integrity": "sha1-IPtUsU4Us/tu22rKNXH9IUPbROY=", + "integrity": "sha512-fDa0hwU/5sDXwAklXgAoCJCOsFsBplVQ6WBldz5UwaqOzmDhUK4nfuR7/G//G2lERlblUNJB8P6e8cXq3a7MlA==", "dev": true, "requires": { "debug": "3.1.0", @@ -6986,7 +7141,7 @@ "jest-enzyme": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/jest-enzyme/-/jest-enzyme-4.2.0.tgz", - "integrity": "sha1-0oRQa22H4HK/bSeGWElwu0LqWWk=", + "integrity": "sha512-nna99NnU6sDbWqVX0153c81RUuxI/spTgw4Xobh049NcKihu0OAtAawbuSzZUnlCqdZOoXlKMudfjUPm0sCTsg==", "dev": true, "requires": { "enzyme-matchers": "4.2.0", @@ -7742,7 +7897,7 @@ "js-base64": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.3.tgz", - "integrity": "sha1-LlRewrDylX9BNWUQIFIU6Y+tZYI=" + "integrity": "sha512-H7ErYLM34CvDMto3GbD6xD0JLUGYXR3QTcH6B/tr4Hi/QpSThnCsIp+Sy5FRTw3B0d6py4HcNkW7nO/wdtGWEw==" }, "js-string-escape": { "version": "1.0.1", @@ -7812,7 +7967,7 @@ "json-loader": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", - "integrity": "sha1-3KFKcCNf+C8KyaOr62DTN6NlGF0=" + "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==" }, "json-parse-better-errors": { "version": "1.0.2", @@ -7823,7 +7978,7 @@ "json-patch": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/json-patch/-/json-patch-0.7.0.tgz", - "integrity": "sha1-JZiVjqZ/o2YNro7mhNNUB7N/S5g=" + "integrity": "sha512-9zaGTzsV6Hal5HVMC8kb4niXYQOOcq3tUp0P/GTw6HHZFPVwtCU2+mXE9q59MelL9uknALWnoKrUxnDpUX728g==" }, "json-schema": { "version": "0.2.3", @@ -8120,7 +8275,7 @@ "long": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz", - "integrity": "sha1-mntxz7fTYaGU6lVSQckvdGjVvyg=" + "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==" }, "longest": { "version": "1.0.1", @@ -8143,7 +8298,7 @@ "lru-cache": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", - "integrity": "sha1-Yi4y6CSItJJ5EUpPns9F581rulU=", + "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", "requires": { "pseudomap": "1.0.2", "yallist": "2.1.2" @@ -8303,7 +8458,7 @@ "miller-rabin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "requires": { "bn.js": "4.11.8", "brorand": "1.1.0" @@ -8353,7 +8508,7 @@ "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { "brace-expansion": "1.1.11" } @@ -8502,7 +8657,7 @@ "mz": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha1-lQCAV6Vsr63CvGPd5/n/aVWUjjI=", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", "requires": { "any-promise": "1.3.0", "object-assign": "4.1.1", @@ -8790,7 +8945,7 @@ "next-redux-wrapper": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/next-redux-wrapper/-/next-redux-wrapper-1.3.5.tgz", - "integrity": "sha1-zyTU5L2spsvxjnMwDn+xlCiUbwM=", + "integrity": "sha512-VZFl/CIIujxCGDlBM99W8pDYkSr5o10UMUt5/pZHZVgnaEqpFSsRsKz9yAkx/8C3RYFhGK4MHiNaf9+LtUUemA==", "requires": { "object.assign": "4.1.0" } @@ -8798,7 +8953,7 @@ "next-routes": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/next-routes/-/next-routes-1.4.1.tgz", - "integrity": "sha1-dA48AsTAQ1zmilxvh3QS/oaGQCs=", + "integrity": "sha512-Q9/4g17Eo81QYdavyWIZpi+6Yjpz98BB2BgGFFOe6Oada/FciDYXweL1ZjLXGMSHJpcPeF09tniQdT6/nlXf/w==", "requires": { "path-to-regexp": "2.2.0" }, @@ -8806,7 +8961,7 @@ "path-to-regexp": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.0.tgz", - "integrity": "sha1-gPD/RcHg5kHadN8xNkTq8RUFCXI=" + "integrity": "sha512-zJcOPeBsraLjWXwUzFMPzH3QO2CmO1yRggtADPJjOTyCF5csQxfUGJL+CbyyRvIS09wOipi4F/fgRhdmVGSwxQ==" } } }, @@ -8818,7 +8973,7 @@ "node-fetch": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha1-mA9vcthSEaU0fGsrwYxbhMPrR+8=", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", "requires": { "encoding": "0.1.12", "is-stream": "1.1.0" @@ -8833,7 +8988,7 @@ "node-libs-browser": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", - "integrity": "sha1-X5QmPUBPbkR2fXJpAf/wVHjWAN8=", + "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", "requires": { "assert": "1.4.1", "browserify-zlib": "0.2.0", @@ -8870,7 +9025,7 @@ "node-notifier": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.2.1.tgz", - "integrity": "sha1-+jE90I9VF9sOJQLldY1mSsafneo=", + "integrity": "sha512-MIBs+AAd6dJ2SklbbE8RUDRlIVhU8MaNLh1A9SUZDUHPiZkWLFde6UNwG41yQHZEToHgJMXqyVZ9UcS/ReOVTg==", "dev": true, "requires": { "growly": "1.3.0", @@ -8950,7 +9105,7 @@ "normalize-package-data": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", "requires": { "hosted-git-info": "2.6.0", "is-builtin-module": "1.0.0", @@ -9100,7 +9255,7 @@ "object-inspect": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.5.0.tgz", - "integrity": "sha1-nYdsEeQPSFx5IVZwKBt2dIj5v+M=", + "integrity": "sha512-UmOFbHbwvv+XHj7BerrhVq+knjceBdkvU5AriwLMvhv2qi+e7DJzxfBeFpILEjVzCp+xA+W/pIf06RGPWlZNfw==", "dev": true }, "object-is": { @@ -9125,7 +9280,7 @@ "object.assign": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha1-lovxEA15Vrs8oIbwBvhGs7xACNo=", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", "requires": { "define-properties": "1.1.2", "function-bind": "1.1.1", @@ -9265,7 +9420,7 @@ "os-locale": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha1-QrwpAKa1uL0XN2yOiCtlr8zyS/I=", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { "execa": "0.7.0", "lcid": "1.0.0", @@ -9301,7 +9456,7 @@ "p-limit": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", - "integrity": "sha1-DpK2vty1nwIsE9DxlJ3ILRWQnxw=", + "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", "requires": { "p-try": "1.0.0" } @@ -9317,7 +9472,7 @@ "p-map": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha1-5OlPMR6rvIYzoeeZCBZfyiYkG2s=" + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==" }, "p-try": { "version": "1.0.0", @@ -9343,7 +9498,7 @@ "pako": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", - "integrity": "sha1-AQEhG6pwxLykoPY/Igbpe3368lg=" + "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==" }, "parallel-transform": { "version": "1.1.0", @@ -9482,7 +9637,7 @@ "pbkdf2": { "version": "3.0.14", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", - "integrity": "sha1-o14TxkeZsGzhUyD0WcIw5o5zut4=", + "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==", "requires": { "create-hash": "1.1.3", "create-hmac": "1.1.6", @@ -9500,7 +9655,7 @@ "pg": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/pg/-/pg-7.4.1.tgz", - "integrity": "sha1-80Ecjd+faSMi/gXnAXoYiOR/ePE=", + "integrity": "sha512-Pi5qYuXro5PAD9xXx8h7bFtmHgAQEG6/SCNyi7gS3rvb/ZQYDmxKchfB0zYtiSJNWq9iXTsYsHjrM+21eBcN1A==", "requires": { "buffer-writer": "1.0.1", "js-string-escape": "1.0.1", @@ -9599,13 +9754,13 @@ "pluralize": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", - "integrity": "sha1-KYuJ34uTsCIdv0Ia0rGx6iP8Z3c=", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", "dev": true }, "pn": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz", - "integrity": "sha1-4vTO8OIZ9GPBeas3Rj5OHs3Muvs=", + "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==", "dev": true }, "popper.js": { @@ -9621,7 +9776,7 @@ "postcss": { "version": "5.2.18", "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", - "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", "requires": { "chalk": "1.1.3", "js-base64": "2.4.3", @@ -9904,7 +10059,7 @@ "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { "color-convert": "1.9.1" } @@ -9912,7 +10067,7 @@ "chalk": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", - "integrity": "sha1-JQ3JawdJG/1gHmSNZt319gx6XGU=", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "requires": { "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", @@ -9937,12 +10092,12 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "supports-color": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha1-WySsFduA+pJ89SJ6SjP9PEx2dsA=", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "requires": { "has-flag": "3.0.0" } @@ -9961,7 +10116,7 @@ "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { "color-convert": "1.9.1" } @@ -9969,7 +10124,7 @@ "chalk": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", - "integrity": "sha1-JQ3JawdJG/1gHmSNZt319gx6XGU=", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "requires": { "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", @@ -9994,12 +10149,12 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "supports-color": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha1-WySsFduA+pJ89SJ6SjP9PEx2dsA=", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "requires": { "has-flag": "3.0.0" } @@ -10018,7 +10173,7 @@ "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { "color-convert": "1.9.1" } @@ -10026,7 +10181,7 @@ "chalk": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", - "integrity": "sha1-JQ3JawdJG/1gHmSNZt319gx6XGU=", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "requires": { "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", @@ -10051,12 +10206,12 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "supports-color": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha1-WySsFduA+pJ89SJ6SjP9PEx2dsA=", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "requires": { "has-flag": "3.0.0" } @@ -10075,7 +10230,7 @@ "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { "color-convert": "1.9.1" } @@ -10083,7 +10238,7 @@ "chalk": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz", - "integrity": "sha1-JQ3JawdJG/1gHmSNZt319gx6XGU=", + "integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==", "requires": { "ansi-styles": "3.2.1", "escape-string-regexp": "1.0.5", @@ -10108,12 +10263,12 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "supports-color": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz", - "integrity": "sha1-WySsFduA+pJ89SJ6SjP9PEx2dsA=", + "integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==", "requires": { "has-flag": "3.0.0" } @@ -10239,7 +10394,7 @@ "postgres-interval": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.1.1.tgz", - "integrity": "sha1-rNsPiXtLHG5JbZ1OCoU+HEKPBvA=", + "integrity": "sha512-OkuCi9t/3CZmeQreutGgx/OVNv9MKHGIT5jH8KldQ4NLYXkvmT9nDVxEuCENlNwhlGPE374oA/xMqn05G49pHA==", "requires": { "xtend": "4.0.1" } @@ -10264,7 +10419,7 @@ "prettier": { "version": "1.11.1", "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.11.1.tgz", - "integrity": "sha1-YeQ/xM1E5o8rDfwsOM1LsPzNzHU=", + "integrity": "sha512-T/KD65Ot0PB97xTrG8afQ46x3oiVhnfGjGESSI9NWYcG92+OUPZKkwHqGWXH2t9jK1crnQjubECW0FuOth+hxw==", "dev": true }, "pretty-format": { @@ -10297,7 +10452,7 @@ "pretty-quick": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-1.4.1.tgz", - "integrity": "sha1-nUH3eNLU2UDsYD0Sk6CZjoTEciw=", + "integrity": "sha512-Q4V2GAflSaM739kKH63utbfI2n4s2fCDCyjFC4ykxA9ueb7FknLcLAZSKa3DejHMt5q9Fq395eKTZ9wYwoILBw==", "dev": true, "requires": { "chalk": "2.3.1", @@ -10362,7 +10517,7 @@ "private": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8=" + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" }, "process": { "version": "0.5.2", @@ -10383,7 +10538,7 @@ "promise": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", "requires": { "asap": "2.0.6" } @@ -10406,7 +10561,7 @@ "prop-types-exact": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/prop-types-exact/-/prop-types-exact-1.1.1.tgz", - "integrity": "sha1-wmICB+T3f5di+hg1sDh6RkvQiXg=", + "integrity": "sha512-VrFC2QoIt7oj9bxVTAYDfDMBYV3u+VHQUOWJWk9OURT7uwPEenH879MQoAQ/reY2GZ55il6p/eCqHRs2nqm8wA==", "requires": { "has": "1.0.1", "object.assign": "4.1.0" @@ -10443,7 +10598,7 @@ "pstree.remy": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.0.tgz", - "integrity": "sha1-8q8nJlvT5bMrv8wQ6AusVbp4aIs=", + "integrity": "sha512-q5I5vLRMVtdWa8n/3UEzZX7Lfghzrg9eG2IKk2ENLSofKRCXVqMvMUHxCKgXNaqH/8ebhBxrqftHWnyTFweJ5Q==", "dev": true, "requires": { "ps-tree": "1.1.0" @@ -10473,7 +10628,7 @@ "pumpify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.4.0.tgz", - "integrity": "sha1-gLfF334kFT0D8OesigWl0Gi9B/s=", + "integrity": "sha512-2kmNR9ry+Pf45opRVirpNuIFotsxUGLaYqxIwuR77AYrYRMuFCz9eryHBS52L360O+NcR383CL4QYlMKPq4zYA==", "requires": { "duplexify": "3.5.4", "inherits": "2.0.3", @@ -10499,7 +10654,7 @@ "qs": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", - "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=" + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" }, "query-string": { "version": "4.3.4", @@ -10523,7 +10678,7 @@ "raf": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.0.tgz", - "integrity": "sha1-ooh2iBtLwsqRF9QTgWPduA94FXU=", + "integrity": "sha512-pDP/NMRAXoTfrhCfyfSEwJAKLaxBU9eApMeBPB1TkDouZmvPerIClV8lTAd+uF8ZiTaVl69e1FCxQrAd/VTjGw==", "dev": true, "requires": { "performance-now": "2.1.0" @@ -10538,7 +10693,7 @@ "randexp": { "version": "0.4.6", "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz", - "integrity": "sha1-6YatXl4x2uE93W97MBmqfIf2DKM=", + "integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==", "dev": true, "requires": { "discontinuous-range": "1.0.0", @@ -10553,7 +10708,7 @@ "randomatic": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha1-x6vpzIuHwLqodrGf3oP9RkeX44w=", + "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", "dev": true, "requires": { "is-number": "3.0.0", @@ -10574,7 +10729,7 @@ "randombytes": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", - "integrity": "sha1-0wLFIpSFiISKjTAMkytEwkIx2oA=", + "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", "requires": { "safe-buffer": "5.1.1" } @@ -10665,7 +10820,7 @@ "react-flip-move": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/react-flip-move/-/react-flip-move-3.0.1.tgz", - "integrity": "sha1-e7U1HG4dl3i690jMUpKqmCUMNAE=" + "integrity": "sha512-yIN0mRSJpKOrelM63FlxzU2aUGRoJBFPEschcIC4/GPuPczGLmGpx/+rXn8lr7I3r7dPQnVhaufU/cbQGbptIA==" }, "react-fontawesome": { "version": "1.6.1", @@ -10708,7 +10863,7 @@ "react-popper": { "version": "0.7.5", "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-0.7.5.tgz", - "integrity": "sha1-ccJZRvKR2zgSMSgfa5VynouAFZY=", + "integrity": "sha512-ya9dhhGCf74JTOB2uyksEHhIGw7w9tNZRUJF73lEq2h4H5JT6MBa4PdT4G+sx6fZwq+xKZAL/sVNAIuojPn7Dg==", "requires": { "popper.js": "1.12.9", "prop-types": "15.6.1" @@ -10717,7 +10872,7 @@ "react-reconciler": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.7.0.tgz", - "integrity": "sha1-lhSJQQPl8Tje7rXquvPugOsdAm0=", + "integrity": "sha512-50JwZ3yNyMS8fchN+jjWEJOH3Oze7UmhxeoJLn2j6f3NjpfCRbcmih83XTWmzqtar/ivd5f7tvQhvvhism2fgg==", "dev": true, "requires": { "fbjs": "0.8.16", @@ -10771,7 +10926,7 @@ "react-toggle": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/react-toggle/-/react-toggle-4.0.2.tgz", - "integrity": "sha1-d/SHhg77h/r9GXZyotuMiFvhRA8=", + "integrity": "sha512-EPTWnN7gQHgEAUEmjheanZXNzY5TPnQeyyHfEs3YshaiWZf5WNjfYDrglO5F1Hl/dNveX18i4l0grTEsYH2Ccw==", "requires": { "classnames": "2.2.5" } @@ -10883,7 +11038,7 @@ "realpath-native": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/realpath-native/-/realpath-native-1.0.0.tgz", - "integrity": "sha1-eIVyGoO0O9Uydgnw3eyySCMF/fA=", + "integrity": "sha512-XJtlRJ9jf0E1H1SLeJyQ9PGzQD7S65h1pRXEcAeK48doKOnKxcgPeNohJvD5u/2sI9J1oke6E8bZHS/fmW1UiQ==", "dev": true, "requires": { "util.promisify": "1.0.0" @@ -10942,7 +11097,7 @@ "redux": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz", - "integrity": "sha1-BrcxIyFZAdJdBlvjQusCa8HIU3s=", + "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==", "requires": { "lodash": "4.17.4", "lodash-es": "4.17.4", @@ -10958,17 +11113,17 @@ "regenerate": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", - "integrity": "sha1-DDNtOYBVPXVcObWGrjsgqknIK38=" + "integrity": "sha512-jVpo1GadrDAK59t/0jRx5VxYWQEDkkEKi6+HjE3joFVLfDOh9Xrdh0dF1eSq+BI/SwvTQ44gSscJ8N5zYL61sg==" }, "regenerator-runtime": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=" + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" }, "regenerator-transform": { "version": "0.10.1", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", - "integrity": "sha1-HkmWg3Ix2ot/PPQRTXG1aRoGgN0=", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", "requires": { "babel-runtime": "6.26.0", "babel-types": "6.26.0", @@ -10978,7 +11133,7 @@ "regex-cache": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha1-db3FiioUls7EihKDW8VMjVYjNt0=", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", "dev": true, "requires": { "is-equal-shallow": "0.1.3" @@ -11012,7 +11167,7 @@ "registry-auth-token": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", - "integrity": "sha1-hR/UkDjuy1hpERFa+EUmDuyYPyA=", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "requires": { "rc": "1.2.6", "safe-buffer": "5.1.1" @@ -11152,7 +11307,7 @@ "resolve": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", - "integrity": "sha1-HwmsznlsmnYlefMbLBzEw83fnzY=", + "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", "requires": { "path-parse": "1.0.5" } @@ -11198,7 +11353,7 @@ "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=" + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" }, "retry-as-promised": { "version": "2.3.2", @@ -11220,7 +11375,7 @@ "rimraf": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "requires": { "glob": "7.1.2" } @@ -11256,7 +11411,7 @@ "run-node": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/run-node/-/run-node-0.2.0.tgz", - "integrity": "sha1-sm6ULpQgXe2+Uyzd8P0dvVZkmvY=", + "integrity": "sha512-Zsnxrr+CMGfm7VFuCj96E8tOpFHTEuZS9EvlXcKapVr2RUvr+fxTMxNgK5fXi3TprSgWoxobtR/3TXZT4na/Ng==", "dev": true }, "run-queue": { @@ -11285,7 +11440,7 @@ "safe-buffer": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=" + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" }, "safe-regex": { "version": "1.1.0", @@ -11322,7 +11477,7 @@ "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=" + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "schema-utils": { "version": "0.3.0", @@ -11450,7 +11605,7 @@ "set-value": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha1-ca5KiPD+77v1LR6mBPP7MV67YnQ=", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", "requires": { "extend-shallow": "2.0.1", "is-extendable": "0.1.1", @@ -11490,7 +11645,7 @@ "shallowequal": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.0.2.tgz", - "integrity": "sha1-FWHb3vuMAUCBADGQhXZNo/z4P48=" + "integrity": "sha512-zlVXeVUKvo+HEv1e2KQF/csyeMKx2oHvatQ9l6XjCUj3agvC8XGf6R9HvIPDSmp8FNPvx7b5kaEJTRi7CqxtEw==" }, "shebang-command": { "version": "1.2.0", @@ -11505,16 +11660,28 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" }, + "shell-quote": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", + "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", + "dev": true, + "requires": { + "array-filter": "0.0.1", + "array-map": "0.0.0", + "array-reduce": "0.0.0", + "jsonify": "0.0.0" + } + }, "shellwords": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", - "integrity": "sha1-1rkYHBpI05cyTISHHvvPxz/AZUs=", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", "dev": true }, "shimmer": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shimmer/-/shimmer-1.2.0.tgz", - "integrity": "sha1-+Wb3VVeJdj502IQRk2haXnhzZmU=" + "integrity": "sha512-xTCx2vohXC2EWWDqY/zb4+5Mu28D+HYNSOuFzsyRDRvI/e1ICb69afwaUwfjr+25ZXldbOLyp+iDUZHq8UnTag==" }, "signal-exit": { "version": "3.0.2", @@ -11529,7 +11696,7 @@ "slice-ansi": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "integrity": "sha1-BE8aSdiEL/MHqta1Be0Xi9lQE00=", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true, "requires": { "is-fullwidth-code-point": "2.0.0" @@ -11622,7 +11789,7 @@ "snapdragon-node": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "requires": { "define-property": "1.0.0", "isobject": "3.0.1", @@ -11642,7 +11809,7 @@ "snapdragon-util": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "requires": { "kind-of": "3.2.2" }, @@ -11660,7 +11827,7 @@ "sntp": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", - "integrity": "sha1-LGzsFP7cIiJznK+bXD2F0cxaLMg=", + "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", "dev": true, "requires": { "hoek": "4.2.1" @@ -11761,7 +11928,7 @@ "source-list-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", - "integrity": "sha1-qqR0A/eyRakvvJfqCPJQ1gh+0IU=" + "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==" }, "source-map": { "version": "0.5.7", @@ -11771,7 +11938,7 @@ "source-map-resolve": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz", - "integrity": "sha1-etD1k/IoFZjoVN+A8ZquS5LXoRo=", + "integrity": "sha512-0KW2wvzfxm8NCTb30z0LMNyPqWCdDGE2viwzUaucqJdkTRXtZiSY3I+2A6nVAjmdOy0I4gU8DwnVVGsk9jvP2A==", "requires": { "atob": "2.1.0", "decode-uri-component": "0.2.0", @@ -11833,7 +12000,7 @@ "split": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", - "integrity": "sha1-YFvZvjA6pZ+zX5Ip++oN3snqB9k=", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", "requires": { "through": "2.3.8" } @@ -11841,7 +12008,7 @@ "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "requires": { "extend-shallow": "3.0.2" } @@ -12725,7 +12892,7 @@ "stackframe": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.0.4.tgz", - "integrity": "sha1-NXskqZL5Qny6a1RdlqFO0svKGHs=" + "integrity": "sha512-to7oADIniaYwS3MhtCa/sQhrxidCCQiF/qp4/m5iN3ipf0Y7Xlri0f6eG29r08aL7JYl8n32AF3Q5GYBZ7K8vw==" }, "static-extend": { "version": "0.1.2", @@ -12829,7 +12996,7 @@ "stream-each": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz", - "integrity": "sha1-joxGP5HaiZF3h2WHP+TZYNj2Fr0=", + "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==", "requires": { "end-of-stream": "1.4.1", "stream-shift": "1.0.0" @@ -12892,7 +13059,7 @@ "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { "is-fullwidth-code-point": "2.0.0", "strip-ansi": "4.0.0" @@ -12916,7 +13083,7 @@ "string_decoder": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha1-D8Z9fBQYJd6UKC3VNr7GubzoYKs=", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "requires": { "safe-buffer": "5.1.1" } @@ -12985,10 +13152,27 @@ "resolved": "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.8.tgz", "integrity": "sha1-sNChJslFsfMEdEejquBkcBPo0WY=" }, + "subarg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", + "dev": true, + "requires": { + "minimist": "1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, "superagent": { "version": "3.8.2", "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.2.tgz", - "integrity": "sha1-5KEbnQR/fT7+s7vlNtnsACHRZAM=", + "integrity": "sha512-gVH4QfYHcY3P0f/BZzavLreHW3T1v7hG9B+hpMQotGQqurOvhv87GcMCd6LWySmBuf+BDR44TQd0aISjVHLeNQ==", "dev": true, "requires": { "component-emitter": "1.2.1", @@ -13064,7 +13248,7 @@ "table": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", - "integrity": "sha1-ozRHN1OR52atNNNIbm4q7chNLjY=", + "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "dev": true, "requires": { "ajv": "5.5.2", @@ -13230,7 +13414,7 @@ "timers-browserify": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.6.tgz", - "integrity": "sha1-JB52kn2coF9NlZgZAi9bNmS2S64=", + "integrity": "sha512-HQ3nbYRAowdVd0ckGFvmJPPCOH/CHleFN/Y0YQCX1DVaB7t+KFvisuyN09fuP8Jtp1CpfSh8O8bMkHbdbPe6Pw==", "requires": { "setimmediate": "1.0.5" } @@ -13238,7 +13422,7 @@ "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, "requires": { "os-tmpdir": "1.0.2" @@ -13311,7 +13495,7 @@ "touch": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", - "integrity": "sha1-/jZfX3XsntTlaCXgu3bSSrdK+Ds=", + "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", "requires": { "nopt": "1.0.10" } @@ -13399,7 +13583,7 @@ "ua-parser-js": { "version": "0.7.17", "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.17.tgz", - "integrity": "sha1-6exflJi57JEOeuOsYmqAXE0J7Kw=" + "integrity": "sha512-uRdSdu1oA1rncCQL7sCj8vSyZkgtL7faaw9Tc9rZ3mGgraQ7+Pdx7w5mnOSF3gw9ZNG6oc+KXfkon3bKuROm0g==" }, "uglify-js": { "version": "2.8.29", @@ -13433,7 +13617,7 @@ "uglifyjs-webpack-plugin": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.1.6.tgz", - "integrity": "sha1-9LqESe3PF4NcGLpq6ZudYQhX+xk=", + "integrity": "sha512-VUja+7rYbznEvUaeb8IxOCTUrq4BCb1ml0vffa+mfwKtrAwlqnU0ENF14DtYltV1cxd/HSuK51CCA/D/8kMQVw==", "requires": { "cacache": "10.0.4", "find-cache-dir": "1.0.0", @@ -13473,7 +13657,7 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "uglify-es": { "version": "3.3.9", @@ -13489,7 +13673,7 @@ "uid-safe": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", - "integrity": "sha1-Kz1cckDo/C5Y+Komnl7knAhXvTo=", + "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", "requires": { "random-bytes": "1.0.0" } @@ -13497,12 +13681,12 @@ "ultron": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha1-n+FTahCmZKZSZqHjzPhf02MCvJw=" + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==" }, "umzug": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/umzug/-/umzug-2.1.0.tgz", - "integrity": "sha1-xJ3XHHwm0IKpydNZLcbcks+Gd2E=", + "integrity": "sha512-BgT+ekpItEWaG+3JjLLj6yVTxw2wIH8Cr6JyKYIzukWAx9nzGhC6BGHb/IRMjpobMM1qtIrReATwLUjKpU2iOQ==", "requires": { "babel-runtime": "6.26.0", "bluebird": "3.5.1", @@ -13779,7 +13963,7 @@ "util.promisify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", - "integrity": "sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA=", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", "dev": true, "requires": { "define-properties": "1.1.2", @@ -13904,13 +14088,13 @@ "webidl-conversions": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha1-qFWYCx8LazWbodXZ+zmulB+qY60=", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", "dev": true }, "webpack": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.10.0.tgz", - "integrity": "sha1-UpG4dQeM8qv0K90jr+P4+WwX1yU=", + "integrity": "sha512-fxxKXoicjdXNUMY7LIdY89tkJJJ0m1Oo8PQutZ5rLgWbV5QVKI15Cn7+/IHnRTd3vfKfiwBx6SBqlorAuNA8LA==", "requires": { "acorn": "5.5.3", "acorn-dynamic-import": "2.0.2", @@ -14093,7 +14277,7 @@ "webpack-sources": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", - "integrity": "sha1-oQHrrlnWUHNU1x2AE5UKOot6WlQ=", + "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", "requires": { "source-list-map": "2.0.0", "source-map": "0.6.1" @@ -14102,14 +14286,14 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" } } }, "whatwg-encoding": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.3.tgz", - "integrity": "sha1-V8I1vIZX6RTSTho5fTyC2u4Ka6M=", + "integrity": "sha512-jLBwwKUhi8WtBfsMQlL4bUUcT8sMkAtQinscJAe/M4KHCkHuUJAF6vuB0tueNIw4c8ziO6AkRmgY+jL3a0iiPw==", "dev": true, "requires": { "iconv-lite": "0.4.19" @@ -14123,7 +14307,7 @@ "whatwg-url": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-6.4.0.tgz", - "integrity": "sha1-CP3yuehyeDp6H2IWJgodZsxyLgg=", + "integrity": "sha512-Z0CVh/YE217Foyb488eo+iBv+r7eAQ0wSTyApi9n06jhcA3z6Nidg/EGvl0UFkg7kMdKxfBzzr+o9JF+cevgMg==", "dev": true, "requires": { "lodash.sortby": "4.7.0", @@ -14139,7 +14323,7 @@ "which": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=", + "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", "requires": { "isexe": "2.0.0" } @@ -14250,7 +14434,7 @@ "write-file-atomic": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", - "integrity": "sha1-H/YVdcLipOjlENb6TiQ8zhg5mas=", + "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", "requires": { "graceful-fs": "4.1.11", "imurmurhash": "0.1.4", @@ -14260,7 +14444,7 @@ "write-file-webpack-plugin": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/write-file-webpack-plugin/-/write-file-webpack-plugin-4.2.0.tgz", - "integrity": "sha1-e9GFR+qg6gsjmS+x4DIuVDHTOe8=", + "integrity": "sha512-sIjfV+M1Ia8p/lVcLjvM2I0Lq/40tCMZe+k0Pxg2TG6TKjUgHGwQeM42QdYLiHAIAITGQK1HEQA3YknFubzfDQ==", "requires": { "chalk": "1.1.3", "debug": "2.6.9", @@ -14288,7 +14472,7 @@ "xml-name-validator": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha1-auc+Bt5NjG5H+fsYH3jWSK1FfGo=", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", "dev": true }, "xmlhttprequest-ssl": { diff --git a/package.json b/package.json index 4e45429a..16ddd7ef 100644 --- a/package.json +++ b/package.json @@ -4,15 +4,15 @@ "description": "", "main": "node server.js", "scripts": { - "dev": "node server.js", - "dev-watch": "nodemon server.js", - "build": "next build", - "start": "NODE_ENV=production node server.js", + "dev": "node src/server.js", + "dev-watch": "nodemon src/server.js", + "build": "rimraf build && cpx \"src\\**\\*\" build && next build build", + "start": "NODE_ENV=production node build/server.js", "test": "jest", "test-sequential": "jest --runInBand", "lint-js": "eslint --ext js .", - "prettier": "prettier --write \"**/*.js\"", - "prettier-diff": "prettier --list-different \"**/*.js\"" + "prettier": "prettier --write \"src/**/*.js\"", + "prettier-diff": "prettier --list-different \"src/**/*.js\"" }, "keywords": [], "author": "", @@ -69,6 +69,7 @@ "babel-jest": "^22.4.3", "babel-preset-env": "^1.6.1", "babel-preset-react": "^6.24.1", + "cpx": "^1.5.0", "enzyme": "^3.3.0", "enzyme-adapter-react-16": "^1.1.1", "eslint": "^4.19.1", @@ -84,11 +85,13 @@ "prettier": "1.11.1", "pretty-quick": "^1.4.1", "react-test-renderer": "^16.3.0", + "rimraf": "^2.6.2", "sqlite3": "^3.1.13", "supertest": "^3.0.0" }, "jest": { - "setupTestFrameworkScriptFile": "./testSetup.js", + "setupTestFrameworkScriptFile": "./test/setup.js", + "testRegex": "src/.*test.js", "collectCoverage": true }, "husky": { diff --git a/process.yml b/process.yml index 34ee218d..5d325510 100644 --- a/process.yml +++ b/process.yml @@ -1,5 +1,5 @@ apps: - - script: server.js + - script: build/server.js env_staging: NODE_ENV: staging BASE_URL: /queue-dev2 diff --git a/routes.js b/routes.js deleted file mode 100644 index 9444797f..00000000 --- a/routes.js +++ /dev/null @@ -1,15 +0,0 @@ -const routes = require('next-routes')() -const { baseUrl } = require('./util') - -const withBaseUrl = url => `${baseUrl}/${url}` - -routes - .add('index', withBaseUrl('')) - .add('queue', withBaseUrl('queue/:id')) - .add('createCourse', withBaseUrl('course/create')) - .add('course', withBaseUrl('course/:id')) - .add('courseStaff', withBaseUrl('course/:id/staff')) - .add('createQueue', withBaseUrl('course/:courseId/queue/create')) - .add('userSettings', withBaseUrl('settings')) - -module.exports = routes diff --git a/tools/diff_databases.sh b/scripts/diff_databases.sh similarity index 81% rename from tools/diff_databases.sh rename to scripts/diff_databases.sh index 0a57f102..dd720dd5 100755 --- a/tools/diff_databases.sh +++ b/scripts/diff_databases.sh @@ -11,14 +11,14 @@ fi DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # Set up the verification databases in Node -node -e "require('$DIR/../migrations/util').createVerificationDatabases()" +node -e "require('$DIR/../src/migrations/util').createVerificationDatabases()" # Perform the actual diff mysqldbcompare --server1=queue@localhost --server2=queue@localhost --run-all-tests --changes-for=server2 queue_sequelize:queue_migrations EXIT_CODE=$? # Destroy the verification databases in Node -node -e "require('$DIR/../migrations/util').destroyVerificationDatabases()" +node -e "require('$DIR/../src/migrations/util').destroyVerificationDatabases()" # Let the user know if the databases diffed cleanly or not exit $EXIT_CODE diff --git a/actions/activeStaff.js b/src/actions/activeStaff.js similarity index 100% rename from actions/activeStaff.js rename to src/actions/activeStaff.js diff --git a/actions/axios.js b/src/actions/axios.js similarity index 100% rename from actions/axios.js rename to src/actions/axios.js diff --git a/actions/course.js b/src/actions/course.js similarity index 100% rename from actions/course.js rename to src/actions/course.js diff --git a/actions/question.js b/src/actions/question.js similarity index 100% rename from actions/question.js rename to src/actions/question.js diff --git a/actions/queue.js b/src/actions/queue.js similarity index 100% rename from actions/queue.js rename to src/actions/queue.js diff --git a/actions/user.js b/src/actions/user.js similarity index 100% rename from actions/user.js rename to src/actions/user.js diff --git a/actions/util.js b/src/actions/util.js similarity index 100% rename from actions/util.js rename to src/actions/util.js diff --git a/api/courses.js b/src/api/courses.js similarity index 100% rename from api/courses.js rename to src/api/courses.js diff --git a/api/courses.test.js b/src/api/courses.test.js similarity index 99% rename from api/courses.test.js rename to src/api/courses.test.js index c9f42ae6..e2adb5d3 100644 --- a/api/courses.test.js +++ b/src/api/courses.test.js @@ -1,7 +1,7 @@ /* eslint-env jest */ const request = require('supertest') const app = require('../app') -const testutil = require('../testutil') +const testutil = require('../../test/util') const { User } = require('../models') beforeEach(async () => { diff --git a/api/questions.js b/src/api/questions.js similarity index 100% rename from api/questions.js rename to src/api/questions.js diff --git a/api/questions.test.js b/src/api/questions.test.js similarity index 99% rename from api/questions.test.js rename to src/api/questions.test.js index d80c3116..257e37ba 100644 --- a/api/questions.test.js +++ b/src/api/questions.test.js @@ -1,8 +1,7 @@ /* eslint-env jest */ - const request = require('supertest') const app = require('../app') -const testutil = require('../testutil') +const testutil = require('../../test/util') const constants = require('../constants') const { Question } = require('../models') diff --git a/api/queues.js b/src/api/queues.js similarity index 100% rename from api/queues.js rename to src/api/queues.js diff --git a/api/queues.test.js b/src/api/queues.test.js similarity index 99% rename from api/queues.test.js rename to src/api/queues.test.js index bdb7f7a1..7e27dea6 100644 --- a/api/queues.test.js +++ b/src/api/queues.test.js @@ -1,7 +1,7 @@ /* eslint-env jest */ const request = require('supertest') const app = require('../app') -const testutil = require('../testutil') +const testutil = require('../../test/util') beforeEach(async () => { await testutil.setupTestDb() diff --git a/api/users.js b/src/api/users.js similarity index 100% rename from api/users.js rename to src/api/users.js diff --git a/api/users.test.js b/src/api/users.test.js similarity index 98% rename from api/users.test.js rename to src/api/users.test.js index 269a511f..caa066c8 100644 --- a/api/users.test.js +++ b/src/api/users.test.js @@ -1,7 +1,7 @@ /* eslint-env jest */ const request = require('supertest') const app = require('../app') -const testutil = require('../testutil') +const testutil = require('../../test/util') beforeAll(async () => { await testutil.setupTestDb() diff --git a/api/util.js b/src/api/util.js similarity index 100% rename from api/util.js rename to src/api/util.js diff --git a/api/util.test.js b/src/api/util.test.js similarity index 98% rename from api/util.test.js rename to src/api/util.test.js index 4b3a28e9..fe79b19f 100644 --- a/api/util.test.js +++ b/src/api/util.test.js @@ -1,5 +1,5 @@ /* eslint-env jest */ -const testutil = require('../testutil') +const testutil = require('../../test/util') const util = require('./util') beforeAll(async () => { diff --git a/app.js b/src/app.js similarity index 100% rename from app.js rename to src/app.js diff --git a/components/ActiveQuestionPanel.js b/src/components/ActiveQuestionPanel.js similarity index 100% rename from components/ActiveQuestionPanel.js rename to src/components/ActiveQuestionPanel.js diff --git a/components/AddStaff.js b/src/components/AddStaff.js similarity index 100% rename from components/AddStaff.js rename to src/components/AddStaff.js diff --git a/components/ConfirmCancelQuestionModal.js b/src/components/ConfirmCancelQuestionModal.js similarity index 100% rename from components/ConfirmCancelQuestionModal.js rename to src/components/ConfirmCancelQuestionModal.js diff --git a/components/ConfirmDeleteQuestionModal.js b/src/components/ConfirmDeleteQuestionModal.js similarity index 100% rename from components/ConfirmDeleteQuestionModal.js rename to src/components/ConfirmDeleteQuestionModal.js diff --git a/components/ConfirmDeleteQueueModal.js b/src/components/ConfirmDeleteQueueModal.js similarity index 100% rename from components/ConfirmDeleteQueueModal.js rename to src/components/ConfirmDeleteQueueModal.js diff --git a/components/ConfirmLeaveQueueModal.js b/src/components/ConfirmLeaveQueueModal.js similarity index 100% rename from components/ConfirmLeaveQueueModal.js rename to src/components/ConfirmLeaveQueueModal.js diff --git a/components/ConfirmModal.js b/src/components/ConfirmModal.js similarity index 100% rename from components/ConfirmModal.js rename to src/components/ConfirmModal.js diff --git a/components/CourseShortCodeInfo.js b/src/components/CourseShortCodeInfo.js similarity index 100% rename from components/CourseShortCodeInfo.js rename to src/components/CourseShortCodeInfo.js diff --git a/components/CourseStaffMember.js b/src/components/CourseStaffMember.js similarity index 100% rename from components/CourseStaffMember.js rename to src/components/CourseStaffMember.js diff --git a/components/DevWorkshopAd.js b/src/components/DevWorkshopAd.js similarity index 100% rename from components/DevWorkshopAd.js rename to src/components/DevWorkshopAd.js diff --git a/components/Footer.js b/src/components/Footer.js similarity index 100% rename from components/Footer.js rename to src/components/Footer.js diff --git a/components/Header.js b/src/components/Header.js similarity index 100% rename from components/Header.js rename to src/components/Header.js diff --git a/components/Layout.js b/src/components/Layout.js similarity index 100% rename from components/Layout.js rename to src/components/Layout.js diff --git a/components/Loading.js b/src/components/Loading.js similarity index 100% rename from components/Loading.js rename to src/components/Loading.js diff --git a/components/NewCourse.js b/src/components/NewCourse.js similarity index 100% rename from components/NewCourse.js rename to src/components/NewCourse.js diff --git a/components/NewQuestion.js b/src/components/NewQuestion.js similarity index 100% rename from components/NewQuestion.js rename to src/components/NewQuestion.js diff --git a/components/NewQuestion.test.js b/src/components/NewQuestion.test.js similarity index 100% rename from components/NewQuestion.test.js rename to src/components/NewQuestion.test.js diff --git a/components/NewQueue.js b/src/components/NewQueue.js similarity index 100% rename from components/NewQueue.js rename to src/components/NewQueue.js diff --git a/components/PageWithUser.js b/src/components/PageWithUser.js similarity index 100% rename from components/PageWithUser.js rename to src/components/PageWithUser.js diff --git a/components/ParrotText.js b/src/components/ParrotText.js similarity index 100% rename from components/ParrotText.js rename to src/components/ParrotText.js diff --git a/components/Question.js b/src/components/Question.js similarity index 100% rename from components/Question.js rename to src/components/Question.js diff --git a/components/Question.test.js b/src/components/Question.test.js similarity index 100% rename from components/Question.test.js rename to src/components/Question.test.js diff --git a/components/QuestionEdit.js b/src/components/QuestionEdit.js similarity index 100% rename from components/QuestionEdit.js rename to src/components/QuestionEdit.js diff --git a/components/QuestionFeedback.js b/src/components/QuestionFeedback.js similarity index 100% rename from components/QuestionFeedback.js rename to src/components/QuestionFeedback.js diff --git a/components/QuestionList.js b/src/components/QuestionList.js similarity index 100% rename from components/QuestionList.js rename to src/components/QuestionList.js diff --git a/components/QuestionNotificationsToggle.js b/src/components/QuestionNotificationsToggle.js similarity index 100% rename from components/QuestionNotificationsToggle.js rename to src/components/QuestionNotificationsToggle.js diff --git a/components/QuestionNotificationsToggleExplanationModal.js b/src/components/QuestionNotificationsToggleExplanationModal.js similarity index 100% rename from components/QuestionNotificationsToggleExplanationModal.js rename to src/components/QuestionNotificationsToggleExplanationModal.js diff --git a/components/QuestionPanel.js b/src/components/QuestionPanel.js similarity index 100% rename from components/QuestionPanel.js rename to src/components/QuestionPanel.js diff --git a/components/QuestionPanel.test.js b/src/components/QuestionPanel.test.js similarity index 100% rename from components/QuestionPanel.test.js rename to src/components/QuestionPanel.test.js diff --git a/components/QueueCard.js b/src/components/QueueCard.js similarity index 100% rename from components/QueueCard.js rename to src/components/QueueCard.js diff --git a/components/QueueCardList.js b/src/components/QueueCardList.js similarity index 100% rename from components/QueueCardList.js rename to src/components/QueueCardList.js diff --git a/components/QueueEdit.js b/src/components/QueueEdit.js similarity index 100% rename from components/QueueEdit.js rename to src/components/QueueEdit.js diff --git a/components/ShowForAdmin.js b/src/components/ShowForAdmin.js similarity index 100% rename from components/ShowForAdmin.js rename to src/components/ShowForAdmin.js diff --git a/components/ShowForCourseStaff.js b/src/components/ShowForCourseStaff.js similarity index 100% rename from components/ShowForCourseStaff.js rename to src/components/ShowForCourseStaff.js diff --git a/components/StaffMember.js b/src/components/StaffMember.js similarity index 100% rename from components/StaffMember.js rename to src/components/StaffMember.js diff --git a/components/StaffSidebar.js b/src/components/StaffSidebar.js similarity index 100% rename from components/StaffSidebar.js rename to src/components/StaffSidebar.js diff --git a/components/UserProfileSettings.js b/src/components/UserProfileSettings.js similarity index 100% rename from components/UserProfileSettings.js rename to src/components/UserProfileSettings.js diff --git a/config/config.json b/src/config/config.json similarity index 100% rename from config/config.json rename to src/config/config.json diff --git a/constants/ActionTypes.js b/src/constants/ActionTypes.js similarity index 100% rename from constants/ActionTypes.js rename to src/constants/ActionTypes.js diff --git a/constants/index.js b/src/constants/index.js similarity index 100% rename from constants/index.js rename to src/constants/index.js diff --git a/containers/NewQuestionContainer.js b/src/containers/NewQuestionContainer.js similarity index 100% rename from containers/NewQuestionContainer.js rename to src/containers/NewQuestionContainer.js diff --git a/containers/QuestionListContainer.js b/src/containers/QuestionListContainer.js similarity index 100% rename from containers/QuestionListContainer.js rename to src/containers/QuestionListContainer.js diff --git a/containers/QuestionPanelContainer.js b/src/containers/QuestionPanelContainer.js similarity index 100% rename from containers/QuestionPanelContainer.js rename to src/containers/QuestionPanelContainer.js diff --git a/containers/QueueCardListContainer.js b/src/containers/QueueCardListContainer.js similarity index 100% rename from containers/QueueCardListContainer.js rename to src/containers/QueueCardListContainer.js diff --git a/containers/UserProfileSettingsContainer.js b/src/containers/UserProfileSettingsContainer.js similarity index 100% rename from containers/UserProfileSettingsContainer.js rename to src/containers/UserProfileSettingsContainer.js diff --git a/middleware/authn.js b/src/middleware/authn.js similarity index 100% rename from middleware/authn.js rename to src/middleware/authn.js diff --git a/middleware/authn.test.js b/src/middleware/authn.test.js similarity index 98% rename from middleware/authn.test.js rename to src/middleware/authn.test.js index 35be37f5..eb457c7c 100644 --- a/middleware/authn.test.js +++ b/src/middleware/authn.test.js @@ -1,6 +1,6 @@ /* eslint-env jest */ const authn = require('./authn') -const testutil = require('../testutil') +const testutil = require('../../test/util') const { User } = require('../models') beforeEach(async () => { diff --git a/middleware/authnDev.js b/src/middleware/authnDev.js similarity index 100% rename from middleware/authnDev.js rename to src/middleware/authnDev.js diff --git a/middleware/authnDev.test.js b/src/middleware/authnDev.test.js similarity index 97% rename from middleware/authnDev.test.js rename to src/middleware/authnDev.test.js index 8af09535..91699d06 100644 --- a/middleware/authnDev.test.js +++ b/src/middleware/authnDev.test.js @@ -1,6 +1,6 @@ /* eslint-env jest */ const authnDev = require('./authnDev') -const testutil = require('../testutil') +const testutil = require('../../test/util') beforeEach(() => testutil.setupTestDb()) afterEach(() => testutil.destroyTestDb()) diff --git a/middleware/authz.js b/src/middleware/authz.js similarity index 100% rename from middleware/authz.js rename to src/middleware/authz.js diff --git a/middleware/courseShortcodes.js b/src/middleware/courseShortcodes.js similarity index 100% rename from middleware/courseShortcodes.js rename to src/middleware/courseShortcodes.js diff --git a/middleware/handleError.js b/src/middleware/handleError.js similarity index 100% rename from middleware/handleError.js rename to src/middleware/handleError.js diff --git a/middleware/prettyPrintJson.js b/src/middleware/prettyPrintJson.js similarity index 100% rename from middleware/prettyPrintJson.js rename to src/middleware/prettyPrintJson.js diff --git a/middleware/redirectNoQueue.js b/src/middleware/redirectNoQueue.js similarity index 100% rename from middleware/redirectNoQueue.js rename to src/middleware/redirectNoQueue.js diff --git a/middleware/redirectNoQueue.test.js b/src/middleware/redirectNoQueue.test.js similarity index 97% rename from middleware/redirectNoQueue.test.js rename to src/middleware/redirectNoQueue.test.js index 232d55ff..32fc9dda 100644 --- a/middleware/redirectNoQueue.test.js +++ b/src/middleware/redirectNoQueue.test.js @@ -1,6 +1,6 @@ /* eslint-env jest */ const redirectNoQueue = require('./redirectNoQueue') -const testutil = require('../testutil') +const testutil = require('../../test/util') const { Queue } = require('../models') beforeEach(async () => { diff --git a/middleware/requireAdmin.js b/src/middleware/requireAdmin.js similarity index 100% rename from middleware/requireAdmin.js rename to src/middleware/requireAdmin.js diff --git a/middleware/requireAdmin.test.js b/src/middleware/requireAdmin.test.js similarity index 100% rename from middleware/requireAdmin.test.js rename to src/middleware/requireAdmin.test.js diff --git a/middleware/requireCourseStaff.js b/src/middleware/requireCourseStaff.js similarity index 100% rename from middleware/requireCourseStaff.js rename to src/middleware/requireCourseStaff.js diff --git a/middleware/requireCourseStaff.test.js b/src/middleware/requireCourseStaff.test.js similarity index 100% rename from middleware/requireCourseStaff.test.js rename to src/middleware/requireCourseStaff.test.js diff --git a/middleware/requireCourseStaffForQueue.js b/src/middleware/requireCourseStaffForQueue.js similarity index 100% rename from middleware/requireCourseStaffForQueue.js rename to src/middleware/requireCourseStaffForQueue.js diff --git a/middleware/requireCourseStaffForQueue.test.js b/src/middleware/requireCourseStaffForQueue.test.js similarity index 98% rename from middleware/requireCourseStaffForQueue.test.js rename to src/middleware/requireCourseStaffForQueue.test.js index b038343c..62cc8e7c 100644 --- a/middleware/requireCourseStaffForQueue.test.js +++ b/src/middleware/requireCourseStaffForQueue.test.js @@ -1,6 +1,6 @@ /* eslint-env jest */ const requireCourseStaffForQueue = require('./requireCourseStaffForQueue') -const testutil = require('../testutil') +const testutil = require('../../test/util') beforeAll(async () => { await testutil.setupTestDb() diff --git a/middleware/requireCourseStaffForQueueForQuestion.js b/src/middleware/requireCourseStaffForQueueForQuestion.js similarity index 100% rename from middleware/requireCourseStaffForQueueForQuestion.js rename to src/middleware/requireCourseStaffForQueueForQuestion.js diff --git a/middleware/requireCourseStaffForQueueForQuestion.test.js b/src/middleware/requireCourseStaffForQueueForQuestion.test.js similarity index 98% rename from middleware/requireCourseStaffForQueueForQuestion.test.js rename to src/middleware/requireCourseStaffForQueueForQuestion.test.js index 8ea0e11f..b45002fb 100644 --- a/middleware/requireCourseStaffForQueueForQuestion.test.js +++ b/src/middleware/requireCourseStaffForQueueForQuestion.test.js @@ -1,6 +1,6 @@ /* eslint-env jest */ const requireCourseStaffForQueueForQuestion = require('./requireCourseStaffForQueueForQuestion') -const testutil = require('../testutil') +const testutil = require('../../test/util') beforeAll(async () => { await testutil.setupTestDb() diff --git a/middleware/safeAsync.js b/src/middleware/safeAsync.js similarity index 100% rename from middleware/safeAsync.js rename to src/middleware/safeAsync.js diff --git a/migrations/20180312224451-create-users.js b/src/migrations/20180312224451-create-users.js similarity index 100% rename from migrations/20180312224451-create-users.js rename to src/migrations/20180312224451-create-users.js diff --git a/migrations/20180312225328-create-courses.js b/src/migrations/20180312225328-create-courses.js similarity index 100% rename from migrations/20180312225328-create-courses.js rename to src/migrations/20180312225328-create-courses.js diff --git a/migrations/20180312225352-create-queues.js b/src/migrations/20180312225352-create-queues.js similarity index 100% rename from migrations/20180312225352-create-queues.js rename to src/migrations/20180312225352-create-queues.js diff --git a/migrations/20180312225357-create-active-staff.js b/src/migrations/20180312225357-create-active-staff.js similarity index 100% rename from migrations/20180312225357-create-active-staff.js rename to src/migrations/20180312225357-create-active-staff.js diff --git a/migrations/20180312225409-create-course-staff.js b/src/migrations/20180312225409-create-course-staff.js similarity index 100% rename from migrations/20180312225409-create-course-staff.js rename to src/migrations/20180312225409-create-course-staff.js diff --git a/migrations/20180312225413-create-questions.js b/src/migrations/20180312225413-create-questions.js similarity index 100% rename from migrations/20180312225413-create-questions.js rename to src/migrations/20180312225413-create-questions.js diff --git a/migrations/20180316181732-fixed-location-queues.js b/src/migrations/20180316181732-fixed-location-queues.js similarity index 100% rename from migrations/20180316181732-fixed-location-queues.js rename to src/migrations/20180316181732-fixed-location-queues.js diff --git a/migrations/util/index.js b/src/migrations/util/index.js similarity index 97% rename from migrations/util/index.js rename to src/migrations/util/index.js index f998c39c..c2f5f908 100644 --- a/migrations/util/index.js +++ b/src/migrations/util/index.js @@ -1,6 +1,7 @@ const Umzug = require('umzug') const Sequelize = require('sequelize') const mysql = require('mysql2/promise') +const path = require('path') const logger = require('../../util/logger') const models = require('../../models') @@ -17,6 +18,7 @@ module.exports.performMigrations = async sequelize => { sequelize, }, migrations: { + path: path.resolve(__dirname, '..'), params: [sequelize.getQueryInterface(), Sequelize], }, }) diff --git a/models/ActiveStaff.js b/src/models/ActiveStaff.js similarity index 100% rename from models/ActiveStaff.js rename to src/models/ActiveStaff.js diff --git a/models/Course.js b/src/models/Course.js similarity index 100% rename from models/Course.js rename to src/models/Course.js diff --git a/models/CourseStaff.js b/src/models/CourseStaff.js similarity index 100% rename from models/CourseStaff.js rename to src/models/CourseStaff.js diff --git a/models/Question.js b/src/models/Question.js similarity index 100% rename from models/Question.js rename to src/models/Question.js diff --git a/models/Queue.js b/src/models/Queue.js similarity index 100% rename from models/Queue.js rename to src/models/Queue.js diff --git a/models/User.js b/src/models/User.js similarity index 100% rename from models/User.js rename to src/models/User.js diff --git a/models/index.js b/src/models/index.js similarity index 100% rename from models/index.js rename to src/models/index.js diff --git a/pages/_document.js b/src/pages/_document.js similarity index 100% rename from pages/_document.js rename to src/pages/_document.js diff --git a/pages/_error.js b/src/pages/_error.js similarity index 100% rename from pages/_error.js rename to src/pages/_error.js diff --git a/pages/course.js b/src/pages/course.js similarity index 100% rename from pages/course.js rename to src/pages/course.js diff --git a/pages/courseStaff.js b/src/pages/courseStaff.js similarity index 100% rename from pages/courseStaff.js rename to src/pages/courseStaff.js diff --git a/pages/index.js b/src/pages/index.js similarity index 100% rename from pages/index.js rename to src/pages/index.js diff --git a/pages/queue.js b/src/pages/queue.js similarity index 100% rename from pages/queue.js rename to src/pages/queue.js diff --git a/pages/userSettings.js b/src/pages/userSettings.js similarity index 100% rename from pages/userSettings.js rename to src/pages/userSettings.js diff --git a/reducers/activeStaff.js b/src/reducers/activeStaff.js similarity index 100% rename from reducers/activeStaff.js rename to src/reducers/activeStaff.js diff --git a/reducers/courses.js b/src/reducers/courses.js similarity index 100% rename from reducers/courses.js rename to src/reducers/courses.js diff --git a/reducers/index.js b/src/reducers/index.js similarity index 100% rename from reducers/index.js rename to src/reducers/index.js diff --git a/reducers/normalize.js b/src/reducers/normalize.js similarity index 100% rename from reducers/normalize.js rename to src/reducers/normalize.js diff --git a/reducers/questions.js b/src/reducers/questions.js similarity index 100% rename from reducers/questions.js rename to src/reducers/questions.js diff --git a/reducers/queues.js b/src/reducers/queues.js similarity index 100% rename from reducers/queues.js rename to src/reducers/queues.js diff --git a/reducers/user.js b/src/reducers/user.js similarity index 100% rename from reducers/user.js rename to src/reducers/user.js diff --git a/reducers/users.js b/src/reducers/users.js similarity index 100% rename from reducers/users.js rename to src/reducers/users.js diff --git a/redux/makeStore.js b/src/redux/makeStore.js similarity index 100% rename from redux/makeStore.js rename to src/redux/makeStore.js diff --git a/redux/questionNotificationMiddleware.js b/src/redux/questionNotificationMiddleware.js similarity index 100% rename from redux/questionNotificationMiddleware.js rename to src/redux/questionNotificationMiddleware.js diff --git a/src/routes.js b/src/routes.js new file mode 100644 index 00000000..5b05239c --- /dev/null +++ b/src/routes.js @@ -0,0 +1,13 @@ +const routes = require('next-routes')() +const { withBaseUrl } = require('./util') + +routes + .add('index', withBaseUrl('/')) + .add('queue', withBaseUrl('/queue/:id')) + .add('createCourse', withBaseUrl('/course/create')) + .add('course', withBaseUrl('/course/:id')) + .add('courseStaff', withBaseUrl('/course/:id/staff')) + .add('createQueue', withBaseUrl('/course/:courseId/queue/create')) + .add('userSettings', withBaseUrl('/settings')) + +module.exports = routes diff --git a/selectors/index.js b/src/selectors/index.js similarity index 100% rename from selectors/index.js rename to src/selectors/index.js diff --git a/server.js b/src/server.js similarity index 94% rename from server.js rename to src/server.js index 935aafe2..5b756cad 100644 --- a/server.js +++ b/src/server.js @@ -17,7 +17,7 @@ const { baseUrl } = require('./util') const DEV = ['production', 'staging'].indexOf(process.env.NODE_ENV) === -1 const PORT = process.env.PORT || 3000 -const nextApp = nextJs({ dev: DEV }) +const nextApp = nextJs({ dev: DEV, dir: DEV ? 'src' : 'build' }) const handler = routes.getRequestHandler(nextApp) /* eslint-disable func-names */ diff --git a/socket/client.js b/src/socket/client.js similarity index 100% rename from socket/client.js rename to src/socket/client.js diff --git a/socket/server.js b/src/socket/server.js similarity index 100% rename from socket/server.js rename to src/socket/server.js diff --git a/static/fastparrot.gif b/src/static/fastparrot.gif similarity index 100% rename from static/fastparrot.gif rename to src/static/fastparrot.gif diff --git a/static/favicon.ico b/src/static/favicon.ico similarity index 100% rename from static/favicon.ico rename to src/static/favicon.ico diff --git a/static/manifest.json b/src/static/manifest.json similarity index 50% rename from static/manifest.json rename to src/static/manifest.json index fcf68f6d..8d53a4cd 100644 --- a/static/manifest.json +++ b/src/static/manifest.json @@ -3,9 +3,11 @@ "short_name": "Queues", "display": "standalone", "background_color": "#fff", - "icons": [{ - "src": "notif_icon.png", - "sizes": "128x128", - "type": "image/png" - }] + "icons": [ + { + "src": "notif_icon.png", + "sizes": "128x128", + "type": "image/png" + } + ] } diff --git a/static/notif_icon.png b/src/static/notif_icon.png similarity index 100% rename from static/notif_icon.png rename to src/static/notif_icon.png diff --git a/util/index.js b/src/util/index.js similarity index 100% rename from util/index.js rename to src/util/index.js diff --git a/util/logger.js b/src/util/logger.js similarity index 100% rename from util/logger.js rename to src/util/logger.js diff --git a/testSetup.js b/test/setup.js similarity index 85% rename from testSetup.js rename to test/setup.js index eaad39eb..de7bad9f 100644 --- a/testSetup.js +++ b/test/setup.js @@ -3,7 +3,7 @@ import Enzyme from 'enzyme' import Adapter from 'enzyme-adapter-react-16' -import { sequelize } from './models' +import { sequelize } from '../src/models' Enzyme.configure({ adapter: new Adapter() }) diff --git a/testutil/index.js b/test/util.js similarity index 97% rename from testutil/index.js rename to test/util.js index 510cdb70..b4a06caf 100644 --- a/testutil/index.js +++ b/test/util.js @@ -1,4 +1,4 @@ -const models = require('../models') +const models = require('../src/models') module.exports.setupTestDb = async () => { await models.sequelize.sync()