Giter Site home page Giter Site logo

bertho-zero / react-redux-universal-hot-example Goto Github PK

View Code? Open in Web Editor NEW
634.0 41.0 171.0 17.2 MB

A starter boilerplate for a universal webapp using react, redux, express and feathers

Home Page: https://react-hot-example.herokuapp.com/

License: MIT License

JavaScript 95.73% CSS 3.50% Dockerfile 0.77%
react redux progressive-web-app offline-first feathersjs universal starter-kit boilerplate

react-redux-universal-hot-example's Introduction

React Redux Universal Hot Example

Build Status Dependency Status devDependency Status


About

This is a starter boilerplate app I've put together using the following technologies:

I cobbled this together from a wide variety of similar "starter" repositories. As I post this in June 2015, all of these libraries are right at the bleeding edge of web development. They may fall out of fashion as quickly as they have come into it, but I personally believe that this stack is the future of web development and will survive for several years. I'm building my new projects like this, and I recommend that you do, too.

Features

Hot reload
Enjoy the developer experience! Your saved changes to the CSS and JS are reflected instantaneously without refreshing the page ! On the server as on the client. Preserving the state of application on the client.
Next generation JavaScript
Use JSX syntax with all ES6 features, and some of ES7 (see .babelrc).
CSS in modules
Write composable, modular and maintenable CSS with your components.
Predictable state management
Unidirectional data flow with Redux helps you write applications that behave consistently and are easy to test. On top of that, it provides a great developer experience.
Backend API oriented services
With Feathers it's easy to create scalable real-time applications with services and hooks. Cross cutting concerns are an extremely powerful part of aspect oriented programming. They are a very good fit for web and mobile applications since the majority are primarily CRUD applications with lots of shared functionality. You can create before and after hooks and chain them together to create very complex processes while still maintaining modularity and flexibility.
Authentication
Passport authentication allows you to use all the desired strategies. The connections in REST and in real time are protected in the same way with the hooks. React-router, redux and redux-auth-wrapper allow you to keep control in your React app.
Progressive wep app & Offline-first
Progressive Web Apps are user experiences that have the reach of the web, and are:
Reliable - Load instantly and never show the downasaur, even in uncertain network conditions.
Fast - Respond quickly to user interactions with silky smooth animations and no janky scrolling.
Engaging - Feel like a natural app on the device, with an immersive user experience.

This new level of quality allows Progressive Web Apps to earn a place on the user's home screen.
Lazy loading & dynamic routing
The code splitting makes the size of your main bundle almost fixed, and with react-router you can load application pieces on demand. You can send bundles to people who are only trained, such as administration.
Universal rendering
With the help of server side rendering the first rendering is never empty and performance is better. This is the time for example to prefetch the data. Webpack-isomorphic-tools to allow require() work for statics both on client and server.
SEO
This project supports SEO for search engines even without support indexing of JavaScript content, thanks to server-side rendering.

Installation

yarn

Running Dev Server

yarn dev

The first time it may take a little while to generate the first webpack-assets.json and complain with a few dozen [webpack-isomorphic-tools] (waiting for the first Webpack build to finish) printouts, but be patient. Give it 30 seconds.

Using Redux DevTools

Redux Devtools are enabled by default in development.

If you have the Redux DevTools chrome extension installed it will automatically be used on the client-side instead.

If you want to disable the dev tools during development, set __DEVTOOLS__ to false in /webpack/dev.config.js.
DevTools are not enabled during production by default.

Building and Running Production Server

yarn build
yarn start

Demo

A demonstration of this app can be seen running on heroku, which is a deployment of the heroku branch.

Explanation

What initially gets run is bin/server.js, which does little more than enable ES6 and ES7 awesomeness in the server-side node code. It then initiates server.js. In server.js we proxy any requests to /api/* to the API server, running at localhost:3030. All the data fetching calls from the client go to /api/*. Aside from serving the favicon and static content from /static, the only thing server.js does is initiate delegate rendering to react-router. At the bottom of server.js, we listen to port 3000 and initiate the API server.

Routing and HTML return

The primary section of server.js generates an HTML page with the contents returned by react-router. First we instantiate an ApiClient, a facade that both server and client code use to talk to the API server. On the server side, ApiClient is given the request object so that it can pass along the session cookie to the API server to maintain session state. We pass this API client facade to the redux middleware so that the action creators have access to it. You can also use app for RESTful calls to api.

Then we perform server-side data fetching, wait for the data to be loaded, and render the page with the now-fully-loaded redux state.

The last interesting bit of the main routing section of server.js is that we swap in the hashed script and css from the webpack-assets.json that the Webpack Dev Server – or the Webpack build process on production – has spit out on its last run. You won't have to deal with webpack-assets.json manually because webpack-isomorphic-tools take care of that.

We also spit out the redux state into a global window.__data variable in the webpage to be loaded by the client-side redux code.

Server-side Data Fetching

The redial package exposes an API to return promises that need to be fulfilled before a route is rendered. It exposes a <ReduxAsyncConnect /> container, which wraps our render tree on both server and client. More documentation is available on the redial page.

Client Side

The client side entry point is reasonably named client.js. All it does is load the routes, initiate react-router, rehydrate the redux state from the window.__data passed in from the server, and render the page over top of the server-rendered DOM. This makes React enable all its event listeners without having to re-render the DOM.

Redux Middleware

The middleware, clientMiddleware.js, serves two functions:

  1. To allow the action creators access to the client API facade. Remember this is the same on both the client and the server, and cannot simply be imported because it holds the cookie needed to maintain session on server-to-server requests.
  2. To allow some actions to pass a "promise generator", a function that takes the API client and returns a promise. Such actions require three action types, the REQUEST action that initiates the data loading, and a SUCCESS and FAILURE action that will be fired depending on the result of the promise. There are other ways to accomplish this, some discussed here, which you may prefer, but to the author of this example, the middleware way feels cleanest.

Redux Modules... What the Duck?

The src/redux/modules folder contains "modules" to help isolate concerns within a Redux application (aka Ducks, a Redux Style Proposal that I came up with). I encourage you to read the Ducks Docs and provide feedback.

Getting data and actions into components

To understand how the data and action bindings get into the components – there's only one, InfoBar, in this example – I'm going to refer to you to the Redux library. The only innovation I've made is to package the component and its wrapper in the same js file. This is to encapsulate the fact that the component is bound to the redux actions and state. The component using InfoBar needn't know or care if InfoBar uses the redux data or not.

Images

Now it's possible to render the image both on client and server. Please refer to issue #39 for more detail discussion, the usage would be like below (super easy):

let logoImage = require('./logo.png');

Styles

This project uses local styles using css-loader. The way it works is that you import your stylesheet at the top of the render() function in your React Component, and then you use the classnames returned from that import. Like so:

render() {
const styles = require('./App.scss');
...

Then you set the className of your element to match one of the CSS classes in your SCSS file, and you're good to go!

<div className={styles.mySection}> ... </div>

Alternative to Local Styles

If you'd like to use plain inline styles this is possible with a few modifications to your webpack configuration.

1. Configure Isomorphic Tools to Accept CSS

In webpack-isomorphic-tools.js add css to the list of style module extensions

    style_modules: {
      extensions: ['less','scss','css'],

2. Add a CSS loader to webpack dev config

In dev.config.js modify module loaders to include a test and loader for css

  module: {
    loaders: [
      { test: /\.css$/, loader: 'style-loader!css-loader'},

3. Add a CSS loader to the webpack prod config

You must use the ExtractTextPlugin in this loader. In prod.config.js modify module loaders to include a test and loader for css

  module: {
    loaders: [
      { test: /\.css$/, loader: ExtractTextPlugin.extract('style-loader', 'css-loader')},

Now you may simply omit assigning the required stylesheet to a variable and keep it at the top of your render() function.

render() {
require('./App.css');
require('aModule/dist/style.css');
...

NOTE In order to use this method with scss or less files one more modification must be made. In both dev.config.js and prod.config.js in the loaders for less and scss files remove

  1. modules
  2. localIdentName...

Before:

{ test: /\.less$/, loader: 'style!css?modules&importLoaders=2&sourceMap&localIdentName=[local]___[hash:base64:5]!autoprefixer?browsers=last 2 version!less?outputStyle=expanded&sourceMap' },

After:

{ test: /\.less$/, loader: 'style!css?importLoaders=2&sourceMap!autoprefixer?browsers=last 2 version!less?outputStyle=expanded&sourceMap' },

After this modification to both loaders you will be able to use scss and less files in the same way as css files.

Unit Tests

The project uses Jest to run your unit tests.

To run the tests in the project, just simply run yarn test if you have Chrome installed, it will be automatically launched as a test service for you.

Deployment on Heroku

To get this project to work on Heroku, you need to:

  1. Remove the "PORT": 8080 line from the start-prod script of package.json.
  2. heroku config:set NODE_ENV=production
  3. heroku config:set NODE_PATH=./src
  4. heroku config:set NPM_CONFIG_PRODUCTION=false
  • This is to enable webpack to run the build on deploy.

The first deploy might take a while, but after that your node_modules dir should be cached.

FAQ

This project moves fast and has an active community, so if you have a question that is not answered below please file an issue.

Roadmap

Although this isn't a library, we recently started versioning to make it easier to track breaking changes and emerging best practices.

Contributing

I am more than happy to accept external contributions to the project in the form of feedback, bug reports and even better - pull requests :)

If you would like to submit a pull request, please make an effort to follow the guide in CONTRIBUTING.md.


Thanks for checking this out.

Created by: – Erik Rasmussen, @erikras

Maintened by: – Kévin Berthommier, @bertho-zero

react-redux-universal-hot-example's People

Contributors

andrewmclagan avatar arfianadam avatar arkist avatar benoitvallon avatar bertho-zero avatar catamphetamine avatar erikras avatar gaearon avatar greenkeeper[bot] avatar greenkeeperio-bot avatar gusaiani avatar jneto avatar justingreenberg avatar kairyou avatar korczis avatar leonli avatar markus-ipse avatar merriam avatar mhodgson avatar nicolabortignon avatar nogsmpls avatar p-rk avatar psalz avatar quicksnap avatar snowcxt avatar stevoland avatar strawbrary avatar swordsreversed avatar trueter avatar yuters avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

react-redux-universal-hot-example's Issues

watch-client Issue

When I run watch-client I get the below error

user@user-All-Series:/media/user/drive/workspace/react/react-redux-universal-hot-example$ npm run watch-client

[email protected] watch-client /media/user/drive/workspace/react/react-redux-universal-hot-example
better-npm-run watch-client

running better-npm-run in /media/user/drive/workspace/react/react-redux-universal-hot-example
Executing script: watch-client

to be executed: node webpack/webpack-dev-server.js
/media/user/drive/workspace/react/react-redux-universal-hot-example/webpack/dev.config.js:10
const { installVendorDLL, createSourceLoader, createHappyPlugin } = require('./helpers');
^

SyntaxError: Unexpected token {
at exports.runInThisContext (vm.js:54:16)
at Module._compile (module.js:375:25)
at Object.Module._extensions..js (module.js:406:10)
at Module.load (module.js:345:32)
at Function.Module._load (module.js:302:12)
at Module.require (module.js:355:17)
at require (internal/module.js:13:17)
at Object. (/media/user/drive/workspace/react/react-redux-universal-hot-example/webpack/webpack-dev-server.js:5:21)
at Module._compile (module.js:399:26)
at Object.Module._extensions..js (module.js:406:10)

npm ERR! Linux 4.4.0-24-generic
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "watch-client"
npm ERR! node v5.2.0
npm ERR! npm v3.3.12
npm ERR! code ELIFECYCLE
npm ERR! [email protected] watch-client: better-npm-run watch-client
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] watch-client script 'better-npm-run watch-client'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the react-redux-universal-hot-example package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! better-npm-run watch-client
npm ERR! You can get their info via:
npm ERR! npm owner ls react-redux-universal-hot-example
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! /media/user/drive/workspace/react/react-redux-universal-hot-example/npm-debug.log

I fixed it by changing the webpack/dev.config.js
changed
var { installVendorDLL, createSourceLoader, createHappyPlugin } = require('./helpers');
to
var installVendorDLL = require('./helpers').installVendorDLL,
createSourceLoader = require('./helpers').createSourceLoader,
createHappyPlugin = require('./helpers').createHappyPlugin;

Is that the right thing to do? or should I do something else?

Deprecation warning for featherjs...

I'm getting this warning...
Calling populate(target, options) is now DEPRECATED and will be removed in the future. Refer to docs.feathersjs.com for more information. (legacyPopulate)

npm install & yarn install failed on master branch

OS: macOS 10.11.6
nodejs: v6.9.2 & v6.9.5

master branch

  1. git clone https://github.com/bertho-zero/react-redux-universal-hot-example.git
  2. yarn install (or npm install)

error messages:

[0]      [207] ./~/react-dom/lib/ReactDOMServer.js 735 bytes {0} [built]
[0]      [227] ./~/react-dom/lib/ReactVersion.js 350 bytes {0} [built]
[0]      [250] ./~/react-helmet/lib/Helmet.js 23.6 kB {0} [built]
[0]      [265] ./~/serialize-javascript/index.js 3.42 kB {0} [built]
[0]      [268] ./~/html-webpack-plugin/lib/loader.js!./src/pwa.js 628 bytes {0} [built]
[0]         + 254 hidden modules
[0]
[0] npm
[0]  ERR! Darwin 15.6.0
[0] npm ERR! argv "/Users/leo/.ndenv/versions/v6.9.5/bin/node" "/Users/leo/.ndenv/versions/v6.9.5/bin/npm" "run" "build"
[0] npm ERR! node v6.9.5
[0] npm ERR! npm  v3.10.10
[0] npm ERR! code ELIFECYCLE
[0] npm ERR! [email protected] build: `better-npm-run build`
[0] npm ERR! Exit status 2
[0] npm ERR!
[0] npm ERR! Failed at the [email protected] build script 'better-npm-run build'.
[0] npm ERR! Make sure you have the latest version of node.js and npm installed.
[0] npm ERR! If you do, this is most likely a problem with the react-redux-universal-hot-example package,
[0] npm ERR! not with npm itself.
[0] npm ERR! Tell the author that this fails on your system:
[0] npm ERR!     better-npm-run build
[0] npm ERR! You can get information on how to open an issue for this project with:
[0] npm ERR!     npm bugs react-redux-universal-hot-example
[0] npm ERR! Or if that isn't available, you can get their info via:
[0] npm ERR!     npm owner ls react-redux-universal-hot-example
[0] npm ERR! There is likely additional logging output above.
[0]
[0] npm ERR! Please include the following file with any support request:
[0] npm ERR!     /private/tmp/react-redux-universal-hot-example/npm-debug.log
[0] npm run build exited with code 1
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

An in-range update of react-router is breaking the build 🚨

Version 3.0.2 of react-router just got published.

Branch Build failing 🚨
Dependency react-router
Current Version 3.0.1
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

As react-router is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this 💪


Status Details
  • continuous-integration/travis-ci/push The Travis CI build failed Details
Release Notes v3.0.2

Changes

  • Re-add module entry to package.json
Commits

The new version differs by 6 commits .

See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

Retaining trailing slashes in restApp & client

Hi.

Just looking at the code and I think the HTTP request architecture is great!

Question
The only thing I have difficulties working with is restApp (/src/redux/modules/auth.js, uses feathers.js) removing the trailing slashes every time I make a request.

For example, restApp.service('/user/login/') is requested as:
http://api.HOST:PORT/user/login
instead of
http://api.HOST:PORT/user/login/
The API I'm provided with needs the trailing slash to work.

Is there a setting in the codebase or a reliable documentation for feathers which allows me to stop the restApp from omitting the trailing slash? I've been looking everywhere in the feathers docs but I find nothing on this.

Wait for data load before server side rendering

Hello!

I would appreciate some help with this situation:

I'm using asyncConnect to pre-load some data from API before performing the server side rendering.
But now, I need to load another data when the first one has finished.

For example:
On asyncConnect I fetch all the users.
After all the users have been loaded, I need to fetch their subscriptions.

How can I handle a synchronous call on asyncConnect?

Thanks!

An in-range update of localforage is breaking the build 🚨

Version 1.5.0 of localforage just got published.

Branch Build failing 🚨
Dependency localforage
Current Version 1.4.3
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

As localforage is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this 💪


Status Details
  • continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details
Release Notes Safari IndexedDB support!

Defaults to IndexedDB in Safari 10.1+ (#650). Pretty sweet!

This is a breaking change, see the CHANGELOG for more info.

Thanks to everyone who made this release possible: @nolanlawson, @michielbdejong, @dennismartensson, @ztamizzen, @stephanebachelier, @rparrapy, @iamolivinius, and of course @thgreasi.

Thanks all!

@tofumatt

Commits

The new version differs by 40 commits .

  • e09ee39 Merge pull request #662 from localForage/release-1.5
  • d50d845 Create 1.5.0 release
  • d469da1 docs: Add 1.5 Safari 10.1 notes
  • f524ed5 Merge pull request #657 from michielbdejong/patch-1
  • 4d8e0fc Use node version 6 on Travis
  • bccce53 Add .tscache to .gitignore
  • 5045c6c Merge pull request #654 from thgreasi/websqlDbQuotaRetry
  • b3f22a7 chore: add websql quota error setItem retry
  • d661475 test(WebSql): retry operation after Quota Error
  • 6ae7223 feat(examples): add db quota error sample page
  • 22a68b6 feat(websql): retry a failed setItem caused by Quota error
  • 02f0c83 Merge pull request #566 from nolanlawson/562
  • 79d55df Merge pull request #652 from localForage/iamolivinius-remove-grunt-run-task
  • ce482b5 chore(typings): use grunt-ts
  • 9f4dfd3 Fix up grunt task: run PR

There are 40 commits in total. See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

Migrate to webpack 2 issue - Module parse failed - You may need an appropriate loader to handle this file type

Hello,

I migrate to use webpack 2, i use same with your code. Run "npm run build" is successful but when i run "npm run dev" it has issues

[1] ==> 💻  Open http://localhost:3000 in a browser to view the app.
[0] ./~/react-input-range/dist/react-input-range.css
[0] Module parse failed: /Users/anhdn/IdeaProjects/chotot-oneweb/node_modules/react-input-range/dist/react-input-range.css Unexpected token (1:0)
[0] You may need an appropriate loader to handle this file type.
[0] | .InputRange-slider {
[0] |   -webkit-appearance: none;
[0] |      -moz-appearance: none;
[0]  @ ./src/components/FilterOverlay/index.js 65:0-55
[0]  @ ./src/components/index.js
[0]  @ ./src/containers/NotFound/index.js
[0]  @ ./src/containers/index.js
[0]  @ ./src/routes.js
[0]  @ ./src/client.js
[0]  @ multi webpack-hot-middleware/client?path=http://localhost:3001/__webpack_hmr react-hot-loader/patch bootstrap-loader font-awesome-webpack!./src/theme/font-awesome.config.js ./src/client.js

Here is my webpack/dev.config.js


require('babel-polyfill');

// Webpack config for development
var fs = require('fs');
var path = require('path');
var webpack = require('webpack');
var helpers = require('./helpers');

var assetsPath = path.resolve(__dirname, '../static/dist');
var host = (process.env.HOST || 'localhost');
var port = (+process.env.PORT + 1) || 3001;

// https://github.com/halt-hammerzeit/webpack-isomorphic-tools
var WebpackIsomorphicToolsPlugin = require('webpack-isomorphic-tools/plugin');
var webpackIsomorphicToolsPlugin = new WebpackIsomorphicToolsPlugin(require('./webpack-isomorphic-tools'));

var babelrc = fs.readFileSync('./.babelrc');
var babelrcObject = {};

try {
  babelrcObject = JSON.parse(babelrc);
} catch (err) {
  console.error('==>     ERROR: Error parsing your .babelrc.');
  console.error(err);
}

var babelrcObjectDevelopment = babelrcObject.env && babelrcObject.env.development || {};

// merge global and dev-only plugins
var combinedPlugins = babelrcObject.plugins || [];
combinedPlugins = combinedPlugins.concat(babelrcObjectDevelopment.plugins);

var babelLoaderQuery = Object.assign({}, babelrcObject, babelrcObjectDevelopment, { plugins: combinedPlugins });
delete babelLoaderQuery.env;

babelLoaderQuery.presets = babelLoaderQuery.presets.map(function (v) {
  return v === 'es2015' ? ['es2015', { modules: false }] : v;
});

var validDLLs = helpers.isValidDLLs('vendor', assetsPath);
if (process.env.WEBPACK_DLLS === '1' && !validDLLs) {
  process.env.WEBPACK_DLLS = '0';
  console.warn('webpack dlls disabled');
}

var webpackConfig = module.exports = {
  devtool: 'inline-source-map',
  context: path.resolve(__dirname, '..'),
  entry: {
    'main': [
      'webpack-hot-middleware/client?path=http://' + host + ':' + port + '/__webpack_hmr',
      'react-hot-loader/patch',
      'bootstrap-loader',
      'font-awesome-webpack!./src/theme/font-awesome.config.js',
      './src/client.js'
    ]
  },
  output: {
    path: assetsPath,
    filename: '[name]-[hash].js',
    chunkFilename: '[name]-[chunkhash].js',
    publicPath: 'http://' + host + ':' + port + '/dist/'
  },
  performance: {
    hints: false
  },
  module: {
    rules: [
      {
        test: /\.jsx?$/,
        loader: 'happypack/loader?id=jsx',
        include: [path.resolve(__dirname, '../src')]
      }, {
        test: /\.json$/,
        loader: 'happypack/loader?id=json',
        include: [path.resolve(__dirname, '../src')]
      }, {
        test: /\.less$/,
        loader: 'happypack/loader?id=less',
        include: [path.resolve(__dirname, '../src')]
      }, {
        test: /\.scss$/,
        loader: 'happypack/loader?id=sass',
        include: [path.resolve(__dirname, '../src')]
      }, {
        test: /\.woff2?(\?v=\d+\.\d+\.\d+)?$/,
        loader: 'url-loader',
        options: {
          limit: 10240,
          mimetype: 'application/font-woff'
        }
      }, {
        test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/,
        loader: 'url-loader',
        options: {
          limit: 10240,
          mimetype: 'application/octet-stream'
        }
      }, {
        test: /\.eot(\?v=\d+\.\d+\.\d+)?$/,
        loader: 'file-loader'
      }, {
        test: /\.svg(\?v=\d+\.\d+\.\d+)?$/,
        loader: 'url-loader',
        options: {
          limit: 10240,
          mimetype: 'image/svg+xml'
        }
      }, {
        test: webpackIsomorphicToolsPlugin.regular_expression('images'),
        loader: 'url-loader',
        options: {
          limit: 10240
        }
      }
    ]
  },
  resolve: {
    modules: [
      'src',
      'node_modules'
    ],
    extensions: ['.json', '.js', '.jsx']
  },
  plugins: [
    // hot reload
    new webpack.HotModuleReplacementPlugin(),
    new webpack.IgnorePlugin(/webpack-stats\.json$/),
    new webpack.DefinePlugin({
      __CLIENT__: true,
      __SERVER__: false,
      __DEVELOPMENT__: true,
      __DEVTOOLS__: true  // <-------- DISABLE redux-devtools HERE
    }),
    webpackIsomorphicToolsPlugin.development(),

    new webpack.LoaderOptionsPlugin({
      test: /\.jsx?$/,
      happy: { id: 'jsx' }
    }),
    new webpack.LoaderOptionsPlugin({
      test: /\.less$/,
      happy: { id: 'less' }
    }),
    new webpack.LoaderOptionsPlugin({
      test: /\.scss$/,
      happy: { id: 'sass' }
    }),
    new webpack.LoaderOptionsPlugin({
      test: /\.css$/,
      happy: { id: 'css' }
    }),

    helpers.createHappyPlugin('jsx', [
      {
        loader: 'react-hot-loader/webpack'
      }, {
        loader: 'babel-loader',
        query: babelLoaderQuery
      }, {
        loader: 'eslint-loader'
      }
    ]),
    helpers.createHappyPlugin('less', [
      {
        loader: 'style-loader'
      }, {
        loader: 'css-loader',
        query: {
          modules: true,
          importLoaders: 2,
          sourceMap: true,
          localIdentName: '[local]___[hash:base64:5]'
        }
      }, {
        loader: 'autoprefixer-loader',
        query: {
          browser: 'last 2 version'
        }
      }, {
        loader: 'less-loader',
        query: {
          outputStyle: 'expanded',
          sourceMap: true
        }
      }
    ]),
    helpers.createHappyPlugin('sass', [
      {
        loader: 'style-loader'
      }, {
        loader: 'css-loader',
        query: {
          modules: true,
          importLoaders: 2,
          sourceMap: true,
          localIdentName: '[local]___[hash:base64:5]'
        }
      }, {
        loader: 'autoprefixer-loader',
        query: {
          browsers: 'last 2 version'
        }
      }, {
        loader: 'sass-loader',
        query: {
          outputStyle: 'expanded',
          sourceMap: true
        }
      }
    ]),
    helpers.createHappyPlugin('css', [
      {
        loader: 'style-loader'
      }, {
        loader: 'css-loader',
        query: {
          modules: true,
          importLoaders: 2,
          sourceMap: true,
          localIdentName: '[local]___[hash:base64:5]'
        }
      }, {
        loader: 'autoprefixer-loader',
        query: {
          browsers: 'last 2 version'
        }
      }, {
        loader: 'sass-loader',
        query: {
          outputStyle: 'expanded',
          sourceMap: true
        }
      }
    ])
  ]
};

if (process.env.WEBPACK_DLLS === '1' && validDLLs) {
  helpers.installVendorDLL(webpackConfig, 'vendor');
}

Can anyone know the issue?

Serverside Clientside render mismatch

I have an issue where if I have two components with the same name ( say Test )

react-redux-universal-hot-example/src/components/Test/Test.js

import React from 'react';
export default function Test() {
  return (
    <div>
      <h1>Test Components</h1>
    </div>
  );
}

react-redux-universal-hot-example/src/containers/Test/Test.js

import React from 'react';
export default function Test() {
  return (
    <div>
      <h1>Test Containers</h1>
    </div>
  );
}

Now if I run "npm run dev" and open localhost:3000 in the browser console gives the below warning

Warning: React attempted to reuse markup in a container but the checksum was invalid. This generally means that you are using server rendering and the markup generated on the server was not what the client was expecting. React injected new markup to compensate which works but you have lost many of the benefits of server rendering. Instead, figure out why the markup being generated is different on the client or server:
(client) -reactid="4">Test Container<n
(server) -reactid="4">Test Components<
Server-side React render was discarded.Make sure that your initial render does not contain any client-side code.

I think the client side is using the wrong component.

I can just name them different but is there any other thing I can do?

Can you please help me with this?

Include a File Upload Example

HI, if you could include an example with a file upload that would be really appreciated as i have been having some trouble with this.

Keeping basic-api up to date?

Hi @bertho-zero! Firstly, thank you. I am very glad that you are continuing to maintain this repo! :)

I am wondering if you are planning to keep the basic-api branch also upto date with the package updates, etc? I noticed that you have updated happypack, babel, react-hot-loader on master, but not on basic-api.

FWIW, I would like to put in a vote in favor of it. Unfortunately, I can't use feathers, passport, etc and therefore your basic-api branch is super helpful. Having that updated as well, might help a bunch of us :)

Thank you!

An in-range update of concurrently is breaking the build 🚨

Version 3.2.0 of concurrently just got published.

Branch Build failing 🚨
Dependency concurrently
Current Version 3.1.0
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

As concurrently is “only” a devDependency of this project it might not break production or downstream projects, but “only” your build or test tools – preventing new deploys or publishes.

I recommend you give this issue a high priority. I’m sure you can resolve this 💪


Status Details
  • continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details
Release Notes 3.2.0
  • Add support for colors in subprocesses when they use chalk (#49, #86, #87)
  • Fix killing processes in Windows gitbash (#74, #67)
  • Upgrade spawn-default-shell dependency to v2.0.0. This means that shells in Linux and Mac will spawn with the --login flag, allowing you to make use of /etc/profile, ~/.profile, and etc (#81)
  • The timestamps are now handled by date-fns instead of Moment.js. They share the same date format patterns. (#77)

Also, this version drops support for Node 0.12. We're only supporting Node 4+.

Commits

The new version differs by 15 commits .

  • 7661fc4 Release 3.2.0
  • 87f17d0 Add FORCE_COLOR environment variable to support chalk (#87)
  • 5a0d525 Switch from moment to date-fns.
  • 26abfed Merge pull request #82 from ilkka/patch-1
  • 3321bf6 Merge pull request #81 from purusho/master
  • b2fcfee Set minimum node version to 4.0.0
  • 1b0afc5 Merge pull request #83 from kimmobrunfeldt/travis-nodejs-versions
  • e2698e7 Drop CI support for node 0.12, add support for node 7
  • c0a87e1 Bump moment.js version to mitigate regexp DoS
  • 1547f92 Upgrade spawn-default-shell to 2.0.0
  • 39f03ca Drop bluebird. (#73)
  • 136622f Fix killing processes in Windows gitbash (#74)
  • ca32b59 Update .travis.yml
  • 1a29153 Fix error when a color isn't supported by the current platform. (#72)
  • 539b4a8 Update release guide

See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of react-router-redux is breaking the build 🚨

Version 4.0.8 of react-router-redux just got published.

Branch Build failing 🚨
Dependency react-router-redux
Current Version 4.0.7
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

As react-router-redux is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this 💪


Status Details
  • continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details
Commits

The new version differs by 11 commits .

  • a2825ac Changes!
  • 36b1700 4.0.8
  • ecebb5d Fix Karma config for webpack 2.
  • 970b0d1 Upgrade webpack to 2 and other deps too
  • 857cf4d Fix test for initial state
  • b2c2259 Don't call the listener with history 3
  • b16a678 Copyright year range
  • 75911f1 Updates License (#506)
  • 7a38e65 Support Node v6 (new LTS)? (#505)
  • 7d507f7 Readme: Update rackt references to point to /reactjs/... (#495)
  • d2d5ec5 Fixing Redux link (#494)

See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of superagent is breaking the build 🚨

Version 3.4.4 of superagent just got published.

Branch Build failing 🚨
Dependency superagent
Current Version 3.4.3
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

As superagent is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this 💪


Status Details
  • continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details
Commits

The new version differs by 7 commits .

  • 0f4ec4b 3.4.4
  • 6524db0 Treat videos like images
  • 4723176 Merge pull request #1177 from elisherer/master
  • e46f890 Avoid renaming module
  • 7b0f0da 3.4.3
  • 9a250ad Add node client support for bearer token authentication
  • 9dc0976 Add client support for bearer token authentication

See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

bootstrap custom variable not work

Hi,

I want to change bootstrap custom variable $brand-primary: #FE9900; on src/theme/variables.scss but it does not change while the bootstrap.overrides.scss work normally.

I used the repo's .bootstraprc and the package i use "bootstrap-loader": "^2.0.0-beta.19", "bootstrap-sass": "3.3.7".

Do you have any experiences with the issue?

Thanks!

Feathers

Nice to see an updated repo. And I like your selection of feathers, been using for another project.

But... ;)
I think it would make more sense to limit the integration to the feathers client, and include saiichihashimoto/feathers-react-redux instead of baking both client and server in to the same repo, as larger projects often separate them in to separate repos. And It would make it easier to strip out feathers for those that might want to use other frameworks like LoopBack or Sails, (or just plain express).

React SSR does not seem to be working

If you run the build then start prod and load the page it works fine, but if you then disable JS and reload the SSR does not seem to work.

global.__DISABLE_SSR__ is set to false by default but there still seems to be issues with SSR.

Social Login with Passport.js

Hey, I posted a similar question on the original project but i'm pretty sure its dead and noticed that you had implemented passportjs on this fork and that this seems a lot more lively so here is the question:

I am trying to implement a social login such as facebook using passport.js with the facebook strategy.

I am however having some difficulty understanding how to get this to work with this framework and react router, are there any guides/examples that anyone can point me to on how to achieve this?

Any Help would be Greatly Appreciated.

An in-range update of socket.io is breaking the build 🚨

Version 1.7.3 of socket.io just got published.

Branch Build failing 🚨
Dependency socket.io
Current Version 1.7.2
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

As socket.io is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this 💪


Status Details
  • continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details
Release Notes 1.7.3
  • [chore] Bump engine.io-client to version 1.8.3
Commits

The new version differs by 2 commits .

  • 06044ef [chore] Release 1.7.3
  • 5012806 [chore] Bump engine.io to version 1.8.3

See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of body-parser is breaking the build 🚨

Version 1.16.0 of body-parser just got published.

Branch Build failing 🚨
Dependency body-parser
Current Version 1.15.2
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

As body-parser is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this 💪


Status Details
  • continuous-integration/travis-ci/push The Travis CI build failed Details
Release Notes 1.16.0
  • deps: [email protected]
    • Allow colors in workers
    • Deprecated DEBUG_FD environment variable
    • Fix error when running under React Native
    • Use same color for same namespace
    • deps: [email protected]
  • deps: http-errors@~1.5.1
  • deps: [email protected]
    • Added encoding MS-31J
    • Added encoding MS-932
    • Added encoding MS-936
    • Added encoding MS-949
    • Added encoding MS-950
    • Fix GBK/GB18030 handling of Euro character
  • deps: [email protected]
    • Fix array parsing from skipping empty values
    • Fix compacting nested arrays
  • deps: raw-body@~2.2.0
  • deps: type-is@~1.6.14
    • deps: mime-types@~2.1.13
Commits

The new version differs by 20 commits .

There are 20 commits in total. See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

bootstrap-loader error on fresh build

The error first occured on my repo when I tried to build it. Then I tried updating my forked repo of yours (I pulled first, delete node_modules, npm install) and rebuild it. The same error happened:

ERROR in ./~/bootstrap-loader/lib/bootstrap.loader.js!./~/bootstrap-loader/no-op.js
Module build failed: Error: 
Could not find 'styleLoaders' in your config.
You can use default ones:
styleLoaders: ['style', 'css', 'sass']

at Object.module.exports.pitch (/home/adam/work/adam/react-redux-universal-hot-example/node_modules/bootstrap-loader/lib/bootstrap.loader.js:174:13)
@ ./~/bootstrap-loader/loader.js 1:17-61
@ multi bootstrap-loader font-awesome-webpack!./src/theme/font-awesome.config.prod.js ./src/client.js

any thoughts?

asset not found:./src/containers/App/App.scss

Hello? Could anyone help me?

I'm using windows10 , after cloning this repo and run "npm install " & "npm run dev", the first time, it throws a lots of error "Expected linebreaks to be 'LF' but found 'CRLF' linebreak-style",

Ctrl+C and "npm run dev" again, it throws error as following:

[1] [webpack-isomorphic-tools] [error] asset not found: ./src/containers/App/App.scss
[1] MOUNT ERROR: TypeError: Cannot read property 'app' of undefined

An in-range update of feathers-authentication-local is breaking the build 🚨

Version 0.3.3 of feathers-authentication-local just got published.

Branch Build failing 🚨
Dependency feathers-authentication-local
Current Version 0.3.2
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

As feathers-authentication-local is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this 💪


Status Details
  • continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details
Commits

The new version differs by 2 commits .

  • db4ad6d 0.3.3
  • 400b1dc Add support for dot notation, fix some whitespace (#8)

See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

Error on fresh install

Hi,

I've just clone the repo and performed npm i . I have the following error coming up:

[0] ERROR in ./src/client.js
[0] Module build failed: SyntaxError: C:/app/src/client.js: Unexpected token (50:2 9)
[0]
[0] 48 | // if (online) app.authenticate().catch(() => null);
[0] 49 |
[0] > 50 | const data = !online ? { ...storedData, ...window.__data, online } : { ...window.__data, online };
[0] | ^
[0] 51 | const store = createStore(browserHistory, client, data, offlinePersistConfig);
[0] 52 | const history = syncHistoryWithStore(browserHistory, store);
[0] 53 |
[0]
[0] BabelLoaderError: SyntaxError: C:/app/src/client.js: Unexpected token (50:29)
[0]
[0] 48 | // if (online) app.authenticate().catch(() => null);
[0] 49 |
[0] > 50 | const data = !online ? { ...storedData, ...window.__data, online } : { ...window.__data, online };
[0] | ^
[0] 51 | const store = createStore(browserHistory, client, data, offlinePersistConfig);
[0] 52 | const history = syncHistoryWithStore(browserHistory, store);
[0] 53 |
[0]
[0] at transpile (C:\app\node_modules\babel-loader\lib\index.js:52:13)
[0] at Object.module.exports (C:\app\node_modules\babel-loader\lib\index.js:13 3:12)
[0] @ multi bootstrap-loader font-awesome-webpack!./src/theme/font-awesome.config.prod.js ./src/client.js
[0]
[0] ERROR in Error: Child compilation failed:
[0] Module build failed: SyntaxError: C:/Users/Sylvain/Documents/App/Perso/Outdoor Cine/OutdoorCine2.6/src/pwa.js: Unexpected token (6:5 7)
[0] 4 |
[0] 5 | export default function () {
[0] > 6 | return <!doctype html>${R eactDOM.renderToStaticMarkup(<Html />)};
[0] | ^
[0] 7 | }
[0] 8 |
[0] :
[0] BabelLoaderError: SyntaxError: C:/Users/Sylvain/Documents/App/Perso/OutdoorCin e/OutdoorCine2.6/src/pwa.js: Unexpected token (6:57)
[0] 4 |
[0] 5 | export default function () {
[0] > 6 | return <!doctype html>${R eactDOM.renderToStaticMarkup(<Html />)};
[0] | ^
[0] 7 | }
[0] 8 |
[0]
[0] - compiler.js:76
[0] [OutdoorCine2.6]/[html-webpack-plugin]/lib/compiler.js:76:16
[0]
[0] - Compiler.js:280 Compiler.
[0] [OutdoorCine2.6]/[webpack]/lib/Compiler.js:280:10
[0]
[0] - Compiler.js:480
[0] [OutdoorCine2.6]/[webpack]/lib/Compiler.js:480:13
[0]
[0] - Tapable.js:138 next
[0] [OutdoorCine2.6]/[tapable]/lib/Tapable.js:138:11
[0]
[0] - CachePlugin.js:62 Compiler.
[0] [OutdoorCine2.6]/[webpack]/lib/CachePlugin.js:62:5
[0]
[0] - Tapable.js:142 Compiler.applyPluginsAsyncSeries
[0] [OutdoorCine2.6]/[tapable]/lib/Tapable.js:142:13
[0]
[0] - Compiler.js:477
[0] [OutdoorCine2.6]/[webpack]/lib/Compiler.js:477:10
[0]
[0] - Tapable.js:131 Compilation.applyPluginsAsyncSeries
[0] [OutdoorCine2.6]/[tapable]/lib/Tapable.js:131:46
[0]
[0] - Compilation.js:640 self.applyPluginsAsync.err
[0] [OutdoorCine2.6]/[webpack]/lib/Compilation.js:640:19
[0]
[0] - Tapable.js:131 Compilation.applyPluginsAsyncSeries
[0] [OutdoorCine2.6]/[tapable]/lib/Tapable.js:131:46
[0]
[0] - Compilation.js:631 self.applyPluginsAsync.err
[0] [OutdoorCine2.6]/[webpack]/lib/Compilation.js:631:11
[0]
[0] - Tapable.js:138 next
[0] [OutdoorCine2.6]/[tapable]/lib/Tapable.js:138:11
[0]
[0] - UglifyJsPlugin.js:140 Compilation.compilation.plugin
[0] [OutdoorCine2.6]/[webpack]/lib/optimize/UglifyJsPlugin.js:140:5
[0]
[0] - Tapable.js:142 Compilation.applyPluginsAsyncSeries
[0] [OutdoorCine2.6]/[tapable]/lib/Tapable.js:142:13
[0]
[0] - Compilation.js:626 self.applyPluginsAsync.err
[0] [OutdoorCine2.6]/[webpack]/lib/Compilation.js:626:10
[0]
[0] - Tapable.js:131 Compilation.applyPluginsAsyncSeries
[0] [OutdoorCine2.6]/[tapable]/lib/Tapable.js:131:46
[0]
[0] - Compilation.js:622 sealPart2
[0] [OutdoorCine2.6]/[webpack]/lib/Compilation.js:622:9
[0]
[0] - Tapable.js:131 Compilation.applyPluginsAsyncSeries
[0] [OutdoorCine2.6]/[tapable]/lib/Tapable.js:131:46
[0]
[0] - Compilation.js:570 Compilation.seal
[0] [OutdoorCine2.6]/[webpack]/lib/Compilation.js:570:8
[0]
[0] - Compiler.js:474
[0] [OutdoorCine2.6]/[webpack]/lib/Compiler.js:474:16
[0]
[0] - Tapable.js:225
[0] [OutdoorCine2.6]/[tapable]/lib/Tapable.js:225:11
[0]
[0] - Compilation.js:472 _addModuleChain
[0] [OutdoorCine2.6]/[webpack]/lib/Compilation.js:472:11
[0]
[0] - Compilation.js:443 processModuleDependencies.err
[0] [OutdoorCine2.6]/[webpack]/lib/Compilation.js:443:13
[0]
[0] - next_tick.js:67 _combinedTickCallback
[0] internal/process/next_tick.js:67:7
[0]
[0] - next_tick.js:98 process._tickCallback
[0] internal/process/next_tick.js:98:9
[0]
[0]
[0] Child html-webpack-plugin for "index.html":
[0] [0] .//html-webpack-plugin/lib/loader.js!./src/pwa.js 697 bytes {0} [built] [failed] [1 error]
[0]
[0] ERROR in ./
/html-webpack-plugin/lib/loader.js!./src/pwa.js
[0] Module build failed: SyntaxError: C:/app/src/pwa.js: Unexpected token (6:5 7)
[0]
[0] 4 |
[0] 5 | export default function () {
[0] > 6 | return <!doctype html>${ReactDOM.renderToStaticMarkup(<Html />)};
[0] | ^
[0] 7 | }
[0] 8 |
[0]
[0] BabelLoaderError: SyntaxError: C:/app/src/pwa.js: Unexpected token (6:57)
[0]
[0] 4 |
[0] 5 | export default function () {
[0] > 6 | return <!doctype html>${ReactDOM.renderToStaticMarkup(<Html />)};
[0] | ^
[0] 7 | }
[0] 8 |
[0]
[0] at transpile (C:\app\node_modules\babel-loader\lib\index.js:52:13)
[0] at Object.module.exports (C:\app\node_modules\babel-loader\lib\index.j s:133:12)
[0] Child extract-text-webpack-plugin:
[0] Asset Size Chunks Chunk Names
[0] 674f50d287a8c48dc19ba404d20fe713.eot 166 kB [emitted]
[0] af7ae505a9eed503f8b8e6982036873e.woff2 77.2 kB [emitted]
[0] fee66e712a8a08eef5805a46892932ad.woff 98 kB [emitted]
[0] b06871f281fee6b241d60582ae9369b9.ttf 166 kB [emitted]
[0] 912ec66d7572ff821749319396470bde.svg 444 kB [emitted] [big]
[0] [0] .//css-loader/lib/css-base.js 1.51 kB {0} [built]
[0] [1] ./
/font-awesome/fonts/fontawesome-webfont.eot 82 bytes {0} [built]
[0] [2] .//font-awesome/fonts/fontawesome-webfont.eot?v=4.7.0 82 bytes {0} [built]
[0] [3] ./
/font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0 84 bytes {0} [built]
[0] [4] .//font-awesome/fonts/fontawesome-webfont.woff?v=4.7.0 83 bytes {0} [built]
[0] [5] ./
/font-awesome/fonts/fontawesome-webfont.ttf?v=4.7.0 82 bytes {0} [built]
[0] [6] .//font-awesome/fonts/fontawesome-webfont.svg?v=4.7.0 82 bytes {0} [built]
[0] [7] ./
/css-loader!.//less-loader!.//font-awesome-webpack/font-awesome-styles.loader.js!./src/theme/font-awesome.config.prod.j s 39.3 kB {0} [built]
[0] [9] .//less-loader/stringify.loader.js!.//font-awesome/less/core.less 466 bytes [built]
[0] [10] .//less-loader/stringify.loader.js!.//font-awesome/less/icons.less 50.5 kB [built]
[0] [11] .//less-loader/stringify.loader.js!.//font-awesome/less/larger.less 385 bytes [built]
[0] [12] .//less-loader/stringify.loader.js!.//font-awesome/less/mixins.less 1.67 kB [built]
[0] [13] .//less-loader/stringify.loader.js!.//font-awesome/less/path.less 788 bytes [built]
[0] [14] .//less-loader/stringify.loader.js!.//font-awesome/less/variables.less 25.7 kB [built]
[0] [15] ./~/less-loader/stringify.loader.js!./src/theme/font-awesome.config.less 121 bytes [built]
[0] + 1 hidden modules
[0]
[0] npm
[0] ERR! Windows_NT 10.0.14393
[0] npm ERR! argv
[0] "C:\Program Files\nodejs\node.exe" "C:\Users\Sylvain\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js" "run" "build"
[0] npm ERR! node v6.7.0
[0] npm ERR! npm v3.10.8
[0] npm ERR! code ELIFECYCLE
[0] npm ERR! [email protected] build: better-npm-run build
[0] npm ERR! Exit status 2
[0] npm ERR!
[0] npm ERR! Failed at the [email protected] build script 'better-npm-run build'.
[0] npm ERR! Make sure you have the latest version of node.js and npm installed.
[0] npm ERR! If you do, this is most likely a problem with the react-redux-universal-hot-example package,
[0] npm ERR! not with npm itself.
[0] npm ERR! Tell the author that this fails on your system:
[0] npm ERR! better-npm-run build
[0] npm ERR! You can get information on how to open an issue for this project with:
[0] npm ERR! npm bugs react-redux-universal-hot-example
[0] npm ERR! Or if that isn't available, you can get their info via:
[0] npm ERR! npm owner ls react-redux-universal-hot-example
[0] npm ERR! There is likely additional logging output above.
[0]
[0] npm ERR! Please include the following file with any support request:
[0] npm ERR! C:\app\npm-debug.log
[0] npm run build exited with code 1

npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os" :"win32","arch":"x64"})
npm WARN [email protected] requires a peer of immutable@^3.0.0 but none was installed.
npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\Program Files\nodejs\node.exe" "C:\Users\Sylvain\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js" "i"
npm ERR! node v6.7.0
npm ERR! npm v3.10.8
npm ERR! code ELIFECYCLE
npm ERR! [email protected] postinstall: concurrently "npm run build" "npm run build-dlls"
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] postinstall script 'concurrently "npm run build" "npm run build-dlls"'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the react-redux-universal-hot-example package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! concurrently "npm run build" "npm run build-dlls"
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs react-redux-universal-hot-example
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls react-redux-universal-hot-example
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! C:\app\npm-debug.log

An in-range update of body-parser is breaking the build 🚨

Version 1.16.1 of body-parser just got published.

Branch Build failing 🚨
Dependency body-parser
Current Version 1.16.0
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

As body-parser is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this 💪


Status Details
  • continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details
Release Notes 1.16.1
  • deps: [email protected]
    • Fix deprecation messages in WebStorm and other editors
    • Undeprecate DEBUG_FD set to 1 or 2
Commits

The new version differs by 5 commits .

See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of webpack-dev-middleware is breaking the build 🚨

Version 1.10.1 of webpack-dev-middleware just got published.

Branch Build failing 🚨
Dependency webpack-dev-middleware
Current Version 1.10.0
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

As webpack-dev-middleware is “only” a devDependency of this project it might not break production or downstream projects, but “only” your build or test tools – preventing new deploys or publishes.

I recommend you give this issue a high priority. I’m sure you can resolve this 💪


Status Details
  • continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details
Release Notes v1.10.1
  • Files with non-ascii names were not getting served (#171).
Commits

The new version differs by 2 commits .

  • 8e870fd 1.10.1
  • 6c1b473 Fix files with non-ascii names not getting served

See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

Plans for the repo?

Hi @bertho-zero! I am glad you have started your own fork with updated dependencies. I was wondering if you plan to maintain this repo for the forseeable future?

If yes, there are a quite a few helpful PRs on the repos which we could consider incorporating here.

Thanks again for maintaining this so far!

An in-range update of express-session is breaking the build 🚨

Version 1.15.1 of express-session just got published.

Branch Build failing 🚨
Dependency express-session
Current Version 1.15.0
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

As express-session is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this 💪


Status Details
  • continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details
Release Notes 1.15.1
  • deps: [email protected]
    • Fix deprecation messages in WebStorm and other editors
    • Undeprecate DEBUG_FD set to 1 or 2
Commits

The new version differs by 3 commits .

See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

Async Auth for Router

Hi,

I'm starting to use this repo for my application. I need to do an async authentication to my API (I'm using an HTTP-only Cookie). Current onEnter handler is:

  const loadAuthIfNeeded = cb => {
    console.log(cb);
    if (!isAuthLoaded(store.getState())) {
      console.log('!isAuthLoaded');
      return store.dispatch(loadAuth()).then(() => cb());
    }
    console.log('isAuthLoaded');
    return cb();
  };

  const checkUser = (cond, replace, cb) => {
    const { auth: { user } } = store.getState();    
    if (!cond(user)) {
      console.log('we need to redirect');
      replace('/404');
    }
    cb();
  };

  const requireLogin = (nextState, replace, cb) => {
    const cond = user => !!user;
    loadAuthIfNeeded(() => checkUser(cond, replace, cb));
  };

For example, route that requires logged in is /login.

Everything is fine everytime I navigate to that route from routes that don't require any authentication check (example, I start from / then I navigate to /login via anchor link). But if I directly access /login from URL address bar of the browser, the page is loading like forever. Page is not loaded. I think there is a problem with cb().

Any thoughts?

An in-range update of morgan is breaking the build 🚨

Version 1.8.1 of morgan just got published.

Branch Build failing 🚨
Dependency morgan
Current Version 1.8.0
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

As morgan is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this 💪


Status Details
  • continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details
Release Notes 1.8.1
  • deps: [email protected]
    • Fix deprecation messages in WebStorm and other editors
    • Undeprecate DEBUG_FD set to 1 or 2
Commits

The new version differs by 2 commits .

See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of node-sass is breaking the build 🚨

Version 4.4.0 of node-sass just got published.

Branch Build failing 🚨
Dependency node-sass
Current Version 4.3.0
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

As node-sass is “only” a devDependency of this project it might not break production or downstream projects, but “only” your build or test tools – preventing new deploys or publishes.

I recommend you give this issue a high priority. I’m sure you can resolve this 💪


Status Details
  • continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details
Release Notes v4.4.0

LibSass

LibSass has been bumped from 3.4.3 to 3.5.0.beta.2. This update brings some more performance improvements and support for CSS Grid Syntax. Check the LibSass changelogs for more information.

Supported Environments

OS Architecture Node
Windows x86 & x64 0.10, 0.12, 1, 2, 3, 4, 5, 6,7
OSX x64 0.10, 0.12, 1, 2, 3, 4, 5, 6, 7
Linux* x86 & x64 0.10, 0.12, 1, 2, 3, 4, 5, 6, 7
Alpine x64 4, 6, 7

*Linux support refers to Ubuntu, Debian, and CentOS 5

Commits

The new version differs by 4 commits .

  • d628b10 4.4.0
  • 323b193 Bump sass-spec for 3.5 features
  • 1f5eaff Merge pull request #1866 from xzyfer/bump-libsass
  • 1b9970a Bump LibSass to 3.5.0.beta.2

See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

Losing password on users.update

Hey, great implementation of feathers into this boilerplate. Loving your work.

I am having a issue when performing a update on a users row in nedb, I am losing the password field. I assume this is happening because of the userHooks.after.all password removal. But I am not sure how that should be adjusted to prevent losing my password property on a update.

export function save(data) {
  return {
    types: [SAVE, SAVE_SUCCESS, SAVE_FAIL],
    id: data._id,
    promise: () => restApp.service('users').update(data._id, { ...data })
  };
}
const userHooks = {
  before: {
    find: [], // auth.hooks.authenticate('jwt'),
    get: [], // auth.hooks.authenticate('jwt'),
    create: [ // unauthenticated route
      validate(),
      hooks.remove('password_confirmation'),
      local.hooks.hashPassword(),
    ],
    update: [
      auth.hooks.authenticate('jwt'),
      restrictToOwner({ ownerField: '_id' })
    ],
    patch: [
      auth.hooks.authenticate('jwt'),
      restrictToOwner({ ownerField: '_id' })
    ],
    remove: [
      auth.hooks.authenticate('jwt'),
      restrictToOwner({ ownerField: '_id' })
    ]
  },
  after: {
    all: hooks.remove('password'),
    find: [],
    get: [],
    create: [],
    update: [],
    patch: [],
    remove: []
  }
};

An in-range update of lighthouse is breaking the build 🚨

Version 1.5.0 of lighthouse just got published.

Branch Build failing 🚨
Dependency lighthouse
Current Version 1.4.1
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

As lighthouse is “only” a devDependency of this project it might not break production or downstream projects, but “only” your build or test tools – preventing new deploys or publishes.

I recommend you give this issue a high priority. I’m sure you can resolve this 💪


Status Details
  • continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details
Commits

The new version differs by 164 commits .

  • 49ed379 1.5.0 (#1680)
  • 6107ffd npmignore core tests, viewer, and extension (#1681)
  • 5503505 Geolocation audit: warn if page is non-secure origin (#1679)
  • 0cb9209 fix: table formatter image preview URL encode (#1678)
  • 85f9b43 ignore URL fragment when asserting page loaded (#1677)
  • 9ac57cb Consolidate viewer functionality into main report (#1594)
  • e7c6c50 refactor: devtools log (#1669)
  • ec5fbe3 perf: tracingModel to computed artifact (#1668)
  • 4e66001 feat: save devtools log (#1665)
  • e54ce75 Report: include partial's css only once (#1652)
  • 9f91ab4 Update Manifest gatherer to use gather error instead of -1 artifact (#1624)
  • c6aeb33 perf: gather all event listeners in parallel (#1667)
  • fc858ea Reorder the runtime environment metadata items: Device, Network, CPU
  • 5403bc3 More concise unit test running (#1650)
  • 08611ab Add inline image preview to table formatter (#1636)

There are 164 commits in total. See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

Load page by checking stored token instead of '/auth/load'

Hi @bertho-zero.

The API I work with only has methods for logging in, which means that it wholly depends on me having to set the tokens on the browser or whatever I can store on the server. In other words, I can't invoke a promise: client => client.get('/auth/load') from the API server.

Is it possible to just invoke, let's say, promise: client => client.get('/users/login'), and store the logged in result somewhere so that it persists until the user has logged out?

Server side rendering not working

Hello!

I'm trying to test the server side rendering on this project, but without success.

Basically, I've:

  1. Clone the project;
  2. npm install
  3. npm run build
  4. npm run start
  5. Disabled javascript from browser and go to http://localhost:8080

But, instead getting the regular page, I'm getting a blank page.
The HTML body has just the <div id="content"></div> element, and nothing else.

Am I doing something wrong?

Thanks!

socketAuth error in incognito happens on first start

I run npm run dev and open localhost:3000 in chrome's incognito window. The page loads just fine until I check the terminal. It shows up an error:

/home/arfianadam/work/adam/react-redux-universal-hot-example/api/services/authentication/socketAuth.js:42
     var accessToken = cookies['feathers-jwt'] || null;
                              ^
 
 TypeError: Cannot read property 'feathers-jwt' of undefined
     at Array.<anonymous> (/home/arfianadam/work/adam/react-redux-universal-hot-example/api/services/authentication/socketAuth.js:15:25)
     at run (/home/arfianadam/work/adam/react-redux-universal-hot-example/node_modules/socket.io/lib/namespace.js:119:11)
     at /home/arfianadam/work/adam/react-redux-universal-hot-example/node_modules/socket.io/lib/namespace.js:127:7
     at Array.<anonymous> (/home/arfianadam/work/adam/react-redux-universal-hot-example/node_modules/feathers-socketio/lib/index.js:27:13)
     at run (/home/arfianadam/work/adam/react-redux-universal-hot-example/node_modules/socket.io/lib/namespace.js:119:11)
     at Namespace.run (/home/arfianadam/work/adam/react-redux-universal-hot-example/node_modules/socket.io/lib/namespace.js:131:3)
     at Namespace.add (/home/arfianadam/work/adam/react-redux-universal-hot-example/node_modules/socket.io/lib/namespace.js:160:8)
     at Client.connect (/home/arfianadam/work/adam/react-redux-universal-hot-example/node_modules/socket.io/lib/client.js:76:20)
     at Server.onconnection (/home/arfianadam/work/adam/react-redux-universal-hot-example/node_modules/socket.io/lib/index.js:367:10)
     at emitOne (events.js:96:13)
 proxy error { Error: connect ECONNREFUSED 127.0.0.1:3030
     at Object.exports._errnoException (util.js:1026:11)
     at exports._exceptionWithHostPort (util.js:1049:20)
     at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1085:14)
   code: 'ECONNREFUSED',
   errno: 'ECONNREFUSED',
   syscall: 'connect',
   address: '127.0.0.1',
   port: 3030 }
 /home/arfianadam/work/adam/react-redux-universal-hot-example/src/server.js:123
     res.writeHead(500, { 'content-type': 'application/json' });
         ^
 
 TypeError: res.writeHead is not a function
     at ProxyServer.<anonymous> (/home/arfianadam/work/adam/react-redux-universal-hot-example/src/server.js:61:9)
     at ProxyServer.emit (/home/arfianadam/work/adam/react-redux-universal-hot-example/node_modules/eventemitter3/index.js:144:27)
     at ClientRequest.onOutgoingError (/home/arfianadam/work/adam/react-redux-universal-hot-example/node_modules/http-proxy/lib/http-proxy/passes/ws-incoming.js:151:16)
     at emitOne (events.js:96:13)
     at ClientRequest.emit (events.js:188:7)
     at Socket.socketErrorListener (_http_client.js:310:9)
     at emitOne (events.js:96:13)
     at Socket.emit (events.js:188:7)
     at emitErrorNT (net.js:1276:8)
     at _combinedTickCallback (internal/process/next_tick.js:74:11)

The thing is, it only shows up on first run. After I rerun the npm run dev, the error won't show up anymore. Maybe it is related to serviceworker or js file cached after the first run?

An in-range update of async is breaking the build 🚨

Version 2.1.5 of async just got published.

Branch Build failing 🚨
Dependency async
Current Version 2.1.4
Type dependency

This version is covered by your current version range and after updating it in your project the build failed.

As async is a direct dependency of this project this is very likely breaking your project right now. If other packages depend on you it’s very likely also breaking them.
I recommend you give this issue a very high priority. I’m sure you can resolve this 💪


Status Details
  • continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details
Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

An in-range update of sw-precache-webpack-plugin is breaking the build 🚨

Version 0.7.2 of sw-precache-webpack-plugin just got published.

Branch Build failing 🚨
Dependency sw-precache-webpack-plugin
Current Version 0.7.1
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

As sw-precache-webpack-plugin is “only” a devDependency of this project it might not break production or downstream projects, but “only” your build or test tools – preventing new deploys or publishes.

I recommend you give this issue a high priority. I’m sure you can resolve this 💪


Status Details
  • continuous-integration/travis-ci/push The Travis CI build failed Details
Commits

The new version differs by 4 commits .

See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

Yeoman generator is there

The first version of yeoman generator is there, his npm package is available here: generator-react-redux-universal

First, install Yeoman and generator-react-redux-universal using npm (we assume you have pre-installed node.js).

npm install -g yo
npm install -g generator-react-redux-universal
> mkdir project && cd project
> yo react-redux-universal
     _-----_     ╭──────────────────────────╮
    |       |    │      Welcome to the      │
    |--(o)--|    │   react-redux-universal  │
   `---------´   │        generator!        │
    ( _´U`_ )    ╰──────────────────────────╯
    /___A___\   /
     |  ~  |     
   __'.___.'__   
 ´   `  |° ´ Y ` 

? Project name project
? Description 
? Would you like an authentication? (uses passport) Yes
? Would you like oauth strategies? (Press <space> to select)Facebook
? Would you like a database? (optional) none (nedb if auth needed)
? Would you like a realtime? (useful for events, uses socket.io) Yes
? Would you like your application to be accessed offline? Yes
? Would you like examples? 
 ◉ Redux-form (widgets, survey)
 ◉ Simple chat socket
 ◉ Secure and persistent chat, even in socket
❯◉ Sample page (about us)

Getting "Node Sass could not find a binding for your current environment" error on fresh install

I'm getting build errors such as the following on a fresh install:

[0]     ERROR in ./~/css-loader?{"modules":true,"importLoaders":2,"sourceMap":true}!./~/autoprefixer-loader?{"browsers":"last 2 version"}!./~/sass-loader?{"outputStyle":"expanded","sourceMap":true,"s
ourceMapContents":true}!./src/containers/Home/Home.scss
[0]     Module build failed: Error: Missing binding /Users/ron/Documents/workingArea/topico/topico-ui2/node_modules/node-sass/vendor/darwin-x64-51/binding.node
[0]     Node Sass could not find a binding for your current environment: OS X 64-bit with Node.js 7.x
[0]
[0]     Found bindings for the following environ
[0] ments:
[0]       - OS X 64-bit with Node.js 6.x
[0]
[0]     This usually happens because your environment has changed since running `npm install`.
[0]     Run `npm rebuild node-sass` to build the binding for your current environment.

Note it's trying to find bindings for Node.js 7 even though I'm on 6.x

Steps:

git clone [email protected]:bertho-zero/react-redux-universal-hot-example.git test
cd test
npm install

Using (installed via nvm):

  • Node v6.9.4
  • NPM 3.10.10

An in-range update of bootstrap-loader is breaking the build 🚨

Version 2.0.0-beta.21 of bootstrap-loader just got published.

Branch Build failing 🚨
Dependency bootstrap-loader
Current Version 2.0.0-exports.1
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

As bootstrap-loader is “only” a devDependency of this project it might not break production or downstream projects, but “only” your build or test tools – preventing new deploys or publishes.

I recommend you give this issue a high priority. I’m sure you can resolve this 💪


Status Details
  • continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details
Commits

The new version differs by 58 commits (ahead by 58, behind by 2).

  • 40854c1 Release 2.0.0-beta.21
  • 2134437 Update Example Dependencies (#261)
  • 30aaabf travis passes (#259)
  • 713747f Update README.md
  • 2d60ddf Update README.md
  • e65d850 Release 2.0.0-beta.19
  • b648833 Updated CHANGELOG.md
  • d62e4f7 Support Webpack2 RCs (#237)
  • 8c42fd5 Update CHANGELOG.md
  • 7c51605 allow styleLoaders config with only environment (#227)
  • 09515c5 Allow styleLoaders to depends to env (#222)
  • 6f254dc Update README.md (#220)
  • 62d8513 Fix broken reference to parent module for examples
  • 1a9de41 Release 2.0.0-beta.16
  • c2ef95f Update all node dependencies (#215)

There are 58 commits in total. See the full diff.

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot 🌴

Callbacks error on server side rendering

Hello!

I'm facing a strange behavior:
My server side rendering is being made correctly but, for some reason, the callback is not being triggered.

Everytime I click on my link, instead calling the callback method passed as props, it's triggering a @@redux/INIT and @@router/LOCATION_CHANGE. But my link is something like:

<a href="#" onClick={() => this.props.myCallback(argument)}></a>

This works well when SSR is disabled.

Also, all the promises defined in @asyncConnect are re-run when I click on the link above.

Any idea why is this happening?

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.