Skip to content

Commit

Permalink
Merge ec42251 into b68f5a3
Browse files Browse the repository at this point in the history
  • Loading branch information
themouette committed Feb 13, 2016
2 parents b68f5a3 + ec42251 commit 367d1d6
Show file tree
Hide file tree
Showing 9 changed files with 207 additions and 184 deletions.
9 changes: 4 additions & 5 deletions dummy/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@
"h2o2": "4.0.1",
"hapi": "9.3.1",
"highlight.js": "^8.8.0",
"history": "1.13.0",
"immutable": "^3.7.5",
"imports-loader": "^0.6.4",
"inert": "3.0.1",
Expand All @@ -61,14 +60,14 @@
"react-dom": "^0.14.3",
"react-inline-css": "2.0.0",
"react-loader": "^2.0.0",
"react-redux": "^3.1.0",
"react-router": "1.0.0",
"react-redux": "^4.4.0",
"react-router": "^2.0.0",
"react-router-bootstrap": "^0.19.0",
"react-router-redux": "^3.0.0",
"react-select": "^0.9.1",
"react-transmit": "3.0.8",
"redux": "^3.0.2",
"redux": "^3.3.1",
"redux-immutablejs": "0.0.6",
"redux-router": "^1.0.0-beta3",
"redux-thunk": "^1.0.0",
"serialize-javascript": "^1.1.2",
"thunk": "0.0.1",
Expand Down
42 changes: 25 additions & 17 deletions dummy/src/app.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
import React from "react";
import {Provider} from "react-redux";
import {ReduxRouter} from "redux-router";
import {Route, IndexRoute} from "react-router";
import {configure, authStateReducer} from "../../src";
import {createStore, compose, applyMiddleware} from "redux";
import {createHistory, createMemoryHistory} from "history";
import {routerStateReducer, reduxReactRouter as clientRouter} from "redux-router";
import { reduxReactRouter as serverRouter } from "redux-router/server";
import {Router, createMemoryHistory, browserHistory} from "react-router";
import {routeReducer, syncHistory} from "react-router-redux";
import {combineReducers} from "redux";
import demoButtons from "./reducers/request-test-buttons";
import demoUi from "./reducers/demo-ui";
Expand All @@ -31,7 +29,7 @@ class App extends React.Component {
export function initialize({cookies, isServer, currentLocation, userAgent} = {}) {
var reducer = combineReducers({
auth: authStateReducer,
router: routerStateReducer,
routing: routeReducer,
demoButtons,
demoUi
});
Expand Down Expand Up @@ -61,21 +59,29 @@ export function initialize({cookies, isServer, currentLocation, userAgent} = {})
);

// these methods will differ from server to client
var reduxReactRouter = clientRouter;
var createHistoryMethod = createHistory;
var history = browserHistory;
if (isServer) {
reduxReactRouter = serverRouter;
createHistoryMethod = createMemoryHistory;
history = createMemoryHistory(currentLocation);
}

var reduxRouterMiddleware = syncHistory(history)

// create the redux store
store = compose(
applyMiddleware(thunk),
reduxReactRouter({
createHistory: createHistoryMethod,
routes
})
)(createStore)(reducer);
store = createStore(
reducer,
compose(
applyMiddleware(
thunk,
reduxRouterMiddleware
),
typeof(window) !== "undefined" && window.devToolsExtension
? window.devToolsExtension()
: f => f
)
);

// Required for replaying actions from devtools to work
reduxRouterMiddleware.listenForReplays(store);


/**
Expand Down Expand Up @@ -118,10 +124,12 @@ export function initialize({cookies, isServer, currentLocation, userAgent} = {})
return ({
blank,
store,
history,
routes,
redirectPath,
provider: (
<Provider store={store} key="provider">
<ReduxRouter children={routes} />
<Router routes={routes} history={history} />
</Provider>
)
});
Expand Down
10 changes: 4 additions & 6 deletions dummy/src/server.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
import React from "react";
import {Server} from "hapi";
import h2o2 from "h2o2";
import inert from "inert";
import {renderToString} from "react-dom/server";
import {match} from "redux-router/server";
import url from "url";
import {match} from "react-router";
import qs from "query-string";
import {initialize} from "./app";
import config from "config";
Expand Down Expand Up @@ -90,8 +88,8 @@ server.ext("onPreResponse", (request, reply) => {
currentLocation: location,
userAgent: request.headers["user-agent"]
})
.then(({store, provider, blank}) => {
store.dispatch(match(location, (error, redirectLocation, renderProps) => {
.then(({provider, blank, routes, history, location}) => {
match({routes, history}, (error, redirectLocation, renderProps) => {
if (redirectLocation) {
reply.redirect(redirectLocation.pathname + redirectLocation.search);
} else if (error || !renderProps) {
Expand All @@ -102,6 +100,6 @@ server.ext("onPreResponse", (request, reply) => {

reply(output);
}
}));
});
}).catch(e => console.log("@-->server error", e, e.stack));
});
243 changes: 121 additions & 122 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,122 +1,121 @@
{
"name": "redux-auth",
"description": "Complete token authentication system for react + redux.",
"version": "0.0.2",
"license": "WTFPL",
"repository": {
"type": "git",
"url": "https://github.com/lynndylanhurley/redux-auth.git"
},
"homepage": "https://github.com/lynndylanhurley/redux-auth",
"keywords": [
"react",
"isomorphic",
"universal",
"starter",
"boilerplate",
"template",
"webpack",
"koa",
"transmit"
],
"main": "index.js",
"scripts": {
"release": "node ./node_modules/webpack/bin/webpack.js --verbose --colors --display-error-details --config webpack.release.js",
"test": "node_modules/.bin/_mocha --timeout 5000 --compilers .:test/compiler.js test/runner.js",
"test-coverage": "node_modules/.bin/babel-node node_modules/.bin/isparta cover --root ./src node_modules/.bin/_mocha -- --timeout 5000 test/runner.js && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js"
},
"files": [
"src",
"bootstrap-theme.js",
"material-ui-theme.js",
"index.js",
"LICENSE.md",
"README.md"
],
"dependencies": {
"classnames": "^2.1.5",
"js-cookie": "^2.0.4",
"cookie": "^0.2.3",
"extend": "^3.0.0",
"history": "1.13.x",
"immutable": "^3.7.5",
"isomorphic-fetch": "^2.1.1",
"node-fetch": "^1.3.3",
"query-string": "^2.4.2",
"react": "^0.14.3",
"react-bootstrap": "^0.27.1",
"react-dom": "^0.14.3",
"react-redux": "^3.1.0",
"redux": "^3.0.2",
"redux-immutablejs": "^0.0.6",
"react-router": "^1.0.0",
"redux-router": "^1.0.0-beta5",
"redux-thunk": "^1.0.0",
"thunk": "^0.0.1",
"rc-dialog": "^5.3.1",
"react-loader": "^2.0.0"
},
"devDependencies": {
"babel-cli": "6.3.13",
"babel-core": "6.3.13",
"babel-loader": "6.1.0",
"babel-polyfill": "6.3.13",
"babel-preset-es2015": "6.3.13",
"babel-preset-react": "6.3.13",
"babel-preset-stage-0": "6.3.13",
"babel-register": "6.3.13",
"bootstrap": "^3.3.5",
"bootstrap-sass": "^3.3.5",
"bootstrap-webpack": "0.0.5",
"chai": "^3.3.0",
"chai-as-promised": "^5.1.0",
"concurrently": "0.1.1",
"coveralls": "^2.11.4",
"css-loader": "^0.19.0",
"exports-loader": "^0.6.2",
"extract-text-webpack-plugin": "0.9.1",
"fetch-mock": "^2.1.0",
"file-loader": "0.8.5",
"h2o2": "4.0.1",
"hapi": "9.3.1",
"highlight.js": "^8.8.0",
"imports-loader": "^0.6.4",
"inert": "3.0.1",
"install": "^0.3.0",
"invariant": "^2.2.0",
"isparta": "^4.0.0",
"istanbul": "^0.3.22",
"istanbul-instrumenter-loader": "^0.1.3",
"jquery": "^2.1.4",
"jquery-deparam": "^0.4.2",
"jsdom": "^7.0.1",
"jsdomify": "^1.0.2",
"json-loader": "0.5.4",
"material-ui": "0.14.0-rc1",
"mocha": "^2.3.4",
"mockery": "^1.4.0",
"nock": "^3.3.2",
"node-sass": "^3.3.3",
"nodemon": "^1.7.2",
"piping": "0.2.0",
"react-addons-test-utils": "^0.14.3",
"react-hot-loader": "1.3.0",
"react-router-bootstrap": "^0.19.0",
"react-select": "^0.9.1",
"react-tap-event-plugin": "^0.2.1",
"react-transmit": "3.0.6",
"require-subvert": "^0.1.0",
"rewire": "^2.5.1",
"sass-loader": "^3.0.0",
"serialize-javascript": "^1.1.2",
"sinon": "1.17.0",
"style-loader": "^0.12.4",
"url-loader": "^0.5.6",
"warning": "^2.1.0",
"webpack": "1.12.9",
"webpack-dev-server": "1.14.0"
},
"engines": {
"node": ">=0.10.32"
}
}
{
"name": "redux-auth",
"description": "Complete token authentication system for react + redux.",
"version": "0.0.2",
"license": "WTFPL",
"repository": {
"type": "git",
"url": "https://github.com/lynndylanhurley/redux-auth.git"
},
"homepage": "https://github.com/lynndylanhurley/redux-auth",
"keywords": [
"react",
"isomorphic",
"universal",
"starter",
"boilerplate",
"template",
"webpack",
"koa",
"transmit"
],
"main": "index.js",
"scripts": {
"release": "node ./node_modules/webpack/bin/webpack.js --verbose --colors --display-error-details --config webpack.release.js",
"test": "node_modules/.bin/_mocha --timeout 5000 --compilers .:test/compiler.js test/runner.js",
"test-coverage": "node_modules/.bin/babel-node node_modules/.bin/isparta cover --root ./src node_modules/.bin/_mocha -- --timeout 5000 test/runner.js && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js"
},
"files": [
"src",
"bootstrap-theme.js",
"material-ui-theme.js",
"index.js",
"LICENSE.md",
"README.md"
],
"dependencies": {
"classnames": "^2.1.5",
"js-cookie": "^2.0.4",
"cookie": "^0.2.3",
"extend": "^3.0.0",
"immutable": "^3.7.5",
"isomorphic-fetch": "^2.1.1",
"node-fetch": "^1.3.3",
"query-string": "^2.4.2",
"rc-dialog": "^5.3.1",
"react-loader": "^2.0.0"
},
"devDependencies": {
"babel-cli": "6.3.13",
"babel-core": "6.3.13",
"babel-loader": "6.1.0",
"babel-polyfill": "6.3.13",
"babel-preset-es2015": "6.3.13",
"babel-preset-react": "6.3.13",
"babel-preset-stage-0": "6.3.13",
"babel-register": "6.3.13",
"bootstrap": "^3.3.5",
"bootstrap-sass": "^3.3.5",
"bootstrap-webpack": "0.0.5",
"chai": "^3.3.0",
"chai-as-promised": "^5.1.0",
"concurrently": "0.1.1",
"coveralls": "^2.11.4",
"css-loader": "^0.19.0",
"exports-loader": "^0.6.2",
"extract-text-webpack-plugin": "0.9.1",
"fetch-mock": "^2.1.0",
"file-loader": "0.8.5",
"h2o2": "4.0.1",
"hapi": "9.3.1",
"highlight.js": "^8.8.0",
"imports-loader": "^0.6.4",
"inert": "3.0.1",
"install": "^0.3.0",
"invariant": "^2.2.0",
"isparta": "^4.0.0",
"istanbul": "^0.3.22",
"istanbul-instrumenter-loader": "^0.1.3",
"jquery": "^2.1.4",
"jquery-deparam": "^0.4.2",
"jsdom": "^7.0.1",
"jsdomify": "^1.0.2",
"json-loader": "0.5.4",
"material-ui": "0.14.0-rc1",
"mocha": "^2.3.4",
"mockery": "^1.4.0",
"nock": "^3.3.2",
"node-sass": "^3.3.3",
"nodemon": "^1.7.2",
"piping": "0.2.0",
"react": "^0.14.3",
"react-addons-test-utils": "^0.14.3",
"react-bootstrap": "^0.27.1",
"react-dom": "^0.14.3",
"react-hot-loader": "1.3.0",
"react-redux": "^3.1.2",
"react-router": "^2.0.0",
"react-router-bootstrap": "^0.19.0",
"react-router-redux": "^3.0.0",
"react-select": "^0.9.1",
"react-tap-event-plugin": "^0.2.1",
"react-transmit": "3.0.6",
"redux": "^3.3.1",
"redux-immutablejs": "0.0.8",
"redux-thunk": "^1.0.0",
"require-subvert": "^0.1.0",
"rewire": "^2.5.1",
"sass-loader": "^3.0.0",
"serialize-javascript": "^1.1.2",
"sinon": "1.17.0",
"style-loader": "^0.12.4",
"thunk": "^0.0.1",
"url-loader": "^0.5.6",
"warning": "^2.1.0",
"webpack": "1.12.9",
"webpack-dev-server": "1.14.0"
},
"engines": {
"node": ">=0.10.32"
}
}
4 changes: 2 additions & 2 deletions src/actions/configure.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import {applyConfig} from "../utils/client-settings";
import {destroySession} from "../utils/session-storage";
import verifyAuth from "../utils/verify-auth";
import getRedirectInfo from "../utils/parse-url";
import {pushState} from "redux-router";
import {push} from "react-router-redux";

export const SET_ENDPOINT_KEYS = "SET_ENDPOINT_KEYS";
export const STORE_CURRENT_ENDPOINT_KEY = "STORE_CURRENT_ENDPOINT_KEY";
Expand Down Expand Up @@ -107,7 +107,7 @@ export function configure(endpoint={}, settings={}) {
let {authRedirectPath, authRedirectHeaders} = getRedirectInfo(window.location);

if (authRedirectPath) {
dispatch(pushState(null, authRedirectPath));
dispatch(push({pathname: authRedirectPath}));
}

if (authRedirectHeaders && authRedirectHeaders.uid && authRedirectHeaders["access-token"]) {
Expand Down

0 comments on commit 367d1d6

Please sign in to comment.