Giter VIP home page Giter VIP logo

breko-hub's Introduction

Github workflow status

Babel React Koa - Hot Universal Boilerplate

Breko Hub

Greenkeeper badge

Breko hub is a github repository that helps anyone create new JavaScript applications. Giving you a technically sound and well tested starting point for your application.

Why?

Create-React-App, Razzle, NextJS, etc... are fantastic alternatives!

The reason for Breko-hub is that it comes with some extras:

  • test setup for integration on client and server
  • test setup with additional helpers
  • config management
  • accessibility features on routing
  • code splitting configuration
  • configuration for linting
  • it's not a framework, tool or library -- so everything is transparent!

Why not?

  • The community around the alternatives are much bigger!
  • There's more exposed configuration
  • The documentation is lacking because
  • tomatau: "I might stop supporting it one day, although I don't intend to!"
  • The alternatives have some very nice features!

Documentation

https://tomatao.gitbooks.io/breko-hub/content/ (outdated)

Features

  • Quick setup universal SPAs
  • Universal redux architecture
  • Hot reloading of CSS-modules
  • Fast server side hot updates
  • Babel 7 codebase everywhere
  • A comprehensive integration and unit test suite
  • A lucid code-base
  • Great debugging tools!

Prerequsits

Breko-hub will only work on node version 6 and above as it is making use of Koa v2 along with polyfills for async/await syntax. To make it work on a lower version of node, the runtime compilation would need to be applied to koa and other node_modules.

Quick Start

Use the following commands to get started on your new app using breko-hub.

git clone --depth=1 [email protected]:tomatau/breko-hub.git <directory-name>
cd <directory-name>
rm -rf .git
git init
npm i
mv example.env .env
npm start

With the default .env file, this will start your application in development mode on port 9001. It also provides a configuration for running the debugger with a useful console output.

Open a browser window at localhost:9001.

You'll see example routes that demonstrate API calls and flash messages after redirects.

You can remove the example code for a cleaner starting point by running:

npm run remove-examples

This is a one time operation that can't be undone, it's also advised to run this before you start making any changes as it will hard replace some ./src files.

Blog

There is also a new blog that documents some of the techniques used in breko-hub. The blog was also created using breko-hub as a starting point.

Libraries

Breko hub uses the following libraries at its core:

Build tools
Server
  • koa - A lightweight server framework.
  • koa-router - Router middleware for koa.
  • socket.io - A node engine for WebSocket communication.
  • redux-via-socket.io - An adapter for sharing redux actions over WebSockets.
Universal Application
Utility
  • lodash - A popular modular utility library.
  • ramda - A modular utility library focused on functional programming.
Styling
  • SCSS - A popular CSS preprocessor.
  • PostCSS - CSS transformations with JavaScript.
  • css-modules - A build step for modular, local scoped CSS management.

Commands

Developing

npm run start [-- --open]

Builds and serves app with hot reloading and debugging support.

Build client-side app

Change your NODE_ENV to "production", you can do this is .env file or your hosted environment.

npm run build

Creates bundles and assets into ./src/static directory. Reads .env but always uses production Webpack configuration.

Start the server in production

Set the NODE_ENV flag to production in your .env file.

npm start

Expects bundles and assets to exist in the ./src/static directory. Runs the server in production mode.

Unit test single run

npm run test:unit

Runs the test suite in a node environment through mocha, once.

integration tests run

npm run test:int

Runs integration tests inside ./test/integration directory.

Lint

npm run lint:js
npm run lint:styles

Reads .eslintrc and sass-lint.yml for linting configurations.

Coverage

npm run coverage
npm run coverage:check

Reads .istanbul.yml for thresholds in check.

Unit test development server (BROKEN)

npm run test:server

Start a test server using Mocha and Webpack-middleware. Provides a browser based testing environment. Loading tests from within ./src where extension is .test.js.

Configuration

Change anything you want! It's all exposed and for you! <3

Docker

There's a starting docker images you can use to get going. You'll probably wanr to modify the Dockerfile to your needs.

# production image built with assets
$ docker build --compress -t your-username/your-app-name .
# runs `npm start` with port at 9001
$ docker run -p 9001:9001 your-username/your-app-name

breko-hub's People

Contributors

believer-ufa avatar crra avatar danwad avatar greenkeeper[bot] avatar greenkeeperio-bot avatar mclouvem avatar tomatau 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

breko-hub's Issues

Upgrade sagas

Make use of select effects instead of the getState calls.

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

There have been updates to the babel7 monorepo:

    • The dependency @babel/core was updated from 7.1.1 to 7.1.2.

🚨 View failing branch.

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

This monorepo update includes releases of one or more dependencies which all belong to the babel7 group definition.

babel7 is a direct dependency of this project, and it is very likely causing it to break. If other packages depend on yours, this update is probably also breaking those in turn.

Status Details
  • ci/circleci: checkout: Your tests passed on CircleCI! (Details).
  • ci/circleci: install: Your tests failed on CircleCI (Details).

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Preload state with async API call

I tried to do server side rendering with this project and I wanted to preload the state with a data that is fetched from API. It seems I did it wrongly. Can anyone help? This is what I added in render-app middleware in server directory.

return function renderApp(ctx){
        ctx.store.dispatch({
            type: LOCATION_CHANGE,
            payload: ctx.history.location
        })
        // dispatch locale action
        ctx.store.dispatch(apiFetch()) // this is what I added

        let modules = []
        const __html = ReactDOMServer.renderToString(
            <Loadable.Capture report={mod => modules.push(mod)}>
                {app.ImageSearch(ctx.store, ctx.history, StaticRouter)}
            </Loadable.Capture>
        )

        if(isClientRedirect(ctx.history.action)) {
            log('302 redirect to', ctx.history.location.pathname)
            ctx.status = 302
            ctx.redirect(ctx.history.location.pathname)
        } else {
            log('setting html response body')
            ctx.response.body = makeHtmlBody({
                headScripts: compact([
                    javascripts.head,
                    getBundles(require(LOADABLE), modules).map(b => b.file)
                ]),
                headStyles: compact([ styles.imagesearch, styles.head ]),
                bodyScripts: compact([ javascripts.imagesearch ]),
                stringScripts: [
                    `window.__INITIAL_STATE__ = ${
                        JSON.stringify(ctx.store.getState(), null, isEnv('development') && 2)
                    }`
                ],
                content: [ {
                    id: CONTAINER_ELEMENT_ID,
                    dangerouslySetInnerHTML: { __html }
                } ]
            })
        }
    }

Please help..... Thanks in advance

error

npm ERR! Darwin 15.0.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "dev"
npm ERR! node v5.0.0
npm ERR! npm  v3.3.6
npm ERR! code ELIFECYCLE
npm ERR! [email protected] dev: `node ./scripts/babel.entry.js --dev`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] dev script 'node ./scripts/babel.entry.js --dev'.
npm ERR! This is most likely a problem with the breko-hub package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node ./scripts/babel.entry.js --dev
npm ERR! You can get their info via:
npm ERR!     npm owner ls breko-hub
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/user/git/breko-hub/npm-debug.log

More PostCSS

It's good stuff, lets get more in there as default, like minification hacks.

Problems with babel-polyfill and debug

Hi, I'm trying this boilerplate for one of my personal projects. Two problems that I faced at the very beginning:

  1. babel-polyfill works only when I explicitly call babel-register with presets like this:
    require("babel-register")({ presets: [ 'es2015', 'react', 'stage-0'], plugins: [ "add-module-exports", "babel-root-import", "react-require", ["provide-modules", { "debug": "debug" }] ] });
    It seems that it ignores .babelrc. So how can I fix it without calling require("babel-register") explicitely/
  2. debug doesn't work with babel-polyfill. I tried various configurations (exact as in the boilerplate, explicitly requiring debug), but it works only when I remove babel-polyfill at all. Any thoughts how to work around this?

Thanks.

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

Version 3.4.0 of mocha just got published.

Branch Build failing 🚨
Dependency mocha
Current Version 3.3.0
Type devDependency

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

As mocha 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
  • ci/circleci Your tests failed on CircleCI Details

Release Notes v3.4.0

Mocha is now moving to a quicker release schedule: when non-breaking changes are merged, a release should happen that week.

This week's highlights:

  • allowUncaught added to commandline as --allow-uncaught (and bugfixed)
  • warning-related Node flags

🎉 Enhancements

🐛 Fixes

🔩 Other

Commits

The new version differs by 9 commits0.

  • 7554b31 Add Changelog for v3.4.0
  • 9f7f7ed Add --trace-warnings flag
  • 92561c8 Add --no-warnings flag
  • ceee976 lint test/integration/fixtures/simple-reporter.js
  • dcfc094 Revert "use semistandard directly"
  • 93392dd no special case for macOS running Karma locally
  • 4d1d91d --allow-uncaught cli option
  • fb1e083 fix allowUncaught in browser
  • 4ed3fc5 Add license report and scan status

false

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 🌴

React 15.0-rc

Let's rock it

  • this will enable better functional testing around the server render as there is no more data-reactid pollution, only the top checksumid to consider.

How to edit the expected server-side state?

Hi - I added a redux store called auth, and now the test Server Side Render -> renders initial state from store is failing. I see that the rendered state contains the key auth along with the initial state of the reducer, but the expected state does not contain this key.

I've been looking all over the repo to figure out where the expected state is created but I'm a bit lost. Any pointers?

Thanks!

update loadCSS

new version out. already used in tomatao-blog

might be worth using some es6 and making it easier to read?

alternatively could just inline it for even further optimisation.

Update react-router-redux

It's using a history enhancer now (like we did in breko hub a while back! smug)

Let's upgrade it!

React Router 4

There's a branch in progress for react-router 4 and overall it offers many improvements to current master.

Some key points:

  • Support for server side prefetch has become more route config based. This isn't really an MVP for breko-hub so is being removed. I hope to document some options for server side prefetch or maybe a better solution will start to shine through.
  • The current functional testing strategy is very coupled to implementation. I'd like to remove this coupling. Maybe an IoC container or a simple contract for the SSR to inject the routing/components/store/history.

Semantic UI icon fonts displayed as squares

I've been searching through all other solutions, and semantic seems to be working correctly, all css is loaded correctly, and icon font reference codes are correct. It feels like the font isn't being delivered to the client.

Default webpack configs.

With a default install of semantic ui, all of the fonts are built:

[./src/assets/semantic/dist/themes/default/assets/fonts/icons.eot] 82 bytes {mini-css-extract-plugin} [built]

Css is correct in body[hash].css

@font-face{font-family:Icons;src:url(/8e3c7f5520f5ae906c6cf6d7f3ddcd19.eot);.<more src references>

style shows correct icon code that matches css

i.icon.paragraph:before {
    content: "\F1DD";
}

There are also flag png files that are loaded and display correctly in the same folder structure.

Semantic takes care of all of it's styles, so, what am I missing?

Preloading data from backend before SSR

Sorry, but i did not understand. I trying launch boilerplate in production mode, but even in it it do not preloading "bar" module data.

Boilerplate doesn't provide preloading data from api before SSR render, right?)

Strange, as i see, many boilerplates don't care about it, but without rendering data from backend on SSR - it does not work completely isomorphic.

Update dependencies

Hi @tomatau!

I've update Koa to 1.1.2 and Reac-router to 2.0.0-rc5. Is there some reason why you didn't do it yet?

If you agree, I'll submit a PR.

Windows path bug in css-modules

I've an issue where CSS Grid styles aren't applied on initial app load, but will hot-load if they are changed. In trouble-shooting I get the following error in the client. I've tried to change the localIdentName in the dev and prod configs, but the server path is always the full path from C:\. I'm not sure if it's related.. So perhaps this is two issues.

Warning: Prop className did not match. Server: "<localPathRedacted>app\\components\\HeadNavigation\\app-components-HeadNavigation-module-active" Client: "HeadNavigation-module-active"

Store as global for server-side?

Is it just me or is the redux store global, so every request from one use for one session will affect the initial store state sent to client for others?

Can't be started on Windows

Hello,

on OSX and Linux it works fine, but Windows (7|10) is throwing errors.

$ npm start

> [email protected] start breko-hub
> node ./src/server-entry.js

clean-webpack-plugin: breko-hub\src\static has been removed.
./src/styles/main.scss
Module parse failed: breko-hub\src\styles\main.scss Unexpected character '@' (2:0)
You may need an appropriate loader to handle this file type.
| // placeholder file
| @import '~vars';
| @import '~tao-scss/index';
|
 @ multi babel-polyfill ./src/app/entry.js ./src/styles/main.scss
./src/app/main.js
Module parse failed: breko-hub\src\app\main.js Unexpected token (33:2)
You may need an appropriate loader to handle this file type.
|
| export const Main = (
|   <Provider store={store}>
|     <Router history={history} onUpdate={onRouteUpdate}>
|       {makeRoutes()}
 @ ./src/app/entry.js 5:0-36
 @ multi babel-polyfill ./src/app/entry.js ./src/styles/main.scss
./src/app/utils/index.js
Module parse failed: breko-hub\src\app\utils\index.js Unexpected token (1:7)
You may need an appropriate loader to handle this file type.
| export get from './get'
| export typeToReducer from 'type-to-reducer'
| export * as request from './request'
 @ ./src/app/entry.js 2:0-33
 @ multi babel-polyfill ./src/app/entry.js ./src/styles/main.scss
./src/app/components/DevTools/DevTools.js
Module parse failed: breko-hub\src\app\components\DevTools\DevTools.js Unexpected token (7:2)
You may need an appropriate loader to handle this file type.
|
| export default createDevTools(
|   <DockMonitor
|     toggleVisibilityKey='ctrl-h'
|     changePositionKey='ctrl-q'>
 @ ./src/app/composition/makeCreateStore.js 4:0-55
 @ ./src/app/composition/store.js
 @ ./src/app/entry.js
 @ multi babel-polyfill ./src/app/entry.js ./src/styles/main.scss
./src/app/reducers/flash.reducers.js
Module parse failed: breko-hub\src\app\reducers\flash.reducers.js Unexpected token (14:4)
You may need an appropriate loader to handle this file type.
|
|   [ REMOVE_MESSAGE ]: (state, action) => ({
|     ...state,
|     messages: filter(
|       flash => flash.id !== getFlashId(action),
 @ ./src/app/reducers/index.js 3:0-57
 @ ./src/app/composition/store.js
 @ ./src/app/entry.js
 @ multi babel-polyfill ./src/app/entry.js ./src/styles/main.scss
./src/app/reducers/bar.reducers.js
Module parse failed: breko-hub\src\app\reducers\bar.reducers.js Unexpected token (16:6)
You may need an appropriate loader to handle this file type.
|   [ API_FETCH ]: {
|     PENDING: () => ({
|       ...initialState,
|       isPending: true,
|     }),
 @ ./src/app/reducers/index.js 4:0-51
 @ ./src/app/composition/store.js
 @ ./src/app/entry.js
 @ multi babel-polyfill ./src/app/entry.js ./src/styles/main.scss
./src/app/reducers/foo.reducers.js
Module parse failed: breko-hub\src\app\reducers\foo.reducers.js Unexpected token (15:4)
You may need an appropriate loader to handle this file type.
|
|   [ GET ]: (state, action) => ({
|     ...state,
|     data: getFoo(action),
|   }),
 @ ./src/app/reducers/index.js 5:0-51
 @ ./src/app/composition/store.js
 @ ./src/app/entry.js
 @ multi babel-polyfill ./src/app/entry.js ./src/styles/main.scss
webpack built 6699a20433e5eccff0c7 in 10087ms

Mocha doesn't terminate

Mocha doesn't terminate during integration test run using ./scripts/test/int.sh, and suspect this because the mocha developers decided to change the mocha termination behavior starting v4.0.0. This answer explains it. Should we add the --exit flags to int.sh and unit.sh? (Please do note that unit.sh is terminating however)

Configuration:

mocha (global): 5.2.0
node: v10.7.0

Add Functional/Integration Tests

Working on this locally to get things clean before pushing the changes in.

  • add functional setup
  • write tests for server side render
  • write tests for server side api
  • write tests for client side render

Authentication

@tomatau I would like to discuss what's the best approach to implement user authentication on this starter kit.

I was looking at Estejs and react-redux-universal-hot-example, but I'm not sure how to do it.

Webpack method deprecated

[webpack-isomorphic-tools] [error] .development() method is now deprecated (for server-side instance only, not for webpack plugin instance) and has no effect. Set up a proper process.env.NODE_ENV variable instead

^^^^ Got above when ran 'npm start'

Many thanks love ur work bro, employ me

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

The devDependency eslint was updated from 6.2.0 to 6.2.1.

🚨 View failing branch.

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

eslint is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ci/circleci: checkout: Your tests passed on CircleCI! (Details).
  • ci/circleci: install: Your tests passed on CircleCI! (Details).
  • ci/circleci: test_integration: Your tests passed on CircleCI! (Details).
  • ci/circleci: test_unit: Your tests passed on CircleCI! (Details).
  • ci/circleci: build: Your tests passed on CircleCI! (Details).
  • ci/circleci: lint: Your tests failed on CircleCI (Details).

Release Notes for v6.2.1
  • 8c021b5 Upgrade: eslint-utils 1.4.2 (#12131) (Toru Nagashima)
  • e82388b Sponsors: Sync README with website (ESLint Jenkins)
  • 4aeeeed Docs: update docs for ecmaVersion 2020 (#12120) (silverwind)
  • 6886148 Docs: Add duplicate keys limitation to accessor-pairs (#12124) (Milos Djermanovic)
Commits

The new version differs by 6 commits.

  • 9cadb59 6.2.1
  • 22b7802 Build: changelog update for 6.2.1
  • 8c021b5 Upgrade: eslint-utils 1.4.2 (#12131)
  • e82388b Sponsors: Sync README with website
  • 4aeeeed Docs: update docs for ecmaVersion 2020 (#12120)
  • 6886148 Docs: Add duplicate keys limitation to accessor-pairs (#12124)

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Serverside redux+socket example

Hi,

I want to build a client <-> server socket connection in one of my routes. I'm not exactly sure how to do that (I couldn't import socket from 'composition/socket.js' in a route due to TypeError: Cannot read property 'protocol' of undefined). Can I get a sample code for event listeners for both server sided API route and client side Component? Thanks.

Debugging server side code

Hi Thomas,

First of all, thank you for your boilerplate, I played with it for some time and I find it more useful and better structured than more popular ones. Still I don't understand how am I supposed to debug babel-transpired code on a server for this case. Most of the examples that I saw, use gulp to load source maps. Personally, I don't like gulp, and I find it overwhelming to use it only for such a purpose. Can you tell me, is there any better way to do this without gulp?

I also have some suggestions for this boilerplate, but I'd better put them in a separate issue.

Thanx.

Retrieving data from external API

HI @tomatau,

What is your recommendation to retrieve data from an external API? May I ask you for some example?

I'm making some tests, but I couldn't get these data inside my thumb component.

style init after js is loaded

Hi
So there is issue in Chrome: styles are applied only after js loaded because classnames added into DOM.
Is there any way to fix the loading process so class names generated at server rendering phase are exact as in css bundle file?

Thanks.

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

Version 3.0.2 of redux-logger just got published.

Branch Build failing 🚨
Dependency redux-logger
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.

redux-logger 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
  • ci/circleci Your tests failed on CircleCI 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 🌴

How to disable server-side rendering?

First of all, great boilerplate - thanks for publishing it.

Second, I'm trying to integrate with https://onsen.io and merely referencing one of the components returns window is not defined. I assume these components depend on a window object and won't easily integrate with a server-side rendering process.

Is there a reasonable way to disable the server-side rendering? I'm looking in render-app.js and I found the isBrowser utility but I still get the error even when I return early if isBrowser === false.

Overall questions/suggestions

Hi, here are some questions/suggestions that I have on my mind after playing with this boilerplate for several days:

  • Your koa server setup is spread across several files (partly in app.js, partly in start.js). So at the first time it's hard to grasp, what is happening here. Maybe it would be better to move koa app setup code to app.js file and leave at start.js only isomorphic tools configuration
  • I'd suggest react-helmet as a more convenient way to manage page head
  • It also would be nice to add react-intl support for internationalization
  • You have a socket.io support included in this boilerplate. There is no need for socket.io in my case. Is it necessary for any infrastructure to work properly (I mean hot-reload first of all)?

Thanks and keep up the good work.

Add Acceptance Tests

Need to figure out a good solution for acceptance tests.. once one is down, a full 'Acceptance' Journey can be coded up and integrated.

Requirements

  • can run any browser (possible browserstack or something?)
  • can integrate easily with circleCI
  • can run a complete user journey or more
  • debuggable
  • (nice to have) can mock out API calls
  • open source
  • friendly API for handling transitions or animations, navigating, page events and powerful selectors

Braindump

  • Not something in ruby, php, java or any other lang (we're a JS only project here!)
  • Not dalek - seems unstable, although good
  • Not intern - don't want gulp/grunt.. already using mocha only for functional and unit tests
  • Maybe buster - I haven't researched it
  • Maybe nightwatch - good but doesn't support babel needs extra helpers for consistent assertions
  • Maybe cypresIO - good but doesn't support babel, also Early access beta... can mock API calls which is very powerful but maybe not needed for a full journey anyway as we have functional tests.
  • Not just selenium, casper is helpful here but could be much more work... same with webdriver io
  • Not pioneer, seems very similar to nightwatch but less popular
  • Not protractor, avoiding karma and it's more about angular

About isBrowser

export const isBrowser = typeof global !== 'undefined'
I find this in predicates.js file.
But i think global exists in browser, sometimes it is the same as window.
What's the matter?

Version 10 of node.js has been released

Version 10 of Node.js (code name Dubnium) has been released! 🎊

To see what happens to your code in Node.js 10, Greenkeeper has created a branch with the following changes:

  • Replaced the old Node.js version in your .nvmrc with the new one
  • The engines config in 1 of your package.json files was too ambiguous to be updated automatically

If you’re interested in upgrading this repo to Node.js 10, you can open a PR with these changes. Please note that this issue is just intended as a friendly reminder and the PR as a possible starting point for getting your code running on Node.js 10.

More information on this issue

Greenkeeper has checked the engines key in any package.json file, the .nvmrc file, and the .travis.yml file, if present.

  • engines was only updated if it defined a single version, not a range.
  • .nvmrc was updated to Node.js 10
  • .travis.yml was only changed if there was a root-level node_js that didn’t already include Node.js 10, such as node or lts/*. In this case, the new version was appended to the list. We didn’t touch job or matrix configurations because these tend to be quite specific and complex, and it’s difficult to infer what the intentions were.

For many simpler .travis.yml configurations, this PR should suffice as-is, but depending on what you’re doing it may require additional work or may not be applicable at all. We’re also aware that you may have good reasons to not update to Node.js 10, which is why this was sent as an issue and not a pull request. Feel free to delete it without comment, I’m a humble robot and won’t feel rejected 🤖


FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

npm test error

Similar to #1, npm run doesn't run out of the box after a fresh install.

This is especially bad for people trying out this stack.

The .env file as in #1 doesn't help here – might it be a similarly simple issue that does the polishing?

This is what I'm getting:

npm test

> [email protected] test /Users/dbr/code/github/breko-hub
> node ./scripts/babel.entry.js --test

module.js:338
    throw err;
    ^

Error: Cannot find module './/webpack.config'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:286:25)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/Users/dbr/code/github/breko-hub/src/config/webpack.unit-test.browser.config.js:5:52)
    at Module._compile (module.js:434:26)
    at normalLoader (/Users/dbr/code/github/breko-hub/node_modules/babel-core/lib/api/register/node.js:199:5)
    at Object.require.extensions.(anonymous function) [as .js] (/Users/dbr/code/github/breko-hub/node_modules/babel-core/lib/api/register/node.js:216:7)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/Users/dbr/code/github/breko-hub/scripts/test.js:4:26)
    at Module._compile (module.js:434:26)
    at normalLoader (/Users/dbr/code/github/breko-hub/node_modules/babel-core/lib/api/register/node.js:199:5)
    at Object.require.extensions.(anonymous function) [as .js] (/Users/dbr/code/github/breko-hub/node_modules/babel-core/lib/api/register/node.js:216:7)
npm ERR! Test failed.  See above for more details.

Functional/Integration tests for sockets

Not sure about this, client functional tests don't run in a real location and the connections are made at import automatically.

  • write tests for server side socket integration
  • write tests for client side socket integration

strip debug from production

options:

  • webpack strip loader on debug|log function calls + replacement plugin for an empty debug.js file
  • straight up replace debug with a stub

Might want to keep debug statements in there just in-case production needs debugging?... could only strip when DEBUG isn't available in env... but would need a recompile for prod debugging... very much worse case scenario here.

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

There have been updates to the react monorepoundefined

🚨 View failing branch.

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

This monorepo update includes releases of one or more dependencies which all belong to the react group definition.

react is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • ci/circleci: checkout: Your tests passed on CircleCI! (Details).
  • ci/circleci: install: Your tests failed on CircleCI (Details).

Release Notes for v16.5.1

16.5.1 (September 13, 2018)

React

  • Improve the warning when React.forwardRef receives an unexpected number of arguments. (@andresroberto in #13636)

React DOM

  • Fix a regression in unstable exports used by React Native Web. (@aweary in #13598)
  • Fix a crash when component defines a method called isReactComponent. (@gaearon in #13608)
  • Fix a crash in development mode in IE9 when printing a warning. (@link-alex in #13620)
  • Provide a better error message when running react-dom/profiling with schedule/tracking. (@bvaughn in #13605)
  • If a ForwardRef component defines a displayName, use it in warnings. (@probablyup in #13615)

Schedule (Experimental)

  • Add a separate profiling entry point at schedule/tracking-profiling. (@bvaughn in #13605)
FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

Add More Unit Tests

Will start adding more tests for each piece once functional tests are sorted

  • Server side HTML component
  • App component
  • Head Navigation component
  • Flash message component
  • Foo & Bar Route components
  • flash reducer
  • bar reducer
  • flash saga
  • actions
  • util functions
  • flash messages server middleware
  • set store server middleware

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.