diff --git a/CHANGELOG.md b/CHANGELOG.md
index aa71e622f..3a3ea55b5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,14 @@
## Master
+## 0.6.0-alpha.5 - 05/30/17
+
+- rolls file-loader back to 0.10.1 (problem where `outputPath` is used in final path)
+
+## 0.6.0-alpha.4 - 05/25/17
+
+- Adds vendor bundling [#487](https://github.com/NYTimes/kyt/pull/487)
+
## 0.6.0-alpha.3 - 05/25/17
- Upgrades webpack and loaders [#482](https://github.com/NYTimes/kyt/pull/482)
diff --git a/e2e_tests/tests/kyt-build.test.js b/e2e_tests/tests/kyt-build.test.js
index 3e6d620b2..855ad4218 100644
--- a/e2e_tests/tests/kyt-build.test.js
+++ b/e2e_tests/tests/kyt-build.test.js
@@ -18,6 +18,11 @@ describe('kyt build', () => {
// Should copy static assets from src/public directory
expect(shell.test('-f', 'build/public/nothing.txt')).toBe(true);
+ // Should produce the manifest, main and vendor scripts
+ expect(shell.ls('build/public/manifest-*.js').code).toBe(0);
+ expect(shell.ls('build/public/main-*.js').code).toBe(0);
+ expect(shell.ls('build/public/vendor-*.js').code).toBe(0);
+
expect(output.code).toBe(0);
});
diff --git a/packages/kyt-core/config/__tests__/webpack.test.js b/packages/kyt-core/config/__tests__/webpack.test.js
index 4dd4a428d..4270767df 100644
--- a/packages/kyt-core/config/__tests__/webpack.test.js
+++ b/packages/kyt-core/config/__tests__/webpack.test.js
@@ -6,19 +6,28 @@ const logger = {
warn: jest.fn(),
};
+const path = {
+ join: jest.fn(),
+ resolve: jest.fn(),
+};
+
const webpack = {
LoaderOptionsPlugin: jest.fn(),
optimize: {
UglifyJsPlugin: jest.fn(),
LimitChunkCountPlugin: jest.fn(),
+ CommonsChunkPlugin: jest.fn(),
+ AggressiveMergingPlugin: jest.fn(),
},
BannerPlugin: jest.fn(),
NoEmitOnErrorsPlugin: jest.fn(),
HotModuleReplacementPlugin: jest.fn(),
DefinePlugin: jest.fn(),
+ HashedModuleIdsPlugin: jest.fn(),
};
jest.setMock('shelljs', shell);
+jest.setMock('path', path);
jest.setMock('kyt-utils/logger', logger);
jest.setMock('webpack', webpack);
jest.setMock('../../utils/getPostcssLoader', {});
diff --git a/packages/kyt-core/config/webpack.dev.client.js b/packages/kyt-core/config/webpack.dev.client.js
index 685273ea1..9e0d876a4 100644
--- a/packages/kyt-core/config/webpack.dev.client.js
+++ b/packages/kyt-core/config/webpack.dev.client.js
@@ -2,8 +2,9 @@
// Development webpack config for client code
const webpack = require('webpack');
-const AssetsPlugin = require('assets-webpack-plugin');
+const WebpackAssetsManifest = require('webpack-assets-manifest');
const clone = require('lodash.clonedeep');
+const path = require('path');
const { clientSrcPath, buildPath, assetsBuildPath } = require('kyt-utils/paths')();
const postcssLoader = require('../utils/getPostcssLoader');
@@ -69,9 +70,13 @@ module.exports = (options) => {
new webpack.optimize.LimitChunkCountPlugin({ maxChunks: 1 }),
- new AssetsPlugin({
- filename: options.clientAssetsFile,
- path: buildPath,
+ new WebpackAssetsManifest({
+ output: path.join(buildPath, options.clientAssetsFile),
+ space: 2,
+ writeToDisk: true,
+ fileExtRegex: /\.\w{2,4}\.(?:map|gz)$|\.\w+$/i,
+ merge: false,
+ publicPath: options.publicPath,
}),
new webpack.HotModuleReplacementPlugin(),
diff --git a/packages/kyt-core/config/webpack.prod.client.js b/packages/kyt-core/config/webpack.prod.client.js
index 8076512b6..928f9c26b 100644
--- a/packages/kyt-core/config/webpack.prod.client.js
+++ b/packages/kyt-core/config/webpack.prod.client.js
@@ -3,10 +3,11 @@
const webpack = require('webpack');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
-const AssetsPlugin = require('assets-webpack-plugin');
+const WebpackAssetsManifest = require('webpack-assets-manifest');
const clone = require('lodash.clonedeep');
const postcssLoader = require('../utils/getPostcssLoader');
const { clientSrcPath, assetsBuildPath, buildPath } = require('kyt-utils/paths')();
+const path = require('path');
const cssStyleLoaders = [
{
@@ -77,9 +78,30 @@ module.exports = options => ({
sourceMap: true,
}),
- new AssetsPlugin({
- filename: options.clientAssetsFile,
- path: buildPath,
+ new WebpackAssetsManifest({
+ output: path.join(buildPath, options.clientAssetsFile),
+ space: 2,
+ writeToDisk: true,
+ fileExtRegex: /\.\w{2,4}\.(?:map|gz)$|\.\w+$/i,
+ merge: false,
+ publicPath: options.publicPath,
}),
+
+ // Modules should get deterministic ids so that they don't change between builds
+ new webpack.HashedModuleIdsPlugin(),
+
+ // Extract all 3rd party modules into a separate chunk
+ // Only include vendor modules as needed,
+ // https://github.com/webpack/webpack/issues/2372#issuecomment-213149173
+ new webpack.optimize.CommonsChunkPlugin({
+ name: 'vendor',
+ minChunks: ({ resource }) => /node_modules/.test(resource),
+ }),
+
+ // Generate a 'manifest' chunk to be inlined
+ new webpack.optimize.CommonsChunkPlugin({ name: 'manifest' }),
+
+ // Merge bundles that would otherwise be negligibly small
+ new webpack.optimize.AggressiveMergingPlugin(),
],
});
diff --git a/packages/kyt-core/package.json b/packages/kyt-core/package.json
index 47df86c66..58703cf90 100644
--- a/packages/kyt-core/package.json
+++ b/packages/kyt-core/package.json
@@ -1,6 +1,6 @@
{
"name": "kyt",
- "version": "0.6.0-alpha.3",
+ "version": "0.6.0-alpha.5",
"description": "kyt is a toolkit that encapsulates and manages the configuration for web apps.",
"author": "NYTimes",
"license": "Apache-2.0",
@@ -14,7 +14,6 @@
"node": ">=6.1.0"
},
"dependencies": {
- "assets-webpack-plugin": "3.5.1",
"autoprefixer": "7.1.1",
"babel-cli": "6.18.0",
"babel-core": "6.18.0",
@@ -37,7 +36,7 @@
"eslint-plugin-react": "6.10.0",
"express": "4.14.0",
"extract-text-webpack-plugin": "2.1.0",
- "file-loader": "0.11.1",
+ "file-loader": "0.10.1",
"filesize": "3.3.0",
"glob": "7.1.0",
"gzip-size": "3.0.0",
@@ -45,7 +44,7 @@
"inquirer": "1.2.1",
"install": "0.8.1",
"jest": "19.0.2",
- "kyt-utils": "0.1.1-alpha.3",
+ "kyt-utils": "0.1.1-alpha.5",
"lodash.clonedeep": "4.5.0",
"lodash.merge": "4.6.0",
"lodash.once": "4.1.1",
@@ -65,6 +64,7 @@
"temp": "0.8.3",
"url-loader": "0.5.8",
"webpack": "2.6.0",
+ "webpack-assets-manifest": "0.6.2",
"webpack-dev-middleware": "1.10.2",
"webpack-dev-server": "2.4.5",
"webpack-hot-middleware": "2.18.0",
diff --git a/packages/kyt-core/yarn.lock b/packages/kyt-core/yarn.lock
index 37e87df7c..94b8b3e94 100644
--- a/packages/kyt-core/yarn.lock
+++ b/packages/kyt-core/yarn.lock
@@ -227,16 +227,6 @@ assert@^1.1.1:
dependencies:
util "0.10.3"
-assets-webpack-plugin@3.5.1:
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/assets-webpack-plugin/-/assets-webpack-plugin-3.5.1.tgz#931ce0d66d42e88ed5e7f18d65522943c57a387d"
- dependencies:
- camelcase "^1.2.1"
- escape-string-regexp "^1.0.3"
- lodash.assign "^3.2.0"
- lodash.merge "^3.3.2"
- mkdirp "^0.5.1"
-
ast-types-flow@0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad"
@@ -1085,7 +1075,7 @@ camelcase-keys@^2.0.0:
camelcase "^2.0.0"
map-obj "^1.0.0"
-camelcase@^1.0.2, camelcase@^1.2.1:
+camelcase@^1.0.2:
version "1.2.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
@@ -1125,7 +1115,7 @@ center-align@^0.1.1:
align-text "^0.1.3"
lazy-cache "^1.0.3"
-chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3:
+chalk@^1.0, chalk@^1.0.0, chalk@^1.1.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"
dependencies:
@@ -1968,7 +1958,7 @@ escape-html@~1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
-escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.3, escape-string-regexp@^1.0.5:
+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"
@@ -3622,9 +3612,9 @@ known-css-properties@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.0.6.tgz#71a0b8fde1b6e3431c471efbc3d9733faebbcfbf"
-kyt-utils@0.1.1-alpha.3:
- version "0.1.1-alpha.3"
- resolved "https://registry.yarnpkg.com/kyt-utils/-/kyt-utils-0.1.1-alpha.3.tgz#a89ef0a8101453873bb5f9c12441468d73e6d2f5"
+kyt-utils@0.1.1-alpha.4:
+ version "0.1.1-alpha.4"
+ resolved "https://registry.yarnpkg.com/kyt-utils/-/kyt-utils-0.1.1-alpha.4.tgz#33408a62b2bf5520da22cc984a3f5242cf944ca8"
latest-version@^1.0.0:
version "1.0.1"
@@ -3702,14 +3692,6 @@ locate-path@^2.0.0:
p-locate "^2.0.0"
path-exists "^3.0.0"
-lodash._arraycopy@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz#76e7b7c1f1fb92547374878a562ed06a3e50f6e1"
-
-lodash._arrayeach@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz#bab156b2a90d3f1bbd5c653403349e5e5933ef9e"
-
lodash._baseassign@^3.0.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e"
@@ -3721,10 +3703,6 @@ lodash._basecopy@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"
-lodash._basefor@^3.0.0:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/lodash._basefor/-/lodash._basefor-3.0.3.tgz#7550b4e9218ef09fad24343b612021c79b4c20c2"
-
lodash._bindcallback@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e"
@@ -3745,7 +3723,7 @@ lodash._isiterateecall@^3.0.0:
version "3.0.9"
resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c"
-lodash.assign@^3.0.0, lodash.assign@^3.2.0:
+lodash.assign@^3.0.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-3.2.0.tgz#3ce9f0234b4b2223e296b8fa0ac1fee8ebca64fa"
dependencies:
@@ -3776,6 +3754,14 @@ lodash.defaults@^3.1.2:
lodash.assign "^3.0.0"
lodash.restparam "^3.0.0"
+lodash.find@^4.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1"
+
+lodash.get@^4.0:
+ version "4.4.2"
+ resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
+
lodash.isarguments@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
@@ -3784,18 +3770,6 @@ lodash.isarray@^3.0.0:
version "3.0.4"
resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"
-lodash.isplainobject@^3.0.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-3.2.0.tgz#9a8238ae16b200432960cd7346512d0123fbf4c5"
- dependencies:
- lodash._basefor "^3.0.0"
- lodash.isarguments "^3.0.0"
- lodash.keysin "^3.0.0"
-
-lodash.istypedarray@^3.0.0:
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz#c9a477498607501d8e8494d283b87c39281cef62"
-
lodash.keys@^3.0.0:
version "3.1.2"
resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
@@ -3804,37 +3778,18 @@ lodash.keys@^3.0.0:
lodash.isarguments "^3.0.0"
lodash.isarray "^3.0.0"
-lodash.keysin@^3.0.0:
- version "3.0.8"
- resolved "https://registry.yarnpkg.com/lodash.keysin/-/lodash.keysin-3.0.8.tgz#22c4493ebbedb1427962a54b445b2c8a767fb47f"
- dependencies:
- lodash.isarguments "^3.0.0"
- lodash.isarray "^3.0.0"
+lodash.keys@^4.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-4.2.0.tgz#a08602ac12e4fb83f91fc1fb7a360a4d9ba35205"
lodash.memoize@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
-lodash.merge@4.6.0:
+lodash.merge@4.6.0, lodash.merge@^4.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5"
-lodash.merge@^3.3.2:
- version "3.3.2"
- resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-3.3.2.tgz#0d90d93ed637b1878437bb3e21601260d7afe994"
- dependencies:
- lodash._arraycopy "^3.0.0"
- lodash._arrayeach "^3.0.0"
- lodash._createassigner "^3.0.0"
- lodash._getnative "^3.0.0"
- lodash.isarguments "^3.0.0"
- lodash.isarray "^3.0.0"
- lodash.isplainobject "^3.0.0"
- lodash.istypedarray "^3.0.0"
- lodash.keys "^3.0.0"
- lodash.keysin "^3.0.0"
- lodash.toplainobject "^3.0.0"
-
lodash.mergewith@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz#150cf0a16791f5903b8891eab154609274bdea55"
@@ -3843,6 +3798,10 @@ lodash.once@4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac"
+lodash.pick@^4.0:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
+
lodash.pickby@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.pickby/-/lodash.pickby-4.6.0.tgz#7dea21d8c18d7703a27c704c15d3b84a67e33aff"
@@ -3855,13 +3814,6 @@ lodash.tail@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664"
-lodash.toplainobject@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/lodash.toplainobject/-/lodash.toplainobject-3.0.0.tgz#28790ad942d293d78aa663a07ecf7f52ca04198d"
- dependencies:
- lodash._basecopy "^3.0.0"
- lodash.keysin "^3.0.0"
-
lodash.uniq@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
@@ -3997,11 +3949,7 @@ miller-rabin@^4.0.0:
bn.js "^4.0.0"
brorand "^1.0.1"
-"mime-db@>= 1.27.0 < 2":
- version "1.28.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.28.0.tgz#fedd349be06d2865b7fc57d837c6de4f17d7ac3c"
-
-mime-db@~1.27.0:
+"mime-db@>= 1.27.0 < 2", mime-db@~1.27.0:
version "1.27.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1"
@@ -4054,7 +4002,7 @@ mixin-object@^2.0.1:
for-in "^0.1.3"
is-extendable "^0.1.1"
-mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
+mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
dependencies:
@@ -6298,6 +6246,18 @@ webidl-conversions@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.1.tgz#8015a17ab83e7e1b311638486ace81da6ce206a0"
+webpack-assets-manifest@0.6.2:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/webpack-assets-manifest/-/webpack-assets-manifest-0.6.2.tgz#1f8dd38a2d132474ce26e7d37dc894ba6ddf4b4f"
+ dependencies:
+ chalk "^1.0"
+ lodash.find "^4.0"
+ lodash.get "^4.0"
+ lodash.keys "^4.0"
+ lodash.merge "^4.0"
+ lodash.pick "^4.0"
+ mkdirp "^0.5"
+
webpack-dev-middleware@1.10.2, webpack-dev-middleware@^1.10.2:
version "1.10.2"
resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.10.2.tgz#2e252ce1dfb020dbda1ccb37df26f30ab014dbd1"
diff --git a/packages/kyt-starter-static/package.json b/packages/kyt-starter-static/package.json
index c3bdc5ea5..fac2f098e 100644
--- a/packages/kyt-starter-static/package.json
+++ b/packages/kyt-starter-static/package.json
@@ -1,6 +1,6 @@
{
"name": "kyt-starter-static",
- "version": "0.3.0-alpha.3",
+ "version": "0.3.0-alpha.5",
"description": "",
"repository": {
"type": "git",
diff --git a/packages/kyt-starter-static/starter-src/package.json b/packages/kyt-starter-static/starter-src/package.json
index 1ec3eaaea..50b3c901a 100644
--- a/packages/kyt-starter-static/starter-src/package.json
+++ b/packages/kyt-starter-static/starter-src/package.json
@@ -22,7 +22,7 @@
},
"devDependencies": {
"enzyme": "2.4.1",
- "kyt": "0.6.0-alpha.3",
+ "kyt": "0.6.0-alpha.5",
"react-addons-test-utils": "15.3.0"
}
}
diff --git a/packages/kyt-starter-static/starter-src/src/routes/index.js b/packages/kyt-starter-static/starter-src/src/routes/index.js
index e5b41a4ef..bf9389627 100644
--- a/packages/kyt-starter-static/starter-src/src/routes/index.js
+++ b/packages/kyt-starter-static/starter-src/src/routes/index.js
@@ -9,13 +9,13 @@ import App from '../components/App';
// https://webpack.js.org/guides/migrating/#code-splitting-with-es2015
const importHome = (nextState, cb) => {
- import('../components/Home')
+ import(/* webpackChunkName: "home" */'../components/Home')
.then(module => cb(null, module.default))
.catch((e) => { throw e; });
};
const importTools = (nextState, cb) => {
- import('../components/Tools')
+ import(/* webpackChunkName: "tools" */'../components/Tools')
.then(module => cb(null, module.default))
.catch((e) => { throw e; });
};
diff --git a/packages/kyt-starter-static/starter-src/yarn.lock b/packages/kyt-starter-static/starter-src/yarn.lock
index e8dc3073b..69dac935b 100644
--- a/packages/kyt-starter-static/starter-src/yarn.lock
+++ b/packages/kyt-starter-static/starter-src/yarn.lock
@@ -237,16 +237,6 @@ assert@^1.1.1:
dependencies:
util "0.10.3"
-assets-webpack-plugin@3.5.1:
- version "3.5.1"
- resolved "https://registry.yarnpkg.com/assets-webpack-plugin/-/assets-webpack-plugin-3.5.1.tgz#931ce0d66d42e88ed5e7f18d65522943c57a387d"
- dependencies:
- camelcase "^1.2.1"
- escape-string-regexp "^1.0.3"
- lodash.assign "^3.2.0"
- lodash.merge "^3.3.2"
- mkdirp "^0.5.1"
-
ast-types-flow@0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad"
@@ -1204,7 +1194,7 @@ camelcase-keys@^2.0.0:
camelcase "^2.0.0"
map-obj "^1.0.0"
-camelcase@^1.0.2, camelcase@^1.2.1:
+camelcase@^1.0.2:
version "1.2.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
@@ -1244,7 +1234,7 @@ center-align@^0.1.1:
align-text "^0.1.3"
lazy-cache "^1.0.3"
-chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3:
+chalk@^1.0, chalk@^1.0.0, chalk@^1.1.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"
dependencies:
@@ -2184,7 +2174,7 @@ escape-html@~1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
-escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.3, escape-string-regexp@^1.0.5:
+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"
@@ -2775,7 +2765,7 @@ glob-parent@^2.0.0:
dependencies:
is-glob "^2.0.0"
-glob@7.1.0, glob@^7.0.0, glob@^7.0.3:
+glob@7.1.0, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5:
version "7.1.0"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.0.tgz#36add856d746d0d99e4cc2797bba1ae2c67272fd"
dependencies:
@@ -2796,7 +2786,7 @@ glob@^5.0.5:
once "^1.3.0"
path-is-absolute "^1.0.0"
-glob@^7.0.5, glob@^7.1.1, glob@~7.1.1:
+glob@^7.1.1, glob@~7.1.1:
version "7.1.2"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
dependencies:
@@ -3930,15 +3920,14 @@ known-css-properties@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.0.6.tgz#71a0b8fde1b6e3431c471efbc3d9733faebbcfbf"
-kyt-utils@0.1.1-alpha.3:
- version "0.1.1-alpha.3"
- resolved "https://registry.yarnpkg.com/kyt-utils/-/kyt-utils-0.1.1-alpha.3.tgz#a89ef0a8101453873bb5f9c12441468d73e6d2f5"
+kyt-utils@0.1.1-alpha.4:
+ version "0.1.1-alpha.4"
+ resolved "https://registry.yarnpkg.com/kyt-utils/-/kyt-utils-0.1.1-alpha.4.tgz#33408a62b2bf5520da22cc984a3f5242cf944ca8"
-kyt@0.6.0-alpha.3:
- version "0.6.0-alpha.3"
- resolved "https://registry.yarnpkg.com/kyt/-/kyt-0.6.0-alpha.3.tgz#f615fbe576c58dd2f232012fe023e274d8fd9273"
+kyt@0.6.0-alpha.4:
+ version "0.6.0-alpha.4"
+ resolved "https://registry.yarnpkg.com/kyt/-/kyt-0.6.0-alpha.4.tgz#39c241fe663a5fd9736f58cbd6f21bad563e0ebd"
dependencies:
- assets-webpack-plugin "3.5.1"
autoprefixer "7.1.1"
babel-cli "6.18.0"
babel-core "6.18.0"
@@ -3969,7 +3958,7 @@ kyt@0.6.0-alpha.3:
inquirer "1.2.1"
install "0.8.1"
jest "19.0.2"
- kyt-utils "0.1.1-alpha.3"
+ kyt-utils "0.1.1-alpha.4"
lodash.clonedeep "4.5.0"
lodash.merge "4.6.0"
lodash.once "4.1.1"
@@ -3989,6 +3978,7 @@ kyt@0.6.0-alpha.3:
temp "0.8.3"
url-loader "0.5.8"
webpack "2.6.0"
+ webpack-assets-manifest "0.6.2"
webpack-dev-middleware "1.10.2"
webpack-dev-server "2.4.5"
webpack-hot-middleware "2.18.0"
@@ -4071,14 +4061,6 @@ locate-path@^2.0.0:
p-locate "^2.0.0"
path-exists "^3.0.0"
-lodash._arraycopy@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz#76e7b7c1f1fb92547374878a562ed06a3e50f6e1"
-
-lodash._arrayeach@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz#bab156b2a90d3f1bbd5c653403349e5e5933ef9e"
-
lodash._baseassign@^3.0.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e"
@@ -4090,10 +4072,6 @@ lodash._basecopy@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"
-lodash._basefor@^3.0.0:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/lodash._basefor/-/lodash._basefor-3.0.3.tgz#7550b4e9218ef09fad24343b612021c79b4c20c2"
-
lodash._bindcallback@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e"
@@ -4114,7 +4092,7 @@ lodash._isiterateecall@^3.0.0:
version "3.0.9"
resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c"
-lodash.assign@^3.0.0, lodash.assign@^3.2.0:
+lodash.assign@^3.0.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-3.2.0.tgz#3ce9f0234b4b2223e296b8fa0ac1fee8ebca64fa"
dependencies:
@@ -4145,6 +4123,14 @@ lodash.defaults@^3.1.2:
lodash.assign "^3.0.0"
lodash.restparam "^3.0.0"
+lodash.find@^4.0:
+ version "4.6.0"
+ resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1"
+
+lodash.get@^4.0:
+ version "4.4.2"
+ resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
+
lodash.isarguments@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
@@ -4153,18 +4139,6 @@ lodash.isarray@^3.0.0:
version "3.0.4"
resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"
-lodash.isplainobject@^3.0.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-3.2.0.tgz#9a8238ae16b200432960cd7346512d0123fbf4c5"
- dependencies:
- lodash._basefor "^3.0.0"
- lodash.isarguments "^3.0.0"
- lodash.keysin "^3.0.0"
-
-lodash.istypedarray@^3.0.0:
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz#c9a477498607501d8e8494d283b87c39281cef62"
-
lodash.keys@^3.0.0:
version "3.1.2"
resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
@@ -4173,37 +4147,18 @@ lodash.keys@^3.0.0:
lodash.isarguments "^3.0.0"
lodash.isarray "^3.0.0"
-lodash.keysin@^3.0.0:
- version "3.0.8"
- resolved "https://registry.yarnpkg.com/lodash.keysin/-/lodash.keysin-3.0.8.tgz#22c4493ebbedb1427962a54b445b2c8a767fb47f"
- dependencies:
- lodash.isarguments "^3.0.0"
- lodash.isarray "^3.0.0"
+lodash.keys@^4.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-4.2.0.tgz#a08602ac12e4fb83f91fc1fb7a360a4d9ba35205"
lodash.memoize@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
-lodash.merge@4.6.0:
+lodash.merge@4.6.0, lodash.merge@^4.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5"
-lodash.merge@^3.3.2:
- version "3.3.2"
- resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-3.3.2.tgz#0d90d93ed637b1878437bb3e21601260d7afe994"
- dependencies:
- lodash._arraycopy "^3.0.0"
- lodash._arrayeach "^3.0.0"
- lodash._createassigner "^3.0.0"
- lodash._getnative "^3.0.0"
- lodash.isarguments "^3.0.0"
- lodash.isarray "^3.0.0"
- lodash.isplainobject "^3.0.0"
- lodash.istypedarray "^3.0.0"
- lodash.keys "^3.0.0"
- lodash.keysin "^3.0.0"
- lodash.toplainobject "^3.0.0"
-
lodash.mergewith@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.0.tgz#150cf0a16791f5903b8891eab154609274bdea55"
@@ -4212,6 +4167,10 @@ lodash.once@4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac"
+lodash.pick@^4.0:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
+
lodash.pickby@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash.pickby/-/lodash.pickby-4.6.0.tgz#7dea21d8c18d7703a27c704c15d3b84a67e33aff"
@@ -4224,13 +4183,6 @@ lodash.tail@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/lodash.tail/-/lodash.tail-4.1.1.tgz#d2333a36d9e7717c8ad2f7cacafec7c32b444664"
-lodash.toplainobject@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/lodash.toplainobject/-/lodash.toplainobject-3.0.0.tgz#28790ad942d293d78aa663a07ecf7f52ca04198d"
- dependencies:
- lodash._basecopy "^3.0.0"
- lodash.keysin "^3.0.0"
-
lodash.uniq@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
@@ -4376,11 +4328,7 @@ miller-rabin@^4.0.0:
bn.js "^4.0.0"
brorand "^1.0.1"
-"mime-db@>= 1.27.0 < 2":
- version "1.28.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.28.0.tgz#fedd349be06d2865b7fc57d837c6de4f17d7ac3c"
-
-mime-db@~1.27.0:
+"mime-db@>= 1.27.0 < 2", mime-db@~1.27.0:
version "1.27.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1"
@@ -4433,7 +4381,7 @@ mixin-object@^2.0.1:
for-in "^0.1.3"
is-extendable "^0.1.1"
-mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
+mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
dependencies:
@@ -6854,6 +6802,18 @@ webidl-conversions@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.1.tgz#8015a17ab83e7e1b311638486ace81da6ce206a0"
+webpack-assets-manifest@0.6.2:
+ version "0.6.2"
+ resolved "https://registry.yarnpkg.com/webpack-assets-manifest/-/webpack-assets-manifest-0.6.2.tgz#1f8dd38a2d132474ce26e7d37dc894ba6ddf4b4f"
+ dependencies:
+ chalk "^1.0"
+ lodash.find "^4.0"
+ lodash.get "^4.0"
+ lodash.keys "^4.0"
+ lodash.merge "^4.0"
+ lodash.pick "^4.0"
+ mkdirp "^0.5"
+
webpack-dev-middleware@1.10.2, webpack-dev-middleware@^1.10.2:
version "1.10.2"
resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.10.2.tgz#2e252ce1dfb020dbda1ccb37df26f30ab014dbd1"
diff --git a/packages/kyt-starter-universal/package.json b/packages/kyt-starter-universal/package.json
index 83658e5a5..3b04a1268 100644
--- a/packages/kyt-starter-universal/package.json
+++ b/packages/kyt-starter-universal/package.json
@@ -1,6 +1,6 @@
{
"name": "kyt-starter-universal",
- "version": "0.3.0-alpha.3",
+ "version": "0.3.0-alpha.5",
"description": "",
"repository": {
"type": "git",
diff --git a/packages/kyt-starter-universal/starter-src/package.json b/packages/kyt-starter-universal/starter-src/package.json
index ef1ac68a0..24673b83c 100644
--- a/packages/kyt-starter-universal/starter-src/package.json
+++ b/packages/kyt-starter-universal/starter-src/package.json
@@ -23,7 +23,7 @@
},
"devDependencies": {
"enzyme": "2.4.1",
- "kyt": "0.6.0-alpha.3",
+ "kyt": "0.6.0-alpha.5",
"react-addons-test-utils": "15.3.0"
}
}
diff --git a/packages/kyt-starter-universal/starter-src/src/routes/index.js b/packages/kyt-starter-universal/starter-src/src/routes/index.js
index e5b41a4ef..5bd6c4b6c 100644
--- a/packages/kyt-starter-universal/starter-src/src/routes/index.js
+++ b/packages/kyt-starter-universal/starter-src/src/routes/index.js
@@ -9,13 +9,13 @@ import App from '../components/App';
// https://webpack.js.org/guides/migrating/#code-splitting-with-es2015
const importHome = (nextState, cb) => {
- import('../components/Home')
+ import(/* webpackChunkName: "home" */ '../components/Home')
.then(module => cb(null, module.default))
.catch((e) => { throw e; });
};
const importTools = (nextState, cb) => {
- import('../components/Tools')
+ import(/* webpackChunkName: "tools" */'../components/Tools')
.then(module => cb(null, module.default))
.catch((e) => { throw e; });
};
diff --git a/packages/kyt-starter-universal/starter-src/src/server/index.js b/packages/kyt-starter-universal/starter-src/src/server/index.js
index 4ec89bc26..0e578ccbc 100644
--- a/packages/kyt-starter-universal/starter-src/src/server/index.js
+++ b/packages/kyt-starter-universal/starter-src/src/server/index.js
@@ -37,8 +37,10 @@ app.get('*', (request, response) => {
// the components and assets into the template.
response.status(200).send(template({
root: renderToString(