From 4dc0b3241f745707ae3178bd5e7b3770d9d76702 Mon Sep 17 00:00:00 2001 From: Sergey Tarasov Date: Sun, 14 Aug 2016 22:14:05 +0300 Subject: [PATCH] added isomorphic-fetch --- Gemfile | 2 +- Gemfile.lock | 6 +- .../SimpleCommentScreen.jsx | 23 +- client/app/libs/metaTagsManager.js | 15 -- client/app/libs/requestsManager.js | 29 +-- client/app/libs/ror.js | 27 +++ client/npm-shrinkwrap.json | 207 +++++++++--------- client/package.json | 2 +- client/webpack.client.base.config.js | 2 +- config/initializers/react_on_rails.rb | 2 +- 10 files changed, 162 insertions(+), 153 deletions(-) delete mode 100644 client/app/libs/metaTagsManager.js create mode 100644 client/app/libs/ror.js diff --git a/Gemfile b/Gemfile index dd68f5074..e14a66cbd 100644 --- a/Gemfile +++ b/Gemfile @@ -41,7 +41,7 @@ gem "sdoc", group: :doc # Use Rails Html Sanitizer for HTML sanitization gem "rails-html-sanitizer" -gem "react_on_rails", "~> 6" +gem "react_on_rails", "~> 6.1" # See https://github.com/sstephenson/execjs#readme for more supported runtimes # mini_racer is probably faster than therubyracer diff --git a/Gemfile.lock b/Gemfile.lock index 928056aad..560c4ca03 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -205,7 +205,7 @@ GEM ffi (>= 0.5.0) rdoc (4.2.2) json (~> 1.4) - react_on_rails (6.0.5) + react_on_rails (6.1.0) addressable connection_pool execjs (~> 2.5) @@ -336,7 +336,7 @@ DEPENDENCIES rails-html-sanitizer rails_12factor rainbow - react_on_rails (~> 6) + react_on_rails (~> 6.1) rspec-rails (= 3.5.0.beta3) rspec-retry rubocop @@ -355,4 +355,4 @@ RUBY VERSION ruby 2.3.1p112 BUNDLED WITH - 1.12.3 + 1.12.5 diff --git a/client/app/bundles/comments/components/SimpleCommentScreen/SimpleCommentScreen.jsx b/client/app/bundles/comments/components/SimpleCommentScreen/SimpleCommentScreen.jsx index 92858a6b0..11537c4ca 100644 --- a/client/app/bundles/comments/components/SimpleCommentScreen/SimpleCommentScreen.jsx +++ b/client/app/bundles/comments/components/SimpleCommentScreen/SimpleCommentScreen.jsx @@ -1,10 +1,10 @@ import React from 'react'; import Immutable from 'immutable'; -import request from 'axios'; import _ from 'lodash'; +import fetch from 'isomorphic-fetch'; import BaseComponent from 'libs/components/BaseComponent'; -import metaTagsManager from 'libs/metaTagsManager'; +import ror from 'libs/ror'; import CommentForm from '../CommentBox/CommentForm/CommentForm'; import CommentList from '../CommentBox/CommentList/CommentList'; @@ -29,8 +29,10 @@ export default class SimpleCommentScreen extends BaseComponent { fetchComments() { return ( - request - .get('comments.json', { responseType: 'json' }) + fetch('comments.json') + .then(res => ror.checkStatus(res)) + .then(res => res.json()) + .then(res => ({ data: res })) .then(res => this.setState({ $$comments: Immutable.fromJS(res.data.comments) })) .catch(error => this.setState({ fetchCommentsError: error })) ); @@ -39,16 +41,11 @@ export default class SimpleCommentScreen extends BaseComponent { handleCommentSubmit(comment) { this.setState({ isSaving: true }); - const requestConfig = { - responseType: 'json', - headers: { - 'X-CSRF-Token': metaTagsManager.getCSRFToken(), - }, - }; - return ( - request - .post('comments.json', { comment }, requestConfig) + fetch('comments.json', ror.makeJsonPostHeader(comment)) + .then(res => ror.checkStatus(res)) + .then(res => res.json()) + .then(res => ({ data: res })) .then(() => { const { $$comments } = this.state; const $$comment = Immutable.fromJS(comment); diff --git a/client/app/libs/metaTagsManager.js b/client/app/libs/metaTagsManager.js deleted file mode 100644 index c15be0d6a..000000000 --- a/client/app/libs/metaTagsManager.js +++ /dev/null @@ -1,15 +0,0 @@ -import _ from 'lodash'; - -export default { - - /** - * Get CSRF Token from the DOM. - * - * @returns {String} - CSRF Token. - */ - getCSRFToken() { - const token = _.find(document.querySelectorAll('meta'), ['name', 'csrf-token']); - return token ? token.content : null; - }, - -}; diff --git a/client/app/libs/requestsManager.js b/client/app/libs/requestsManager.js index 2b8651035..67ff84495 100644 --- a/client/app/libs/requestsManager.js +++ b/client/app/libs/requestsManager.js @@ -1,5 +1,5 @@ -import request from 'axios'; -import metaTagsManager from './metaTagsManager'; +import fetch from 'isomorphic-fetch'; +import ror from './ror'; const API_URL = 'comments.json'; @@ -11,11 +11,11 @@ export default { * @returns {Promise} - Result of ajax call. */ fetchEntities() { - return request({ - method: 'GET', - url: API_URL, - responseType: 'json', - }); + return (fetch(API_URL) + .then(res => ror.checkStatus(res)) + .then(res => res.json()) + .then(res => ({ data: res })) + ); }, /** @@ -25,15 +25,10 @@ export default { * @returns {Promise} - Result of ajax call. */ submitEntity(entity) { - return request({ - method: 'POST', - url: API_URL, - responseType: 'json', - headers: { - 'X-CSRF-Token': metaTagsManager.getCSRFToken(), - }, - data: entity, - }); + return (fetch(API_URL, ror.makeJsonPostHeader(entity)) + .then(res => ror.checkStatus(res)) + .then(res => res.json()) + .then(res => ({ data: res })) + ); }, - }; diff --git a/client/app/libs/ror.js b/client/app/libs/ror.js new file mode 100644 index 000000000..b4f9f8e32 --- /dev/null +++ b/client/app/libs/ror.js @@ -0,0 +1,27 @@ +import ReactOnRails from 'react-on-rails'; + +export default { + + checkStatus(res) { + debugger; + if (!(res.ok || res.status === 304)) { + const e = Error(res.statusText); + e.response = res; + throw e; + } + return res; + }, + + makeJsonPostHeader(entity) { + return { + method: 'POST', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + 'X-CSRF-Token': ReactOnRails.authenticityToken(), + }, + body: JSON.stringify(entity), + credentials: 'same-origin', + }; + }, +}; diff --git a/client/npm-shrinkwrap.json b/client/npm-shrinkwrap.json index e4ac5f77e..1525b116f 100644 --- a/client/npm-shrinkwrap.json +++ b/client/npm-shrinkwrap.json @@ -91,7 +91,7 @@ }, "argparse": { "version": "1.0.7", - "from": "argparse@>=1.0.7 <2.0.0", + "from": "argparse@>=1.0.2 <2.0.0", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.7.tgz" }, "arr-diff": { @@ -111,7 +111,7 @@ }, "array-find-index": { "version": "1.0.1", - "from": "array-find-index@>=1.0.1 <2.0.0", + "from": "array-find-index@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.1.tgz" }, "array-flatten": { @@ -181,7 +181,7 @@ }, "async": { "version": "1.5.2", - "from": "async@>=1.5.2 <2.0.0", + "from": "async@>=1.4.0 <2.0.0", "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz" }, "async-each": { @@ -256,7 +256,7 @@ }, "babel-helper-builder-binary-assignment-operator-visitor": { "version": "6.8.0", - "from": "babel-helper-builder-binary-assignment-operator-visitor@>=6.8.0 <7.0.0", + "from": "babel-helper-builder-binary-assignment-operator-visitor@>=6.3.13 <7.0.0", "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.8.0.tgz" }, "babel-helper-builder-react-jsx": { @@ -266,7 +266,7 @@ }, "babel-helper-call-delegate": { "version": "6.8.0", - "from": "babel-helper-call-delegate@>=6.8.0 <7.0.0", + "from": "babel-helper-call-delegate@>=6.6.5 <7.0.0", "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.8.0.tgz" }, "babel-helper-define-map": { @@ -281,12 +281,12 @@ }, "babel-helper-explode-class": { "version": "6.8.0", - "from": "babel-helper-explode-class@>=6.8.0 <7.0.0", + "from": "babel-helper-explode-class@>=6.6.5 <7.0.0", "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.8.0.tgz" }, "babel-helper-function-name": { "version": "6.8.0", - "from": "babel-helper-function-name@>=6.8.0 <7.0.0", + "from": "babel-helper-function-name@>=6.6.0 <7.0.0", "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.8.0.tgz" }, "babel-helper-get-function-arity": { @@ -301,7 +301,7 @@ }, "babel-helper-optimise-call-expression": { "version": "6.8.0", - "from": "babel-helper-optimise-call-expression@>=6.8.0 <7.0.0", + "from": "babel-helper-optimise-call-expression@>=6.6.0 <7.0.0", "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.8.0.tgz" }, "babel-helper-regex": { @@ -316,7 +316,7 @@ }, "babel-helper-replace-supers": { "version": "6.8.0", - "from": "babel-helper-replace-supers@>=6.8.0 <7.0.0", + "from": "babel-helper-replace-supers@>=6.6.5 <7.0.0", "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.8.0.tgz" }, "babel-helpers": { @@ -361,7 +361,7 @@ }, "lodash": { "version": "3.10.1", - "from": "lodash@>=3.10.0 <4.0.0", + "from": "lodash@^3.10.0", "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz" }, "lodash.assign": { @@ -433,7 +433,7 @@ "dependencies": { "lodash": { "version": "3.10.1", - "from": "lodash@>=3.9.3 <4.0.0", + "from": "lodash@^3.9.3", "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz" } } @@ -600,7 +600,7 @@ }, "babel-plugin-transform-es2015-modules-amd": { "version": "6.8.0", - "from": "babel-plugin-transform-es2015-modules-amd@>=6.8.0 <7.0.0", + "from": "babel-plugin-transform-es2015-modules-amd@>=6.6.5 <7.0.0", "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.8.0.tgz" }, "babel-plugin-transform-es2015-modules-commonjs": { @@ -1003,7 +1003,7 @@ }, "classnames": { "version": "2.2.5", - "from": "classnames@>=2.2.5 <3.0.0", + "from": "classnames@>=2.2.3 <3.0.0", "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.5.tgz" }, "clean-css": { @@ -1139,7 +1139,7 @@ }, "concat-stream": { "version": "1.5.1", - "from": "concat-stream@>=1.4.6 <2.0.0", + "from": "concat-stream@>=1.4.7 <2.0.0", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.1.tgz", "dependencies": { "readable-stream": { @@ -1149,11 +1149,6 @@ } } }, - "connect-history-api-fallback": { - "version": "1.1.0", - "from": "connect-history-api-fallback@1.1.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.1.0.tgz" - }, "console-browserify": { "version": "1.1.0", "from": "console-browserify@>=1.1.0 <2.0.0", @@ -1505,7 +1500,7 @@ }, "ecc-jsbn": { "version": "0.1.1", - "from": "ecc-jsbn@>=0.1.1 <0.2.0", + "from": "ecc-jsbn@>=0.0.1 <1.0.0", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz" }, "ee-first": { @@ -1696,7 +1691,7 @@ }, "eventsource": { "version": "0.1.6", - "from": "eventsource@>=0.1.6 <0.2.0", + "from": "eventsource@>=0.1.3 <0.2.0", "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz" }, "exit": { @@ -1777,9 +1772,9 @@ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz" }, "fbjs": { - "version": "0.8.3", + "version": "0.8.4", "from": "fbjs@>=0.8.1 <0.9.0", - "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.3.tgz", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.4.tgz", "dependencies": { "core-js": { "version": "1.2.7", @@ -1902,12 +1897,12 @@ }, "ansi-regex": { "version": "2.0.0", - "from": "ansi-regex@>=2.0.0 <3.0.0", + "from": "ansi-regex@^2.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz" }, "ansi-styles": { "version": "2.2.1", - "from": "ansi-styles@>=2.2.1 <3.0.0", + "from": "ansi-styles@^2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" }, "aproba": { @@ -1917,7 +1912,7 @@ }, "are-we-there-yet": { "version": "1.1.2", - "from": "are-we-there-yet@>=1.1.2 <1.2.0", + "from": "are-we-there-yet@~1.1.2", "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz" }, "asn1": { @@ -1927,17 +1922,17 @@ }, "assert-plus": { "version": "0.2.0", - "from": "assert-plus@>=0.2.0 <0.3.0", + "from": "assert-plus@^0.2.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz" }, "async": { "version": "1.5.2", - "from": "async@>=1.5.2 <2.0.0", + "from": "async@^1.5.2", "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz" }, "aws-sign2": { "version": "0.6.0", - "from": "aws-sign2@>=0.6.0 <0.7.0", + "from": "aws-sign2@~0.6.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz" }, "aws4": { @@ -1969,7 +1964,7 @@ }, "boom": { "version": "2.10.1", - "from": "boom@>=2.0.0 <3.0.0", + "from": "boom@2.x.x", "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz" }, "brace-expansion": { @@ -1984,12 +1979,12 @@ }, "caseless": { "version": "0.11.0", - "from": "caseless@>=0.11.0 <0.12.0", + "from": "caseless@~0.11.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz" }, "chalk": { "version": "1.1.3", - "from": "chalk@>=1.1.1 <2.0.0", + "from": "chalk@^1.1.1", "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" }, "code-point-at": { @@ -1999,12 +1994,12 @@ }, "combined-stream": { "version": "1.0.5", - "from": "combined-stream@>=1.0.5 <1.1.0", + "from": "combined-stream@~1.0.5", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz" }, "commander": { "version": "2.9.0", - "from": "commander@>=2.9.0 <3.0.0", + "from": "commander@^2.9.0", "resolved": "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz" }, "concat-map": { @@ -2019,12 +2014,12 @@ }, "core-util-is": { "version": "1.0.2", - "from": "core-util-is@>=1.0.0 <1.1.0", + "from": "core-util-is@~1.0.0", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz" }, "cryptiles": { "version": "2.0.5", - "from": "cryptiles@>=2.0.0 <3.0.0", + "from": "cryptiles@2.x.x", "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz" }, "dashdash": { @@ -2034,44 +2029,44 @@ "dependencies": { "assert-plus": { "version": "1.0.0", - "from": "assert-plus@>=1.0.0 <2.0.0", + "from": "assert-plus@^1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz" } } }, "debug": { "version": "2.2.0", - "from": "debug@>=2.2.0 <2.3.0", + "from": "debug@~2.2.0", "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz" }, "deep-extend": { "version": "0.4.1", - "from": "deep-extend@>=0.4.0 <0.5.0", + "from": "deep-extend@~0.4.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz" }, "delayed-stream": { "version": "1.0.0", - "from": "delayed-stream@>=1.0.0 <1.1.0", + "from": "delayed-stream@~1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" }, "delegates": { "version": "1.0.0", - "from": "delegates@>=1.0.0 <2.0.0", + "from": "delegates@^1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" }, "ecc-jsbn": { "version": "0.1.1", - "from": "ecc-jsbn@>=0.1.1 <0.2.0", + "from": "ecc-jsbn@>=0.0.1 <1.0.0", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz" }, "escape-string-regexp": { "version": "1.0.5", - "from": "escape-string-regexp@>=1.0.2 <2.0.0", + "from": "escape-string-regexp@^1.0.2", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" }, "extend": { "version": "3.0.0", - "from": "extend@>=3.0.0 <3.1.0", + "from": "extend@~3.0.0", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz" }, "extsprintf": { @@ -2081,12 +2076,12 @@ }, "forever-agent": { "version": "0.6.1", - "from": "forever-agent@>=0.6.1 <0.7.0", + "from": "forever-agent@~0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz" }, "form-data": { "version": "1.0.0-rc4", - "from": "form-data@>=1.0.0-rc4 <1.1.0", + "from": "form-data@~1.0.0-rc3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz" }, "fs.realpath": { @@ -2111,12 +2106,12 @@ }, "generate-function": { "version": "2.0.0", - "from": "generate-function@>=2.0.0 <3.0.0", + "from": "generate-function@^2.0.0", "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz" }, "generate-object-property": { "version": "1.2.0", - "from": "generate-object-property@>=1.1.0 <2.0.0", + "from": "generate-object-property@^1.1.0", "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz" }, "getpass": { @@ -2143,17 +2138,17 @@ }, "graceful-readlink": { "version": "1.0.1", - "from": "graceful-readlink@>=1.0.0", + "from": "graceful-readlink@>= 1.0.0", "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz" }, "har-validator": { "version": "2.0.6", - "from": "har-validator@>=2.0.6 <2.1.0", + "from": "har-validator@~2.0.6", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz" }, "has-ansi": { "version": "2.0.0", - "from": "has-ansi@>=2.0.0 <3.0.0", + "from": "has-ansi@^2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" }, "has-color": { @@ -2168,17 +2163,17 @@ }, "hawk": { "version": "3.1.3", - "from": "hawk@>=3.1.3 <3.2.0", + "from": "hawk@~3.1.0", "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz" }, "hoek": { "version": "2.16.3", - "from": "hoek@>=2.0.0 <3.0.0", + "from": "hoek@2.x.x", "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz" }, "http-signature": { "version": "1.1.1", - "from": "http-signature@>=1.1.0 <1.2.0", + "from": "http-signature@~1.1.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz" }, "inflight": { @@ -2188,12 +2183,12 @@ }, "inherits": { "version": "2.0.1", - "from": "inherits@>=2.0.1 <2.1.0", + "from": "inherits@*", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" }, "ini": { "version": "1.3.4", - "from": "ini@>=1.3.0 <1.4.0", + "from": "ini@~1.3.0", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz" }, "is-fullwidth-code-point": { @@ -2203,27 +2198,27 @@ }, "is-my-json-valid": { "version": "2.13.1", - "from": "is-my-json-valid@>=2.12.4 <3.0.0", + "from": "is-my-json-valid@^2.12.4", "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz" }, "is-property": { "version": "1.0.2", - "from": "is-property@>=1.0.0 <2.0.0", + "from": "is-property@^1.0.0", "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz" }, "is-typedarray": { "version": "1.0.0", - "from": "is-typedarray@>=1.0.0 <1.1.0", + "from": "is-typedarray@~1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz" }, "isarray": { "version": "1.0.0", - "from": "isarray@>=1.0.0 <1.1.0", + "from": "isarray@~1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" }, "isstream": { "version": "0.1.2", - "from": "isstream@>=0.1.2 <0.2.0", + "from": "isstream@~0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz" }, "jodid25519": { @@ -2243,7 +2238,7 @@ }, "json-stringify-safe": { "version": "5.0.1", - "from": "json-stringify-safe@>=5.0.1 <5.1.0", + "from": "json-stringify-safe@~5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" }, "jsonpointer": { @@ -2278,7 +2273,7 @@ }, "mkdirp": { "version": "0.5.1", - "from": "mkdirp@>=0.5.0 <0.6.0", + "from": "mkdirp@>=0.3.0 <0.4.0||>=0.4.0 <0.5.0||>=0.5.0 <0.6.0", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" }, "ms": { @@ -2293,7 +2288,7 @@ }, "node-uuid": { "version": "1.4.7", - "from": "node-uuid@>=1.4.7 <1.5.0", + "from": "node-uuid@~1.4.7", "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz" }, "nopt": { @@ -2323,7 +2318,7 @@ }, "once": { "version": "1.3.3", - "from": "once@>=1.3.0 <2.0.0", + "from": "once@~1.3.3", "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz" }, "path-is-absolute": { @@ -2333,7 +2328,7 @@ }, "pinkie": { "version": "2.0.4", - "from": "pinkie@>=2.0.0 <3.0.0", + "from": "pinkie@^2.0.0", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz" }, "pinkie-promise": { @@ -2353,12 +2348,12 @@ }, "rc": { "version": "1.1.6", - "from": "rc@>=1.1.0 <1.2.0", + "from": "rc@~1.1.0", "resolved": "https://registry.npmjs.org/rc/-/rc-1.1.6.tgz", "dependencies": { "minimist": { "version": "1.2.0", - "from": "minimist@>=1.2.0 <2.0.0", + "from": "minimist@^1.2.0", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz" } } @@ -2395,7 +2390,7 @@ }, "sntp": { "version": "1.0.9", - "from": "sntp@>=1.0.0 <2.0.0", + "from": "sntp@1.x.x", "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz" }, "sshpk": { @@ -2412,7 +2407,7 @@ }, "string_decoder": { "version": "0.10.31", - "from": "string_decoder@>=0.10.0 <0.11.0", + "from": "string_decoder@~0.10.x", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz" }, "string-width": { @@ -2422,27 +2417,27 @@ }, "stringstream": { "version": "0.0.5", - "from": "stringstream@>=0.0.4 <0.1.0", + "from": "stringstream@~0.0.4", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz" }, "strip-ansi": { "version": "3.0.1", - "from": "strip-ansi@>=3.0.1 <4.0.0", + "from": "strip-ansi@^3.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" }, "strip-json-comments": { "version": "1.0.4", - "from": "strip-json-comments@>=1.0.4 <1.1.0", + "from": "strip-json-comments@~1.0.4", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz" }, "supports-color": { "version": "2.0.0", - "from": "supports-color@>=2.0.0 <3.0.0", + "from": "supports-color@^2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" }, "tar": { "version": "2.2.1", - "from": "tar@>=2.2.0 <2.3.0", + "from": "tar@~2.2.0", "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz" }, "tar-pack": { @@ -2452,7 +2447,7 @@ }, "tough-cookie": { "version": "2.2.2", - "from": "tough-cookie@>=2.2.0 <2.3.0", + "from": "tough-cookie@~2.2.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz" }, "tunnel-agent": { @@ -2467,12 +2462,12 @@ }, "uid-number": { "version": "0.0.6", - "from": "uid-number@>=0.0.6 <0.1.0", + "from": "uid-number@~0.0.6", "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz" }, "util-deprecate": { "version": "1.0.2", - "from": "util-deprecate@>=1.0.1 <1.1.0", + "from": "util-deprecate@~1.0.1", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" }, "verror": { @@ -2492,7 +2487,7 @@ }, "xtend": { "version": "4.0.1", - "from": "xtend@>=4.0.0 <5.0.0", + "from": "xtend@^4.0.0", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz" } } @@ -2583,7 +2578,7 @@ "dependencies": { "glob": { "version": "7.0.5", - "from": "glob@>=7.0.3 <8.0.0", + "from": "glob@7.0.5", "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz" } } @@ -2595,7 +2590,7 @@ "dependencies": { "glob": { "version": "7.0.5", - "from": "glob@>=7.0.3 <7.1.0", + "from": "glob@7.0.5", "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz" }, "lodash": { @@ -2632,7 +2627,7 @@ }, "has-color": { "version": "0.1.7", - "from": "has-color@>=0.1.7 <0.2.0", + "from": "has-color@>=0.1.0 <0.2.0", "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz" }, "has-flag": { @@ -2657,7 +2652,7 @@ }, "history": { "version": "2.1.2", - "from": "history@>=2.1.2 <3.0.0", + "from": "history@>=2.0.1 <3.0.0", "resolved": "https://registry.npmjs.org/history/-/history-2.1.2.tgz", "dependencies": { "query-string": { @@ -2724,6 +2719,11 @@ "from": "http-proxy@>=1.11.2 <2.0.0", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.14.0.tgz" }, + "http-proxy-middleware": { + "version": "0.17.1", + "from": "http-proxy-middleware@>=0.17.1 <0.18.0", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.1.tgz" + }, "http-signature": { "version": "1.1.1", "from": "http-signature@>=1.1.0 <1.2.0", @@ -3015,7 +3015,7 @@ }, "isomorphic-fetch": { "version": "2.2.1", - "from": "isomorphic-fetch@>=2.1.1 <3.0.0", + "from": "isomorphic-fetch@latest", "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz" }, "isstream": { @@ -3107,7 +3107,7 @@ }, "json3": { "version": "3.3.2", - "from": "json3@3.3.2", + "from": "json3@>=3.3.2 <4.0.0", "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz" }, "json5": { @@ -3204,7 +3204,7 @@ }, "lodash-compat": { "version": "3.10.2", - "from": "lodash-compat@>=3.10.2 <4.0.0", + "from": "lodash-compat@>=3.10.1 <4.0.0", "resolved": "https://registry.npmjs.org/lodash-compat/-/lodash-compat-3.10.2.tgz" }, "lodash-es": { @@ -3646,6 +3646,11 @@ "from": "onetime@>=1.0.0 <2.0.0", "resolved": "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz" }, + "open": { + "version": "0.0.5", + "from": "open@0.0.5", + "resolved": "https://registry.npmjs.org/open/-/open-0.0.5.tgz" + }, "optimist": { "version": "0.6.1", "from": "optimist@>=0.6.0 <0.7.0", @@ -4108,7 +4113,7 @@ }, "pug-parser": { "version": "2.0.1", - "from": "pug-parser@>=2.0.1 <3.0.0", + "from": "pug-parser@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-2.0.1.tgz" }, "pug-runtime": { @@ -4177,9 +4182,9 @@ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz" }, "react": { - "version": "15.3.0", - "from": "react@>=15.2.1 <16.0.0", - "resolved": "https://registry.npmjs.org/react/-/react-15.3.0.tgz" + "version": "15.3.1", + "from": "react@15.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-15.3.1.tgz" }, "react-addons-pure-render-mixin": { "version": "15.3.0", @@ -4193,7 +4198,7 @@ "dependencies": { "babel-runtime": { "version": "5.8.38", - "from": "babel-runtime@>=5.8.38 <6.0.0", + "from": "babel-runtime@>=5.8.25 <6.0.0", "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-5.8.38.tgz" }, "core-js": { @@ -4214,9 +4219,9 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-15.3.0.tgz" }, "react-on-rails": { - "version": "6.0.5", - "from": "react-on-rails@>=6.0.4 <7.0.0", - "resolved": "https://registry.npmjs.org/react-on-rails/-/react-on-rails-6.0.5.tgz" + "version": "6.1.0", + "from": "react-on-rails@>=6.1.0 <6.2.0", + "resolved": "https://registry.npmjs.org/react-on-rails/-/react-on-rails-6.1.0.tgz" }, "react-overlays": { "version": "0.6.6", @@ -4247,7 +4252,7 @@ }, "react-redux": { "version": "4.4.5", - "from": "react-redux@>=4.4.5 <5.0.0", + "from": "react-redux@>=4.4.4 <5.0.0", "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-4.4.5.tgz" }, "react-router": { @@ -4340,12 +4345,12 @@ }, "redux": { "version": "3.5.2", - "from": "redux@>=3.5.2 <4.0.0", + "from": "redux@>=3.4.0 <4.0.0", "resolved": "https://registry.npmjs.org/redux/-/redux-3.5.2.tgz" }, "redux-thunk": { "version": "2.1.0", - "from": "redux-thunk@>=2.1.0 <3.0.0", + "from": "redux-thunk@latest", "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.1.0.tgz" }, "regenerate": { @@ -4407,7 +4412,7 @@ }, "repeating": { "version": "1.1.3", - "from": "repeating@>=1.1.0 <2.0.0", + "from": "repeating@>=1.1.3 <2.0.0", "resolved": "https://registry.npmjs.org/repeating/-/repeating-1.1.3.tgz" }, "request": { @@ -4787,7 +4792,7 @@ }, "readable-stream": { "version": "1.1.14", - "from": "readable-stream@>=1.0.27-1 <2.0.0", + "from": "readable-stream@1.1.14", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz" } } @@ -5180,7 +5185,7 @@ }, "void-elements": { "version": "2.0.1", - "from": "void-elements@>=2.0.1 <3.0.0", + "from": "void-elements@>=2.0.1 <2.1.0", "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz" }, "vow": { @@ -5389,7 +5394,7 @@ }, "y18n": { "version": "3.2.1", - "from": "y18n@>=3.2.1 <4.0.0", + "from": "y18n@>=3.2.0 <4.0.0", "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz" }, "yallist": { diff --git a/client/package.json b/client/package.json index 7bba51d7f..d251ae142 100644 --- a/client/package.json +++ b/client/package.json @@ -75,7 +75,7 @@ "react-addons-pure-render-mixin": "^15.2.1", "react-bootstrap": "^0.29.5", "react-dom": "^15.2.1", - "react-on-rails": "^6.0.4", + "react-on-rails": "^6.1.0", "react-redux": "^4.4.5", "react-router": "^2.5.2", "react-router-redux": "^4.0.5", diff --git a/client/webpack.client.base.config.js b/client/webpack.client.base.config.js index 275b7a1c6..d14a8639f 100644 --- a/client/webpack.client.base.config.js +++ b/client/webpack.client.base.config.js @@ -24,7 +24,7 @@ module.exports = { // Below libraries are listed as entry points to be sure they get included in the // vendor-bundle.js. Note, if we added some library here, but don't use it in the // app-bundle.js, then we just wasted a bunch of space. - 'axios', + 'isomorphic-fetch', 'classnames', 'immutable', 'lodash', diff --git a/config/initializers/react_on_rails.rb b/config/initializers/react_on_rails.rb index 4d3adeec8..6b53e4ce9 100644 --- a/config/initializers/react_on_rails.rb +++ b/config/initializers/react_on_rails.rb @@ -31,7 +31,7 @@ # Default is false. Can be overriden at the component level. # Set to false for debugging issues before turning on to true. - config.prerender = true + config.prerender = false # default is true for development, off otherwise config.trace = Rails.env.development?