Giter Site home page Giter Site logo

electrode-io / electrode Goto Github PK

View Code? Open in Web Editor NEW
2.1K 49.0 301.0 26 MB

Web applications with node.js and React

License: Other

JavaScript 0.57% CSS 1.54% HTML 96.80% TypeScript 1.09% Stylus 0.01% Shell 0.01%
react universal web-app nodejs redux react-query node-js preact webpack fastify

electrode's Introduction

Electrode Logo
Electrode

Web Applications with node.js and React

The Electrode project was developed to make node.js and React the primary tech choices for developing applications at Walmart. It has been powering the http://www.walmart.com eCommerce website since 2017.

Originally designed for Walmart specific use cases, we open-sourced part of Electrode with the hope that it will be useful to some of you in the JavaScript community. This is the same version that is used to power many applications at Walmart.

What we open-sourced here is the web application development part of Electrode. It focuses on building web apps with the following emphases:

  • large scale micro-frontend architecture
  • universal webapp with server side rendering powered by node.js

Getting Started

Please go to our docs for further information and instructions on using Electrode.

NOTE: We maintain additional code for internal Walmart systems. If you are a Walmart developer, please check internal docs to get started.

Contributing

Do you find Electrode useful for your application development, exploring, or learning node.js and React? Please send us your encouragement with a github star.

Did you find an issue? Would you like to help with the project? Please see our contributing guide for instructions on submitting a PR or reporting an issue.

License

Copyright (c) 2016-present, Walmart

Licensed under the Apache License, Version 2.0

electrode's People

Contributors

1846689910 avatar ameyakoshti avatar ananavati avatar animesh10 avatar arunvishnun avatar ashuverma avatar baer avatar caoyangs avatar christianlent avatar citelao avatar cross311 avatar datvong-wm avatar didi0613 avatar divyakarippath avatar dr-nafanya avatar dstevensio avatar durrab avatar exogen avatar georgeweiler avatar jchip avatar jeffrifwald avatar jmcriffey avatar markbrouch avatar raydecastro avatar scrajesh avatar shubham2811 avatar tiffine-koch avatar vmayakumar avatar yishengjiang99 avatar zenz34 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

electrode's Issues

Logging mechanism in electrode

I cannot find any repository / documentation under electrode.io for the logging. Is there any suggestion for this or do i have to use other 3rd party node library like winston in order to do so ?

style.css and bundle.dev.js 404 immediately after generating new project

Awesome project. I am doing my best to learn it. Thank you.

After creating a new project from the generator both /js/style.css and /js/bundle.dev.js are 404 from the webpack dev server on 2992. But main.style.css and main.bundle.dev.js are there. Updating /server/plugins/webapp/index.js accordingly fixes things.

devJSBundle: http://${devServer.host}:${devServer.port}/js/main.bundle.dev.js, devCSSBundle: http://${devServer.host}:${devServer.port}/js/main.style.css`

Is there something I'm missing?

My set up is,
OSX v10.11.6
Node v6.9.2
npm v4.0.3
yo v1.8.5
gulp v3.9.1
generator-electrode v1.5.1

thanks!

Production node . error missing isomorphic-loader

Hi all,

I'm trying get the production server started on Azure. When I run node . it gives me an error that it can't find isomorphic-loader -- I checked in the installed node_modules on the server and sure enough, it's not there but it does exist locally. Is this supposed to be loaded on production?

Dynamic pageTitle in electrode-react-webapp?

Is there a way to make the page title dynamic? Preferably the rendered title tag, not just the document title in the browser. If someone can lead me in the right direction, I'd be happy to submit a pull request for the boilerplate.

linter errors on /client

/Users/ananava/walmart-oss/electrode-boilerplate-universal-react-node/client/components/csrf.jsx
   6:7   error    Expected indentation of 4 space characters but found 6  indent
   7:7   error    Expected indentation of 4 space characters but found 6  indent
  10:7   error    Expected indentation of 4 space characters but found 6  indent
  11:7   error    Expected indentation of 4 space characters but found 6  indent
  12:5   error    Expected indentation of 2 space characters but found 4  indent
  14:23  error    "shouldFail" is defined but never used                  no-unused-vars
  15:13  error    Strings must use doublequote                            quotes
  16:22  error    Strings must use doublequote                            quotes
  17:17  error    Strings must use doublequote                            quotes
  19:11  error    Strings must use doublequote                            quotes
  19:21  error    Strings must use doublequote                            quotes
  20:11  error    Strings must use doublequote                            quotes
  20:27  error    Strings must use doublequote                            quotes
  21:11  error    Strings must use doublequote                            quotes
  26:25  error    Expected '===' and instead saw '=='                     eqeqeq
  27:38  warning  Unexpected string concatenation                         prefer-template
  29:38  warning  Unexpected string concatenation                         prefer-template
  34:36  warning  Unexpected string concatenation                         prefer-template
  42:23  error    Expected '===' and instead saw '=='                     eqeqeq
  43:40  error    Strings must use doublequote                            quotes
  44:19  error    Expected '!==' and instead saw '!='                     eqeqeq
  44:22  error    Strings must use doublequote                            quotes
  45:11  error    "console" is not defined                                no-undef
  45:11  error    Unexpected console statement                            no-console
  51:36  warning  Unexpected string concatenation                         prefer-template
  68:1   error    Line 68 exceeds the maximum line length of 100          max-len
  70:1   error    Line 70 exceeds the maximum line length of 100          max-len
  71:1   error    Line 71 exceeds the maximum line length of 100          max-len
  75:1   error    Line 75 exceeds the maximum line length of 100          max-len
  76:1   error    Line 76 exceeds the maximum line length of 100          max-len

Error trying to install latest

When running npm install after cloning, I get the following (node 4.2.6 / npm 3.10.7):

(node) warning: possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
    at Socket.addListener (events.js:239:17)
    at Socket.Readable.on (_stream_readable.js:665:33)
    at Request.<anonymous> (/Users/cmcmah3/.nvm/versions/node/v4.2.6/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:153:7)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at ClientRequest.<anonymous> (/Users/cmcmah3/.nvm/versions/node/v4.2.6/lib/node_modules/npm/node_modules/request/request.js:791:10)
    at emitOne (events.js:82:20)
    at ClientRequest.emit (events.js:169:7)
    at tickOnSocket (_http_client.js:483:7)
    at onSocketNT (_http_client.js:495:5)
(node) warning: possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
    at Socket.addListener (events.js:239:17)
    at Socket.Readable.on (_stream_readable.js:665:33)
    at Request.<anonymous> (/Users/cmcmah3/.nvm/versions/node/v4.2.6/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:153:7)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at ClientRequest.<anonymous> (/Users/cmcmah3/.nvm/versions/node/v4.2.6/lib/node_modules/npm/node_modules/request/request.js:791:10)
    at emitOne (events.js:82:20)
    at ClientRequest.emit (events.js:169:7)
    at tickOnSocket (_http_client.js:483:7)
    at onSocketNT (_http_client.js:495:5)
(node) warning: possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
    at Socket.addListener (events.js:239:17)
    at Socket.Readable.on (_stream_readable.js:665:33)
    at Request.<anonymous> (/Users/cmcmah3/.nvm/versions/node/v4.2.6/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:153:7)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at ClientRequest.<anonymous> (/Users/cmcmah3/.nvm/versions/node/v4.2.6/lib/node_modules/npm/node_modules/request/request.js:791:10)
    at emitOne (events.js:82:20)
    at ClientRequest.emit (events.js:169:7)
    at tickOnSocket (_http_client.js:483:7)
    at onSocketNT (_http_client.js:495:5)
(node) warning: possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
    at Socket.addListener (events.js:239:17)
    at Socket.Readable.on (_stream_readable.js:665:33)
    at Request.<anonymous> (/Users/cmcmah3/.nvm/versions/node/v4.2.6/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:153:7)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at ClientRequest.<anonymous> (/Users/cmcmah3/.nvm/versions/node/v4.2.6/lib/node_modules/npm/node_modules/request/request.js:791:10)
    at emitOne (events.js:82:20)
    at ClientRequest.emit (events.js:169:7)
    at tickOnSocket (_http_client.js:483:7)
    at onSocketNT (_http_client.js:495:5)
(node) warning: possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
    at Socket.addListener (events.js:239:17)
    at Socket.Readable.on (_stream_readable.js:665:33)
    at Request.<anonymous> (/Users/cmcmah3/.nvm/versions/node/v4.2.6/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:153:7)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at ClientRequest.<anonymous> (/Users/cmcmah3/.nvm/versions/node/v4.2.6/lib/node_modules/npm/node_modules/request/request.js:791:10)
    at emitOne (events.js:82:20)
    at ClientRequest.emit (events.js:169:7)
    at tickOnSocket (_http_client.js:483:7)
    at onSocketNT (_http_client.js:495:5)
(node) warning: possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
    at Socket.addListener (events.js:239:17)
    at Socket.Readable.on (_stream_readable.js:665:33)
    at Request.<anonymous> (/Users/cmcmah3/.nvm/versions/node/v4.2.6/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:153:7)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at ClientRequest.<anonymous> (/Users/cmcmah3/.nvm/versions/node/v4.2.6/lib/node_modules/npm/node_modules/request/request.js:791:10)
    at emitOne (events.js:82:20)
    at ClientRequest.emit (events.js:169:7)
    at tickOnSocket (_http_client.js:483:7)
    at onSocketNT (_http_client.js:495:5)
(node) warning: possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
    at Socket.addListener (events.js:239:17)
    at Socket.Readable.on (_stream_readable.js:665:33)
    at Request.<anonymous> (/Users/cmcmah3/.nvm/versions/node/v4.2.6/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:153:7)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at ClientRequest.<anonymous> (/Users/cmcmah3/.nvm/versions/node/v4.2.6/lib/node_modules/npm/node_modules/request/request.js:791:10)
    at emitOne (events.js:82:20)
    at ClientRequest.emit (events.js:169:7)
    at tickOnSocket (_http_client.js:483:7)
    at onSocketNT (_http_client.js:495:5)
(node) warning: possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
    at Socket.addListener (events.js:239:17)
    at Socket.Readable.on (_stream_readable.js:665:33)
    at Request.<anonymous> (/Users/cmcmah3/.nvm/versions/node/v4.2.6/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:153:7)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at ClientRequest.<anonymous> (/Users/cmcmah3/.nvm/versions/node/v4.2.6/lib/node_modules/npm/node_modules/request/request.js:791:10)
    at emitOne (events.js:82:20)
    at ClientRequest.emit (events.js:169:7)
    at tickOnSocket (_http_client.js:483:7)
    at onSocketNT (_http_client.js:495:5)
npm ERR! Darwin 15.6.0
npm ERR! argv "/Users/cmcmah3/.nvm/versions/node/v4.2.6/bin/node" "/Users/cmcmah3/.nvm/versions/node/v4.2.6/bin/npm" "install"
npm ERR! node v4.2.6
npm ERR! npm  v3.10.7

npm ERR! No compatible version found: electrode-archetype-react-app-dev@^1.1.0
npm ERR! Valid install targets:
npm ERR! 1.0.0, 0.0.1
npm ERR!
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

samples/universal-material-ui - gulp dev fails with Unhandled rejection SyntaxError:

Did a fresh pull of electrode repo this morning, gulp dev fails.

Running on Windows 10
Node v6.9.4
npm 3.10.10

Quick search says this or something similar to #31

But that says fixed and it doesn't appear to be fixed :)

Register plugins failed { SyntaxError: C:/repo/electrode/samples/universal-material-ui/client/images/nature-600-337.jpg: Unexpected character '�' (1:0)
> 1 | ���� ►JFIF ☺☺☺ ` `  �� ;CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 70
    | ^
  2 | �� C
  3 |♠
  4♂|
    at Parser.pp$5.raise (C:\repo\electrode\samples\universal-material-ui\node_modules\babylon\lib\index.js:4333:13)
    at Parser.getTokenFromCode (C:\repo\electrode\samples\universal-material-ui\node_modules\babylon\lib\index.js:1142:10)
    at Parser.readToken (C:\repo\electrode\samples\universal-material-ui\node_modules\babylon\lib\index.js:771:19)
    at Parser.<anonymous> (C:\repo\electrode\samples\universal-material-ui\node_modules\babylon\lib\index.js:6626:20)
    at Parser.readToken (C:\repo\electrode\samples\universal-material-ui\node_modules\babylon\lib\index.js:5443:22)
    at Parser.nextToken (C:\repo\electrode\samples\universal-material-ui\node_modules\babylon\lib\index.js:761:19)
    at Parser.parse (C:\repo\electrode\samples\universal-material-ui\node_modules\babylon\lib\index.js:1616:10)
    at parse (C:\repo\electrode\samples\universal-material-ui\node_modules\babylon\lib\index.js:6657:37)
    at File.parse (C:\repo\electrode\samples\universal-material-ui\node_modules\babel-core\lib\transformation\file\index.js:527:15)
    at File.parseCode (C:\repo\electrode\samples\universal-material-ui\node_modules\babel-core\lib\transformation\file\index.js:612:20)
    at C:\repo\electrode\samples\universal-material-ui\node_modules\babel-core\lib\transformation\pipeline.js:49:12
    at File.wrap (C:\repo\electrode\samples\universal-material-ui\node_modules\babel-core\lib\transformation\file\index.js:574:16)
    at Pipeline.transform (C:\repo\electrode\samples\universal-material-ui\node_modules\babel-core\lib\transformation\pipeline.js:47:17)
    at Object.transformFileSync (C:\repo\electrode\samples\universal-material-ui\node_modules\babel-core\lib\api\node.js:152:10)
    at compile (C:\repo\electrode\samples\universal-material-ui\node_modules\babel-register\lib\node.js:118:20)
    at loader (C:\repo\electrode\samples\universal-material-ui\node_modules\babel-register\lib\node.js:144:14)
  pos: 0,
  loc: Position { line: 1, column: 0 },
  _babel: true,
  codeFrame: '> 1 | ����\u0000\u0010JFIF\u0000\u0001\u0001\u0001\u0000`\u0000`\u0000\u0000��\u0000;CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 70\n    | ^\n  2 | ��\u0000
C\u0000\n  3 | \u0007\u0007\b\u0007\u0006\n  4 | \b\b\b\u000b' }

    ESERVERSTART

    This error is thrown by the electrode-server module

    There was an error starting the Hapi.js server
    Please check the output of the stack trace below and correct the error shown

    If you have followed this resolution step and you are still seeing an
    error, please file an issue on the electrode-server repository

    git+https://github.com/electrode-io/electrode-server.git

    C:/repo/electrode/samples/universal-material-ui/client/images/nature-600-337.jpg: Unexpected character '�' (1:0)

Unhandled rejection SyntaxError: C:/repo/electrode/samples/universal-material-ui/client/images/nature-600-337.jpg: Unexpected character '�' (1:0)
> 1 | ���� ►JFIF ☺☺☺ ` `  �� ;CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 70
    | ^
  2 | �� C
  3 |♠
  4♂|
    at Parser.pp$5.raise (C:\repo\electrode\samples\universal-material-ui\node_modules\babylon\lib\index.js:4333:13)
    at Parser.getTokenFromCode (C:\repo\electrode\samples\universal-material-ui\node_modules\babylon\lib\index.js:1142:10)
    at Parser.readToken (C:\repo\electrode\samples\universal-material-ui\node_modules\babylon\lib\index.js:771:19)
    at Parser.<anonymous> (C:\repo\electrode\samples\universal-material-ui\node_modules\babylon\lib\index.js:6626:20)
    at Parser.readToken (C:\repo\electrode\samples\universal-material-ui\node_modules\babylon\lib\index.js:5443:22)
    at Parser.nextToken (C:\repo\electrode\samples\universal-material-ui\node_modules\babylon\lib\index.js:761:19)
    at Parser.parse (C:\repo\electrode\samples\universal-material-ui\node_modules\babylon\lib\index.js:1616:10)
    at parse (C:\repo\electrode\samples\universal-material-ui\node_modules\babylon\lib\index.js:6657:37)
    at File.parse (C:\repo\electrode\samples\universal-material-ui\node_modules\babel-core\lib\transformation\file\index.js:527:15)
    at File.parseCode (C:\repo\electrode\samples\universal-material-ui\node_modules\babel-core\lib\transformation\file\index.js:612:20)
    at C:\repo\electrode\samples\universal-material-ui\node_modules\babel-core\lib\transformation\pipeline.js:49:12
    at File.wrap (C:\repo\electrode\samples\universal-material-ui\node_modules\babel-core\lib\transformation\file\index.js:574:16)
    at Pipeline.transform (C:\repo\electrode\samples\universal-material-ui\node_modules\babel-core\lib\transformation\pipeline.js:47:17)
    at Object.transformFileSync (C:\repo\electrode\samples\universal-material-ui\node_modules\babel-core\lib\api\node.js:152:10)
    at compile (C:\repo\electrode\samples\universal-material-ui\node_modules\babel-register\lib\node.js:118:20)
    at loader (C:\repo\electrode\samples\universal-material-ui\node_modules\babel-register\lib\node.js:144:14)

Register plugins is taking a while - If this takes longer than 10 seconds, then
double check your plugins to make sure each one calls next() at the end.

Server will automatically abort after 20 seconds.

Additional URL parameters in production

The following appended to all routes: #/?_k=vs9sfm (just like local development). This clearly isn't ideal, however there doesn't seem to be any documentation on how to handle this?

Edit: so apparently this is just happening all the time, I thought it was something to do with static serving but that's not causing the issue.

gulp dev won't work after YO update

Always worked before. But now when i choose Hapi.js as my server it don't create plugins/webapp and it creates koa-server.js and express-server.js.

Any suggestions?

This is what i get in my terminal:
[16:01:17] Using gulpfile ~/Projects/Private/ioliwer/ioliwer-se/gulpfile.js
[16:01:17] Starting 'dev'...
[16:01:17] Starting '.webpack-dev'...
[16:01:17] Finished '.webpack-dev' after 118 μs
[16:01:17] Starting 'server-dev'...
[16:01:17] Starting 'server-watch-$deps$'...
[16:01:17] Starting '.init-bundle.valid.log'...
[16:01:17] Finished '.init-bundle.valid.log' after 393 μs
[16:01:17] Finished 'server-watch-$deps$' after 2.06 ms
[16:01:17] Starting 'server-watch'...
[16:01:17] Starting 'generate-service-worker'...
[16:01:17] Finished 'generate-service-worker' after 362 μs
[nodemon] 1.11.0
[nodemon] to restart at any time, enter rs
[nodemon] watching: .etmp/bundle.valid.log /Users/ioliwer/Projects/Private/ioliwer/ioliwer-se/server//* /Users/ioliwer/Projects/Private/ioliwer/ioliwer-se/config//*
Entry point configuration is not found, using default entry point...
0% compileevents.js:160
throw er; // Unhandled 'error' event
^

Error: listen EADDRINUSE 127.0.0.1:2992
at Object.exports._errnoException (util.js:1026:11)
at exports._exceptionWithHostPort (util.js:1049:20)
at Server._listen2 (net.js:1257:14)
at listen (net.js:1293:10)
at net.js:1403:9
at GetAddrInfoReqWrap.asyncCallback [as callback] (dns.js:62:16)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:81:10)
[16:01:19] 'server-dev' errored after 1.44 s
[16:01:19] Error: command exit code 1
at error (/Users/ioliwer/Projects/Private/ioliwer/ioliwer-se/node_modules/electrode-gulp-helper/lib/exec.js:6:15)
at shell.exec (/Users/ioliwer/Projects/Private/ioliwer/ioliwer-se/node_modules/electrode-gulp-helper/lib/exec.js:19:29)
at /Users/ioliwer/Projects/Private/ioliwer/ioliwer-se/node_modules/shelljs/src/exec.js:180:7
at ChildProcess.exithandler (child_process.js:213:5)
at emitTwo (events.js:106:13)
at ChildProcess.emit (events.js:191:7)
at maybeClose (internal/child_process.js:877:16)
at Socket. (internal/child_process.js:334:11)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
[16:01:19] 'dev' errored after 1.44 s
[16:01:19] Error in plugin 'run-sequence(server-dev)'
Message:
command exit code 1
Details:
stdout: Entry point configuration is not found, using default entry point...

0% compileevents.js:160
throw er; // Unhandled 'error' event
^

Error: listen EADDRINUSE 127.0.0.1:2992
at Object.exports._errnoException (util.js:1026:11)
at exports._exceptionWithHostPort (util.js:1049:20)
at Server._listen2 (net.js:1257:14)
at listen (net.js:1293:10)
at net.js:1403:9
at GetAddrInfoReqWrap.asyncCallback [as callback] (dns.js:62:16)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:81:10)

Stack:
Error: command exit code 1
at error (/Users/ioliwer/Projects/Private/ioliwer/ioliwer-se/node_modules/electrode-gulp-helper/lib/exec.js:6:15)
at shell.exec (/Users/ioliwer/Projects/Private/ioliwer/ioliwer-se/node_modules/electrode-gulp-helper/lib/exec.js:19:29)
at /Users/ioliwer/Projects/Private/ioliwer/ioliwer-se/node_modules/shelljs/src/exec.js:180:7
at ChildProcess.exithandler (child_process.js:213:5)
at emitTwo (events.js:106:13)
at ChildProcess.emit (events.js:191:7)
at maybeClose (internal/child_process.js:877:16)
at Socket. (internal/child_process.js:334:11)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)

Add directions for running start scripts

This is related to this issue - #88
The documentation is not clear on how to build production bundles locally. The users in this issue is report that it is broken, but it works for @animesh10. It might actually be working, but we don't know the steps for building, etc. Either way, it should it documented somewhere for clarification.

Cannot run on clean install

No errors during clone or npm install. Originally tried on node 4.2.3, then 7.1.0.

Did I do something wrong?

➜ electrode-boilerplate-universal-react-node git:(master) NODE_ENV=development gulp hot
[11:59:57] Using gulpfile ~/Dev/playground/electrode-boilerplate-universal-react-node/gulpfile.js
[11:59:57] Starting 'hot'...
[11:59:57] Starting '.webpack-dev'...
[11:59:57] Finished '.webpack-dev' after 99 μs
[11:59:57] Starting 'server-hot'...
[11:59:57] Starting 'server-watch-$deps$'...
[11:59:57] Starting '.init-bundle.valid.log'...
[11:59:57] Finished '.init-bundle.valid.log' after 6.22 ms
[11:59:57] Finished 'server-watch-$deps$' after 7.71 ms
[11:59:57] Starting 'server-watch'...
[11:59:57] Starting 'generate-service-worker'...
[11:59:57] Finished 'generate-service-worker' after 298 μs
[nodemon] 1.11.0
[nodemon] to restart at any time, enter rs
[nodemon] watching: .etmp/bundle.valid.log /Users/garrett/Dev/playground/electrode-boilerplate-universal-react-node/server//* /Users/garrett/Dev/playground/electrode-boilerplate-universal-react-node/config//*
Entry point configuration is not found, using default entry point...
isomorphic-loader webpack plugin: removed existing config file
70% 1/1 build modules http://localhost:2992/
webpack result is served from http://localhost:2992/js/
content is served from /Users/garrett/Dev/playground/electrode-boilerplate-universal-react-node
webpack bundle is now VALID
webpack report is served from http://localhost:2992/reporter
[nodemon] restarting due to changes...
[nodemon] starting node server/index.js
module.js:474
throw err;
^

Error: Cannot find module 'react/lib/ReactCompositeComponent'
at Function.Module._resolveFilename (module.js:472:15)
at Function.Module._load (module.js:420:25)
at Module.require (module.js:500:17)
at require (internal/module.js:20:19)
at Object. (/Users/garrett/Dev/playground/electrode-boilerplate-universal-react-node/node_modules/electrode-react-ssr-caching/lib/ssr-caching.js:5:33)
at Module._compile (module.js:573:32)
at Object.Module._extensions..js (module.js:582:10)
at Module.load (module.js:490:32)
at tryModuleLoad (module.js:449:12)
at Function.Module._load (module.js:441:3)
[nodemon] app crashed - waiting for file changes before starting...

404 on serverside route created via server plugin

I followed the basic tutorial on the website to create my own plugin to serve as a backend route to mailchimp, it works entirely fine on my local but throws a 404 in production (in this case heroku), and yes I have the process environments set for mailchimp. I'm experiencing this on both this simple implementation and much further built out implementation.

https://murmuring-garden-21141.herokuapp.com/

I have very minimally modified the boilerplate to extend a simple mailchimp subscription to bypass the double optin.

The server route plugin is configured here:

https://github.com/the-couch/mailchimp-electrode/blob/master/server/plugins/mailchimp/index.js

And is called on the client here:
https://github.com/the-couch/mailchimp-electrode/blob/master/client/components/home.jsx

I've also tested it in postman and get the right responses locally but 404s via heroku.

I've reverted my real project to the standard mailchimp embed form, because this error only arose in production, the project is very vanilla in functionality, and I don't use any of the redux/state stuff either just render the single home component here:

https://github.com/the-couch/mailchimp-electrode/blob/master/client/app.jsx

Missing style.css and bundle.dev.js when running gulp dev

Style.css and bundle.dev.js 404'ing when running development mode. Looks like the cache key used in .isomorphic-loader-config.json does not match the key found in isomorphic-assets.json. I can hard set the key in the loader config, but gulp dev rewrites the file each run. Happening in the latest release on a fresh install.

Option to "eject" out of electrode ?

Hi, is it possible (or future plan) to allow users to eject their app out of electrode with all the dependencies inserted into package.json and necessary scripts?

linter errors on server/

/Users/ananava/walmart-oss/electrode-boilerplate-universal-react-node/server/index.js
  3:12  error    Strings must use doublequote    quotes
  3:22  warning  Unexpected function expression  prefer-arrow-callback

/Users/ananava/walmart-oss/electrode-boilerplate-universal-react-node/server/plugins/csrf.js
   3:1  error  Unexpected var, use let or const instead  no-var
  14:5  error  Expected method shorthand                 object-shorthand
  22:5  error  Expected method shorthand                 object-shorthand

/Users/ananava/walmart-oss/electrode-boilerplate-universal-react-node/server/plugins/webapp/index.js
   87:11  error  Expected indentation of 8 space characters but found 10   indent
   88:13  error  Expected indentation of 10 space characters but found 12  indent
   89:11  error  Expected indentation of 8 space characters but found 10   indent
   90:13  error  Expected indentation of 10 space characters but found 12  indent
   91:11  error  Expected indentation of 8 space characters but found 10   indent
   92:13  error  Expected indentation of 10 space characters but found 12  indent
   93:11  error  Expected indentation of 8 space characters but found 10   indent
   94:13  error  Expected indentation of 10 space characters but found 12  indent
   95:11  error  Expected indentation of 8 space characters but found 10   indent
   96:13  error  Expected indentation of 10 space characters but found 12  indent
  148:1   error  Line 148 exceeds the maximum line length of 100           max-len

✖ 16 problems (15 errors, 1 warning)```

Deprecation warnings and HMR

macOS 10.12.1 node 7.0.0

(node:12322) DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
staticPaths Plugin: static files path prefix "dist"

And when I head to /ssrcachingtemplatetype I see an empty page and the warning appear:

(node:12322) DeprecationWarning: Using Buffer without `new` will soon stop working. Use `new Buffer()`, or preferably `Buffer.from()`, `Buffer.allocUnsafe()` or `Buffer.alloc()` instead.

Also HMR doesn't work, WDS simply reloads a page.

Component / Route based async Server-Side Rendering

First, thanks for this project!

I'd like to make an async fetch of data for the redux store, but only for a specific route / component that gets rendered server side. From the docs of 'redux-router-engine' I got this working:

export default function createReduxStore(req) {
  const store = configureStore();

  return Promise.all([
    store.dispatch(yourAction())
    // dispatch any other asynchronous actions here
  ])
  .then(() => store);
}

But with this the 'yourAction' gets dispatched for every route. Is there a way / best-practice to do this only for specific routes / components?

Tank you!

Location of files is needlessly opinionated

This looks like a great boilerplate, but the enforcement of where to put certain files is unnecessary. Ex for specs:

/config/karma/entry.js

var testsReq = require.context("test/client", true, /\.spec.jsx?$/);

It is common (and arguably desirable) to co-locate related files, such as specs with the code against which they assert. Ex

│ client
│ ├─┬ components
│ │ ├─┬ footer
│ │ │ ├── index.css
│ │ │ ├── index.jsx
│ │ │ └── index.spec.jsx
│ │ ├─┬ header
│ │ │ ├── actions.jsx
│ │ │ ├── index.css
│ │ │ ├── index.jsx
│ │ │ └── index.spec.jsx
│ │ │ └── reducers.jsx

The code in the karma entry file could easily be changed to remove the path prefix without breaking existing projects.

P.S. I haven't got far enough into it to deduce whether css etc file locations are similarly opinionated. They were, but #117.

[Windows] Code Coverage not being generated

When running gulp check on Windows 10, code coverage is not being generated properly. Linting is working correctly as are the tests running. It appears the code coverage files are being generated (based on the file stamps as well as the message in the index.html file that is created).

On my Mint Linux machine, the code coverage is working as expected, so I am pretty sure this is just a Windows only issue.

No errors are thrown, the code coverage table in the command line shows 100% coverage, but no files. This is also what is shown in the Index.html. When run on Mint, all files are listed in both locations and code coverage shows that all are 100% except Branches which shows approximately 96%.

**Edited to add more information

How to control SSR CSS classname and a flicker problem.

Running the following

gulp build
gulp server-prod

results in my SSR content having classnames like "filter-menu__menuHeader___1sOcW"
But when the bundled js execs it replaces that with hashed classnames that match the bundled CSS, eg r8t_xEkXa-m0lW__s2ZE- _2dLkwB0yvSEcAXl8as6gOn.
The result is that I see an unstyled page until the js evaluates and corrects the classnames. (a substantial flicker).
I know you can control the names with localIdentName in CSS modules but I cant see where to set that.
Any help is much appreciated.

how to add parser to css

Hi, I want to add Sugar CSS, because I notice that the logic to add the css loaders is in electrode-archetype-react-app/config/webpack/partial/extract.js, and I tried to just add the parser after postcssLoader:

var cssQuery = cssLoader + "?modules&-autoprefixer!" + postcssLoader + "?parser=sugarss";

But when I do this the gulp dev server display:
"webpack bundle is now VALID but has ERRORS"
and no content is rendered.

So how I can add parameters to the postcssLoader and how I can add plugins? thanks for your time.

Is there a HMR mode / live-reload for the component archetype?

I am trying to create my first component using the yo electrode-component generator.

I can run gulp demo and then visit localhost:4000 to see it.

The generator says "with... live-reload" - but I can't seem to get any live reload behaviour.

Making a change in src/components/MyComponent.jsx for example, causes no refresh in the browser. A manual refresh shows the change.

Furthermore, reading the archetype gulpfile there's a couple of relevant looking tasks that are undocumented including gulp hot

I gave that a go and it appears to spin up a webpack dev server but since the demo.hot.js webpack config enters at the demo/demo.jsx file...nothing is actually ReactDOM.render'd as it is in the dev config (where we include demo-server/app.js

So my questions are:

  • Is hot reloading supposed to be available? If so...is it broken? If not... can it be documented?
  • Is gulp demo supposed to have live reloading? If so, any idea why mine doesn't work?

Css source maps is not working properly. Is it possible to have class names instead of hashed names?

During development (dev/hot tasks), I want to see the css class names in a not so hashed fashion.
This is what currently shows: _3kRNMU8RHfZdxA8s_LtRgF 29bopz2RZr8eY8DaYnclXP
Something along the lines of: [name][local]
[hash:base64:5] would be perfect.

Question is, how to enable this behaviour?
ps: I'm running the project on express, if it helps.

I've been looking at past issues as well, and tried and empty call to cssModuleHook(), and even made it so, that the generateScopedName returned only the name, both to no success.

Add an .eslintrc so editors can lint

I got linting to work by adding a basic .eslintrc file:

{
"extends": "./node_modules/electrode-archetype-react-app/config/eslint/.eslintrc-react"
}

(this, of course, could be configured to use the other eslint files present)

With Pull 35 in the app archetype, it will be possible for developers to override electrode defaults rules.

Windows 10 - Cannot run Gulp Check due to Sinon errors

I've been trying to get our tests running from a Generated Component project, but have not been able to get any further than linting as Sinon is causing problems.

Here is what I am seeing from my console (truncated to show only the important pieces):

17 12 2016 12:32:23.618:INFO [karma]: Karma v0.13.22 server started at http://localhost:8080/
17 12 2016 12:32:23.634:INFO [launcher]: Starting browser PhantomJS
17 12 2016 12:32:24.044:INFO [PhantomJS 1.9.8 (Windows 8 0.0.0)]: Connected on socket akvOIblAU_ceFTgQAAAA with id 21202378
PhantomJS 1.9.8 (Windows 8 0.0.0) ERROR
Error: Cannot find module './sinon/util/core'.
at F:/@Salucro/salucro-reactor-common/node_modules/electrode-archetype-react-component/config/karma/entry.js:49021

PhantomJS 1.9.8 (Windows 8 0.0.0): Executed 0 of 0 ERROR (0.094 secs / 0 secs)

Unfortunately this is a blocking issue for us as it makes zero sense to continue writing components when we cannot test them through the component archetypes.

I've spent more than an hour researching the issue, but cannot get past the error. I've verified that the node_modules/sinon/lib/sinon/util folder exists and there is a core module there. Seems like some sort of pathing issue based on the cannot find module error.

Also tried generating another component project and just running gulp check as soon as it is generated and NPM modules are installed. Same result

Confused how to run server tests in watch mode

I've tried gulp server-test and gulp test-watch-all but I can't for the life of me figure out how to setup auto-running server-side tests.

I can run tests manually with gulp test-dev, but the other two just start up a file browser at localhost:3001.

How do I do this?

Uncaught TypeError: (0 , _history.createHistory) is not a function

Hi

Cloning this repo fresh and running npm i followed by NODE_ENV=development gulp hot results in this error in the console:

Uncaught TypeError: (0 , _history.createHistory) is not a function

pointing to this line (29) of client/app.jsx:

<Router history={createHistory()}>{routes}</Router>

any ideas?

Extend eslint to add custom rules

Hi, is there any way to extend eslint in order to add custom rules ? I've tried to add .eslintrc to the project but it's not used when running gulp check.
Thanks.

Server side render silently fails

I suspect that this error exists within the electrode yeomon generator but wasn't sure where to report it.

Problem: When server side rendering fails it does so without any indication to the developer.

Symptoms: When hitting the server the page will silently fail to render on the server and depending on the application's structure there may be no indication aside from when viewing the page source.

Reproduction Steps

  1. Clone this repo
  2. Make a circular object structure in the store (diff below has an example).
  3. Start the server and hit the website.
# Example circular object structure
$ git diff
diff --git a/server/plugins/webapp/index.js b/server/plugins/webapp/index.js
index 18283b8..2403fb2 100644
--- a/server/plugins/webapp/index.js
+++ b/server/plugins/webapp/index.js
@@ -82,6 +82,7 @@ function makeRouteHandler(options, userContent) {
     };

     const renderPage = (content) => {
+      console.log(content);
+      // output:
+      // { status: 500,
+      //   message: 'Converting circular structure to JSON',
+      //   path: undefined,
+      //   _err: [TypeError: Converting circular structure to JSON] }
+      // { status: 404,
+      //   message: 'redux-router-engine: Path /favicon.ico not found' }
       return html.replace(/{{[A-Z_]*}}/g, (m) => {
         switch (m) {
         case CONTENT_MARKER:
diff --git a/server/views/index-view.jsx b/server/views/index-view.jsx
index bb8ff08..4cde790 100644
--- a/server/views/index-view.jsx
+++ b/server/views/index-view.jsx
@@ -9,8 +9,13 @@ import rootReducer from "../../client/reducers";
 function storeInitializer(req) {
     let initialState;
     if(req.path === "/") {
+
+      var myObject = {member:{}};
+      myObject.member.child = {};
+      myObject.member.child.parent = myObject.member;
       initialState = {
-        data: "This data is obtained from Redux store"
+        data: "This data is obtained from Redux store",
+        myObject: myObject
       };
     } else if(req.path === "/ssrcachingtemplatetype") {
       initialState = {

Production bundle errors

There is either a problem building the production bundle, or pathing to the correct files are broken.

Running npm run prod results in path errors when loading style.*.css, as well as bundles.*.css From loading the main page of the boilerplate.

Running gulp build, then npm run prod seemingly generates the bundles, but the bundles (css & js) are both empty, with what looks to be the contents of index.html

Disabling local scope by default for css

How can I do that ?
The only information I see about the default local scope is how great it is, but nowhere how to turn that off, I don't need it.
I noticed several modules related to that, but as newcomer it just looks like a disastrously mishandled undertaking *


Also on a new note (not opening different issue since it's minor) the webpack reporter doesn't seems to be working with fresh clone of this repo (my dev environment is a ubuntu 16.x based distro with lts node)

TypeError: Cannot read property '1' of null
    at ModuleProcessor._splitPathName (/home/tsvetant/w.storm/simple-boilerplate/node_modules/electrode-webpack-reporter/lib/module-processor.js:55:18)
    at Object.keys.forEach (/home/tsvetant/w.storm/simple-boilerplate/node_modules/electrode-webpack-reporter/lib/module-processor.js:83:26)
    at Array.forEach (native)
    at ModuleProcessor.makeModulesByPackage (/home/tsvetant/w.storm/simple-boilerplate/node_modules/electrode-webpack-reporter/lib/module-processor.js:82:37)
    at Object.getModulesByPkg (/home/tsvetant/w.storm/simple-boilerplate/node_modules/electrode-webpack-reporter/lib/stats-utils.js:33:29)
    at Object.json (/home/tsvetant/w.storm/simple-boilerplate/node_modules/electrode-webpack-reporter/lib/webpack-reporter.js:78:34)
    at ServerResponse.res.format (/home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/response.js:628:13)
    at WebpackReporter._webReport (/home/tsvetant/w.storm/simple-boilerplate/node_modules/electrode-webpack-reporter/lib/webpack-reporter.js:71:9)
    at Layer.handle [as handle_request] (/home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/router/layer.js:95:5)
    at next (/home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/router/route.js:131:13)
    at Route.dispatch (/home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/router/layer.js:95:5)
    at /home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/router/index.js:277:22
    at Function.process_params (/home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/router/index.js:330:12)
    at next (/home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/router/index.js:271:10)
    at expressInit (/home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/middleware/init.js:33:5)
TypeError: Cannot read property '1' of null
    at ModuleProcessor._splitPathName (/home/tsvetant/w.storm/simple-boilerplate/node_modules/electrode-webpack-reporter/lib/module-processor.js:55:18)
    at Object.keys.forEach (/home/tsvetant/w.storm/simple-boilerplate/node_modules/electrode-webpack-reporter/lib/module-processor.js:83:26)
    at Array.forEach (native)
    at ModuleProcessor.makeModulesByPackage (/home/tsvetant/w.storm/simple-boilerplate/node_modules/electrode-webpack-reporter/lib/module-processor.js:82:37)
    at Object.getModulesByPkg (/home/tsvetant/w.storm/simple-boilerplate/node_modules/electrode-webpack-reporter/lib/stats-utils.js:33:29)
    at Object.json (/home/tsvetant/w.storm/simple-boilerplate/node_modules/electrode-webpack-reporter/lib/webpack-reporter.js:78:34)
    at ServerResponse.res.format (/home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/response.js:628:13)
    at WebpackReporter._webReport (/home/tsvetant/w.storm/simple-boilerplate/node_modules/electrode-webpack-reporter/lib/webpack-reporter.js:71:9)
    at Layer.handle [as handle_request] (/home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/router/layer.js:95:5)
    at next (/home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/router/route.js:131:13)
    at Route.dispatch (/home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/router/layer.js:95:5)
    at /home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/router/index.js:277:22
    at Function.process_params (/home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/router/index.js:330:12)
    at next (/home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/router/index.js:271:10)
    at expressInit (/home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/middleware/init.js:33:5)
TypeError: Cannot read property '1' of null
    at ModuleProcessor._splitPathName (/home/tsvetant/w.storm/simple-boilerplate/node_modules/electrode-webpack-reporter/lib/module-processor.js:55:18)
    at Object.keys.forEach (/home/tsvetant/w.storm/simple-boilerplate/node_modules/electrode-webpack-reporter/lib/module-processor.js:83:26)
    at Array.forEach (native)
    at ModuleProcessor.makeModulesByPackage (/home/tsvetant/w.storm/simple-boilerplate/node_modules/electrode-webpack-reporter/lib/module-processor.js:82:37)
    at Object.getModulesByPkg (/home/tsvetant/w.storm/simple-boilerplate/node_modules/electrode-webpack-reporter/lib/stats-utils.js:33:29)
    at Object.json (/home/tsvetant/w.storm/simple-boilerplate/node_modules/electrode-webpack-reporter/lib/webpack-reporter.js:78:34)
    at ServerResponse.res.format (/home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/response.js:628:13)
    at WebpackReporter._webReport (/home/tsvetant/w.storm/simple-boilerplate/node_modules/electrode-webpack-reporter/lib/webpack-reporter.js:71:9)
    at Layer.handle [as handle_request] (/home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/router/layer.js:95:5)
    at next (/home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/router/route.js:131:13)
    at Route.dispatch (/home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/router/layer.js:95:5)
    at /home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/router/index.js:277:22
    at Function.process_params (/home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/router/index.js:330:12)
    at next (/home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/router/index.js:271:10)
    at expressInit (/home/tsvetant/w.storm/simple-boilerplate/node_modules/express/lib/middleware/init.js:33:5)

edit To rephrase my question: How do I set in the config the 'options.mode' for postcss.plugin ? So far I did the ugly thing of editing the postcss-modules-local-by-default module defining options.mode = 'global';, but this ain't real solution.

Any documentation about code splitting?

Hey guys,

I've been looking your repos but I can't find any documentation about code splitting. There is any docs explain how to deal with it?

We're building a big SPA and code splitting is very necessary.

gulp test-frontend-cov fails in Sierra

Running gulp test-frontend-cov causes the error: [launcher]: Cannot start PhantomJS

This appears to be caused be a 1.x version of PhantomJs instead of 2.x. The latest version of electrode-archetype-react-app-dev seems to be installing PhantomJs version 1.9.

To fix this I added PhantomJs version 2.1.7 to my dev dependencies and installed it. It fixes the issue.

It really seems like this should fixed somewhere in the electrode-archetype-react-app-dev, so that phantom 2.x is installed instead of phantom 1.x when electrode-archetype-react-app-dev is being installed.

React-resolver removed?

Was this removed from the project? Listed in the docs (http://www.electrode.io/docs/whats_inside.html):

If you have a universal application and server-side rendering, react-resolver handles bootstrapping server-rendered markup via Resolver.render instead of ReactDOM.render.

But I don't see it anywhere in a new project generated via yo

electrode and work with firebase.js

Hey,
This might not be the best place to post this, but I'm wondering if it would be a good idea to create a boilerplate that has all the includes of this package, but tailored to people who use firebase.js for authentication and such? I know firebase.js is heavily being promoted by google and a repo with firebase.js in it will be quite helpful to others.

[HMR] Cannot apply update. Need to do a full reload!

Hi guys,

we started to use electrode to build our webApp moving away from a custom configuration. What I notice is that there is a issue with webpack hot reloader. The app is losing the state every time that I apply a change and this is what the use of hot-reloader is suppose to avoid.

I'm running the dev server using gulp hot and every time that I apply a change the server is restarted because of this error:

[HMR] Cannot apply update. Need to do a full reload!

[HMR] Error: Aborted because 786 is not accepted
    at hotApply (http://127.0.0.1:2992/js/main.bundle.dev.js:391:31)
    at hotUpdateDownloaded (http://127.0.0.1:2992/js/main.bundle.dev.js:304:13)
    at hotAddUpdateChunk (http://127.0.0.1:2992/js/main.bundle.dev.js:284:13)
    at webpackHotUpdateCallback (http://127.0.0.1:2992/js/main.bundle.dev.js:5:12)
    at http://localhost:2992/js/0.41f46421a9e3394cf431.hot-update.js:1:1

I'm using

if (module.hot) {
   module.hot.accept();
 }

but this doesn't fix the issue. any suggestion? thanks a milion

clean up README

split into 2 steps

  1. if forking/cloning follow these steps, etc...
  2. if you want to use generator use these steps...

webpack-dashboard integration?

Really like the looks of this project, and am excited to dig into it in the coming weeks.

My initial question has to do with tooling, not core tech: are there any plans to incorporate webpack-dashboard into the dev environment? I've grown to really value it, and I think it could be particularly helpful in this case as well.

If there's interest, I can also look into a PR to get it up and running.

screen shot 2016-10-15 at 17 59 30

Cannot load images

I added this line into home.jsx after a fresh clone:

import testImage from '../images/test.png';

And I got this error after running gulp dev:

Register plugins failed { SyntaxError: ... Development/node/electrode-boilerplate-universal-react-node/client/images/test.png: Unexpected character '�' (1:0)...

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.