diff --git a/client/store.js b/client/store.js index e8336b7..f452085 100644 --- a/client/store.js +++ b/client/store.js @@ -1,11 +1,12 @@ import { applyMiddleware, createStore as reduxCreateStore } from 'redux'; +import { createLogger } from 'redux-logger'; import reducers from './reducers'; const middlewares = []; // Add state logger if (process.env.NODE_ENV !== 'production') { - middlewares.push(require('redux-logger')()); + middlewares.push(createLogger()); } export function createStore(state) { diff --git a/package.json b/package.json index 126b9e1..e38f01f 100644 --- a/package.json +++ b/package.json @@ -9,44 +9,42 @@ "author": "olebedev", "license": "MIT", "dependencies": { - "autoprefixer": "^6.3.2", - "autoprefixer-loader": "^3.2.0", - "babel-core": "^6.5.1", - "babel-eslint": "^4.1.8", - "babel-loader": "^6.2.2", - "babel-preset-es2015": "6.5.0", - "babel-preset-react": "6.5.0", - "babel-preset-react-hmre": "1.1.0", - "babel-preset-stage-0": "6.5.0", - "css-loader": "^0.23.1", - "cssrecipes-defaults": "^0.5.0", - "eslint": "^3.15.0", - "eslint-plugin-react": "^3.16.1", + "autoprefixer": "^6.7.7", + "babel-core": "^6.24.1", + "babel-eslint": "^7.2.2", + "babel-loader": "^6.4.1", + "babel-polyfill": "^6.23.0", + "babel-preset-es2015": "^6.24.1", + "babel-preset-react": "^6.24.1", + "babel-preset-react-hmre": "^1.1.1", + "babel-preset-stage-0": "^6.24.1", + "css-loader": "^0.28.0", + "eslint": "^3.19.0", + "eslint-plugin-react": "^6.10.3", "expose-loader": "^0.7.1", - "express": "^4.13.4", + "express": "^4.15.2", "extract-text-webpack-plugin": "^1.0.1", - "file-loader": "^0.8.5", - "history": "2.0.0", - "lodash": "^4.3.0", - "normalize.css": "^3.0.3", + "file-loader": "^0.11.1", + "normalize.css": "^6.0.0", "postcss-functions": "^2.1.0", - "postcss-loader": "^0.8.0", + "postcss-loader": "^1.3.3", "precss": "^1.4.0", "proxy-middleware": "^0.15.0", - "react": "^0.14.7", - "react-dom": "^0.14.7", - "react-helmet": "^3.0.0", - "react-redux": "^4.4.0", - "react-router": "^2.0.0", - "redux": "^3.3.1", - "redux-logger": "^2.6.1", - "style-loader": "^0.13.0", - "stylus-loader": "1.5.1", + "react": "^15.5.4", + "react-dom": "^15.5.4", + "react-helmet": "^5.0.3", + "react-redux": "^4.4.8", + "react-router": "^3.0.5", + "redux": "^3.6.0", + "redux-logger": "^3.0.1", + "style-loader": "^0.16.1", + "svgo-loader": "^1.2.1", + "url-loader": "^0.5.8", "webpack": "^1.12.13", - "webpack-dev-middleware": "^1.5.1", - "webpack-hot-middleware": "^2.7.1", - "whatwg-fetch": "^0.11.0", - "when": "^3.7.7" + "webpack-dev-middleware": "^1.10.1", + "webpack-hot-middleware": "^2.18.0", + "whatwg-fetch": "^2.0.3", + "when": "^3.7.8" }, "babel": { "presets": [ diff --git a/webpack.config.js b/webpack.config.js index e23cf37..ac763b0 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -3,19 +3,19 @@ var webpack = require('webpack'); var autoprefixer = require('autoprefixer'); var precss = require('precss'); var functions = require('postcss-functions'); -var ExtractTextPlugin = require("extract-text-webpack-plugin"); +var ExtractTextPlugin = require('extract-text-webpack-plugin'); var postCssLoader = [ - 'css-loader?module', + 'css-loader?modules', '&localIdentName=[name]__[local]___[hash:base64:5]', '&disableStructuralMinification', '!postcss-loader' ]; var plugins = [ - new webpack.NoErrorsPlugin(), - new webpack.optimize.DedupePlugin(), - new ExtractTextPlugin('bundle.css'), + new webpack.NoErrorsPlugin(), + new webpack.optimize.DedupePlugin(), + new ExtractTextPlugin('bundle.css'), ]; if (process.env.NODE_ENV === 'production') { @@ -29,7 +29,7 @@ if (process.env.NODE_ENV === 'production') { }) ]); - postCssLoader.splice(1, 1) // drop human readable names + postCssLoader.splice(1, 1); // drop human readable names }; var config = { @@ -38,7 +38,7 @@ var config = { }, output: { path: path.join(__dirname, 'server/data/static/build'), - publicPath: "/static/build/", + publicPath: '/static/build/', filename: '[name].js' }, plugins: plugins, @@ -83,13 +83,17 @@ var config = { ] }, postcss: function() { - return [autoprefixer, precss({ - variables: { - variables: require('./client/css/vars') - } - }), functions({ - functions: require('./client/css/funcs') - })] + return [ + autoprefixer, + precss({ + variables: { + variables: require('./client/css/vars') + } + }), + functions({ + functions: require('./client/css/funcs') + }) + ]; } };