From c14780904838ab1f619c14ae2b7d10d824afdd7a Mon Sep 17 00:00:00 2001 From: codebelt Date: Thu, 31 Aug 2017 16:05:50 -0500 Subject: [PATCH 1/3] Add concurrently to dev task --- package.json | 3 +- webpack.config.js | 5 ++- yarn.lock | 81 +++++++++++++++++++++++++++++++++++++++++------ 3 files changed, 78 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 60fbadc..c1ed002 100755 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "start": "cross-env NODE_ENV=production node ./dist/server.js", "---------- DEVELOPMENT -------------------------------------------------------------------------": "", "predev": "npm run removeAndBuildServer", - "dev": "npm run watchServer & npm run devServer", + "dev": "concurrently --kill-others \"npm run watchServer\" \"npm run devServer\"", "devServer": "cross-env BABEL_ENV=client NODE_ENV=development nodemon ./dist/server.js", "---------- STAGING -----------------------------------------------------------------------------": "", "prestaging:build": "npm run removeAndBuildServer", @@ -74,6 +74,7 @@ "babel-preset-react": "6.24.1", "babel-preset-stage-2": "6.24.1", "babel-watch": "2.0.7", + "concurrently": "3.5.0", "copy-webpack-plugin": "4.0.1", "cross-env": "5.0.5", "css-hot-loader": "1.3.0", diff --git a/webpack.config.js b/webpack.config.js index 03f4972..f8a9107 100755 --- a/webpack.config.js +++ b/webpack.config.js @@ -13,6 +13,7 @@ const HOST = process.env.HOST || 'localhost'; const NODE_ENV = process.env.NODE_ENV || 'production'; const isProduction = (NODE_ENV === 'production'); const isDevelopment = (NODE_ENV === 'development'); +const isNotDevelopment = isDevelopment === false; const config = { entry: isDevelopment @@ -77,7 +78,9 @@ const config = { }, plugins: [ - new ProgressBarPlugin(), + isNotDevelopment + ? new ProgressBarPlugin() + : null, new webpack.DefinePlugin({ 'process.env.NODE_ENV': JSON.stringify(NODE_ENV), diff --git a/yarn.lock b/yarn.lock index 4ac5d39..1624671 100644 --- a/yarn.lock +++ b/yarn.lock @@ -60,11 +60,7 @@ dependencies: "@types/node" "*" -"@types/node@*": - version "8.0.25" - resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.25.tgz#66ecaf4df93f5281b48427ee96fbcdfc4f0cdce1" - -"@types/node@8.0.26": +"@types/node@*", "@types/node@8.0.26": version "8.0.26" resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.26.tgz#4d58be925306fd22b1141085535a0268b8beb189" @@ -243,6 +239,10 @@ ansi-html@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" +ansi-regex@^0.2.0, ansi-regex@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-0.2.1.tgz#0d8e946967a3d8143f93e24e298525fc1b2235f9" + ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" @@ -251,6 +251,10 @@ ansi-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" +ansi-styles@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.1.0.tgz#eaecbf66cd706882760b2f4691582b8f55d7a7de" + ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" @@ -1467,6 +1471,16 @@ center-align@^0.1.1: align-text "^0.1.3" lazy-cache "^1.0.3" +chalk@0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.5.1.tgz#663b3a648b68b55d04690d49167aa837858f2174" + dependencies: + ansi-styles "^1.1.0" + escape-string-regexp "^1.0.0" + has-ansi "^0.1.0" + strip-ansi "^0.3.0" + supports-color "^0.2.0" + chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -1645,6 +1659,10 @@ commander@2.11.x, commander@^2.11.0, commander@^2.9.0, commander@~2.11.0: version "2.11.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" +commander@2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.6.0.tgz#9df7e52fb2a0cb0fb89058ee80c3104225f37e1d" + commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -1665,6 +1683,19 @@ concat-stream@^1.6.0: readable-stream "^2.2.2" typedarray "^0.0.6" +concurrently@3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-3.5.0.tgz#8cf1b7707a6916a78a4ff5b77bb04dec54b379b2" + dependencies: + chalk "0.5.1" + commander "2.6.0" + date-fns "^1.23.0" + lodash "^4.5.1" + rx "2.3.24" + spawn-command "^0.0.2-1" + supports-color "^3.2.3" + tree-kill "^1.1.0" + configstore@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/configstore/-/configstore-1.4.0.tgz#c35781d0501d268c25c54b8b17f6240e8a4fb021" @@ -1958,6 +1989,10 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" +date-fns@^1.23.0: + version "1.28.5" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.28.5.tgz#257cfc45d322df45ef5658665967ee841cd73faf" + date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" @@ -2291,7 +2326,7 @@ es6-weak-map@^2.0.1: es6-iterator "^2.0.1" es6-symbol "^3.1.1" -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: +escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" @@ -2940,6 +2975,12 @@ har-validator@~4.2.1: ajv "^4.9.1" har-schema "^1.0.5" +has-ansi@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-0.1.0.tgz#84f265aae8c0e6a88a12d7022894b7568894c62e" + dependencies: + ansi-regex "^0.2.0" + has-ansi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" @@ -3863,7 +3904,7 @@ lodash.upperfirst@4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce" -lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.6.1: +lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.5.1, lodash@^4.6.1: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" @@ -5727,6 +5768,10 @@ rx-lite@*, rx-lite@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" +rx@2.3.24: + version "2.3.24" + resolved "https://registry.yarnpkg.com/rx/-/rx-2.3.24.tgz#14f950a4217d7e35daa71bbcbe58eff68ea4b2b7" + safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" @@ -5913,6 +5958,10 @@ sourcemapped-stacktrace@^1.1.6: dependencies: source-map "0.5.6" +spawn-command@^0.0.2-1: + version "0.0.2" + resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2.tgz#9544e1a43ca045f8531aac1a48cb29bdae62338e" + spdx-correct@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" @@ -6049,6 +6098,12 @@ stringstream@~0.0.4: version "0.0.5" resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" +strip-ansi@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.3.0.tgz#25f48ea22ca79187f3174a4db8759347bb126220" + dependencies: + ansi-regex "^0.2.1" + strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" @@ -6102,6 +6157,10 @@ subtext@^5.0.0: pez "2.x.x" wreck "12.x.x" +supports-color@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a" + supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -6257,6 +6316,10 @@ tough-cookie@~2.3.0: dependencies: punycode "^1.4.1" +tree-kill@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.1.0.tgz#c963dcf03722892ec59cba569e940b71954d1729" + trim-newlines@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" @@ -6295,8 +6358,8 @@ tslint@5.7.0: tsutils "^2.8.1" tsutils@^2.8.0, tsutils@^2.8.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.8.1.tgz#3771404e7ca9f0bedf5d919a47a4b1890a68efff" + version "2.8.2" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.8.2.tgz#2c1486ba431260845b0ac6f902afd9d708a8ea6a" dependencies: tslib "^1.7.1" From ec09ccc3d57336bfbe3fe83893b866c05e384135 Mon Sep 17 00:00:00 2001 From: codebelt Date: Thu, 31 Aug 2017 16:17:21 -0500 Subject: [PATCH 2/3] Change ProgressBarPlugin to SimpleProgressPlugin --- package.json | 4 ++-- webpack.config.js | 4 ++-- yarn.lock | 26 +++++++++----------------- 3 files changed, 13 insertions(+), 21 deletions(-) diff --git a/package.json b/package.json index c1ed002..7a872e3 100755 --- a/package.json +++ b/package.json @@ -94,7 +94,6 @@ "postcss-cssnext": "3.0.2", "postcss-import": "10.0.0", "postcss-loader": "2.0.6", - "progress-bar-webpack-plugin": "1.10.0", "rimraf": "2.6.1", "robotstxt-webpack-plugin": "2.0.0", "style-loader": "0.18.2", @@ -103,7 +102,8 @@ "tslint-react": "3.2.0", "typescript": "2.4.2", "webpack-dev-middleware": "1.12.0", - "webpack-hot-middleware": "2.18.2" + "webpack-hot-middleware": "2.18.2", + "webpack-simple-progress-plugin": "0.0.2" }, "dependencies": { "babel-polyfill": "6.26.0", diff --git a/webpack.config.js b/webpack.config.js index f8a9107..d790ee3 100755 --- a/webpack.config.js +++ b/webpack.config.js @@ -3,7 +3,7 @@ const webpack = require('webpack'); const CopyWebpackPlugin = require('copy-webpack-plugin'); const ExtractTextPlugin = require('extract-text-webpack-plugin'); const HtmlWebpackPlugin = require('html-webpack-plugin'); -const ProgressBarPlugin = require('progress-bar-webpack-plugin'); +const SimpleProgressPlugin = require('webpack-simple-progress-plugin'); const HtmlWebpackHarddiskPlugin = require('html-webpack-harddisk-plugin'); const RobotstxtPlugin = require('robotstxt-webpack-plugin').default; const pkg = require('./package.json'); @@ -79,7 +79,7 @@ const config = { plugins: [ isNotDevelopment - ? new ProgressBarPlugin() + ? new SimpleProgressPlugin() : null, new webpack.DefinePlugin({ diff --git a/yarn.lock b/yarn.lock index 1624671..93a1bc4 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4351,7 +4351,7 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-keys@^1.0.10, object-keys@^1.0.8: +object-keys@^1.0.8: version "1.0.11" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" @@ -4361,14 +4361,6 @@ object-visit@^0.3.4: dependencies: isobject "^2.0.0" -object.assign@^4.0.1: - version "4.0.4" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.0.4.tgz#b1c9cc044ef1b9fe63606fc141abbb32e14730cc" - dependencies: - define-properties "^1.1.2" - function-bind "^1.1.0" - object-keys "^1.0.10" - object.omit@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" @@ -5192,14 +5184,6 @@ process@~0.5.1: version "0.5.2" resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" -progress-bar-webpack-plugin@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/progress-bar-webpack-plugin/-/progress-bar-webpack-plugin-1.10.0.tgz#e0b1063aa03c79e298a9340598590bb61efef9a4" - dependencies: - chalk "^1.1.1" - object.assign "^4.0.1" - progress "^1.1.8" - progress@^1.1.8: version "1.1.8" resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" @@ -6615,6 +6599,14 @@ webpack-hot-middleware@2.18.2, webpack-hot-middleware@^2.17.1: querystring "^0.2.0" strip-ansi "^3.0.0" +webpack-simple-progress-plugin@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/webpack-simple-progress-plugin/-/webpack-simple-progress-plugin-0.0.2.tgz#806344e64b6f313b4d9627fe46447ae4e93fcd36" + dependencies: + chalk "^1.1.3" + object-assign "^4.1.0" + progress "^1.1.8" + webpack-sources@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.0.1.tgz#c7356436a4d13123be2e2426a05d1dad9cbe65cf" From b7b514c0c93388246121a5a0c6857dc3a1b39583 Mon Sep 17 00:00:00 2001 From: codebelt Date: Thu, 31 Aug 2017 16:17:46 -0500 Subject: [PATCH 3/3] fix linting issue --- src/client.tsx | 2 +- src/services/ProviderService.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/client.tsx b/src/client.tsx index 1597781..bd3c600 100755 --- a/src/client.tsx +++ b/src/client.tsx @@ -33,7 +33,7 @@ const composeApp = (Component: any) => ( ); const renderApp = () => { - const routerWrapper = require('./RouterWrapper').default; // eslint-disable-line global-require + const routerWrapper = require('./RouterWrapper').default; // tslint:disable-line:no-require-imports ReactDOM.render( composeApp(routerWrapper), diff --git a/src/services/ProviderService.ts b/src/services/ProviderService.ts index b354625..bf5ef27 100644 --- a/src/services/ProviderService.ts +++ b/src/services/ProviderService.ts @@ -32,7 +32,7 @@ class ProviderService { private static _setupHotReloading(store: ISagaStore) { if (module.hot) { module.hot.accept('../stores/rootReducer', () => { - const nextReducer = require('../stores/rootReducer').default; // eslint-disable-line global-require + const nextReducer = require('../stores/rootReducer').default; // tslint:disable-line:no-require-imports store.replaceReducer(nextReducer); });