Skip to content

Commit bcbfa8e

Browse files
committed
Using webpack-manifest-plugin instead of assets-webpack-plugin
1 parent 7c6fa29 commit bcbfa8e

File tree

4 files changed

+50
-105
lines changed

4 files changed

+50
-105
lines changed

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,6 @@
300300
"@babel/preset-react": "^7.0.0-beta.44",
301301
"@babel/preset-stage-0": "^7.0.0-beta.44",
302302
"asset-require-hook": "^1.2.0",
303-
"assets-webpack-plugin": "^3.5.1",
304303
"autoprefixer": "^8.2.0",
305304
"babel-core": "^7.0.0-0",
306305
"babel-eslint": "^8.2.2",
@@ -359,7 +358,8 @@
359358
"webpack-bundle-analyzer": "^2.11.1",
360359
"webpack-cli": "^2.0.14",
361360
"webpack-dev-middleware": "^3.1.2",
362-
"webpack-hot-middleware": "^2.21.2"
361+
"webpack-hot-middleware": "^2.21.2",
362+
"webpack-manifest-plugin": "^2.0.0-rc.2"
363363
},
364364
"resolutions": {
365365
"webpack-sources": "^1.1.0"

src/helpers/renderHtml.js

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,9 @@ export default (
88
initialState: Object,
99
loadableStateTag: string
1010
): string => {
11-
// Use pre-defined assets to make sure using the correct script/style in development
12-
// "main" is the default webpack generating file name
11+
// Use pre-defined assets in development. "main" is the default webpack generated name.
1312
const envAssets = __DEV__
14-
? { main: { js: '/assets/main.js', css: '/assets/main.css' } }
13+
? { js: '/assets/main.js', css: '/assets/main.css' }
1514
: assets;
1615

1716
const html = `
@@ -36,9 +35,9 @@ export default (
3635
${Object.keys(envAssets)
3736
.map(
3837
key =>
39-
envAssets[key].css
38+
key.substr(key.length - 3) === 'css'
4039
? `<link href="${
41-
envAssets[key].css
40+
envAssets[key]
4241
}" media="screen, projection" rel="stylesheet" type="text/css">`
4342
: ''
4443
)
@@ -61,7 +60,12 @@ export default (
6160
6261
<!-- Insert bundled scripts into <script> tag -->
6362
${Object.keys(envAssets)
64-
.map(key => `<script src="${envAssets[key].js}"></script>`)
63+
.map(
64+
key =>
65+
key.substr(key.length - 2) === 'js'
66+
? `<script src="${envAssets[key]}"></script>`
67+
: ''
68+
)
6569
.join('')}
6670
6771
${head.script.toString()}

tools/webpack/config.babel.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import path from 'path';
22
import webpack from 'webpack';
3-
import AssetsPlugin from 'assets-webpack-plugin';
3+
import ManifestPlugin from 'webpack-manifest-plugin';
44
import MiniCssExtractPlugin from 'mini-css-extract-plugin';
55
import StyleLintPlugin from 'stylelint-webpack-plugin';
66
import CompressionPlugin from 'compression-webpack-plugin';
@@ -21,7 +21,10 @@ const stylelint = false;
2121
const getPlugins = () => {
2222
// Common
2323
const plugins = [
24-
new AssetsPlugin({ path: path.resolve(process.cwd(), 'public') }),
24+
new ManifestPlugin({
25+
fileName: path.resolve(process.cwd(), 'public/webpack-assets.json'),
26+
filter: file => file.isInitial
27+
}),
2528
new MiniCssExtractPlugin({
2629
// Don't use hash in development, we need the persistent for "renderHtml.js"
2730
filename: isDev ? '[name].css' : '[name].[chunkhash:8].css',

yarn.lock

Lines changed: 33 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -1148,16 +1148,6 @@ asset-require-hook@^1.2.0:
11481148
lodash.assign "^4.0.0"
11491149
mime "^1.3.4"
11501150

1151-
assets-webpack-plugin@^3.5.1:
1152-
version "3.5.1"
1153-
resolved "https://registry.yarnpkg.com/assets-webpack-plugin/-/assets-webpack-plugin-3.5.1.tgz#931ce0d66d42e88ed5e7f18d65522943c57a387d"
1154-
dependencies:
1155-
camelcase "^1.2.1"
1156-
escape-string-regexp "^1.0.3"
1157-
lodash.assign "^3.2.0"
1158-
lodash.merge "^3.3.2"
1159-
mkdirp "^0.5.1"
1160-
11611151
assign-symbols@^1.0.0:
11621152
version "1.0.0"
11631153
resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
@@ -2413,7 +2403,7 @@ camelcase-keys@^4.0.0:
24132403
map-obj "^2.0.0"
24142404
quick-lru "^1.0.0"
24152405

2416-
camelcase@^1.0.2, camelcase@^1.2.1:
2406+
camelcase@^1.0.2:
24172407
version "1.2.1"
24182408
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
24192409

@@ -3969,7 +3959,7 @@ escape-html@~1.0.3:
39693959
version "1.0.3"
39703960
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
39713961

3972-
escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.3, escape-string-regexp@^1.0.5:
3962+
escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
39733963
version "1.0.5"
39743964
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
39753965

@@ -4796,6 +4786,16 @@ from@~0:
47964786
version "0.1.7"
47974787
resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe"
47984788

4789+
fs-extra@^0.30.0:
4790+
version "0.30.0"
4791+
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0"
4792+
dependencies:
4793+
graceful-fs "^4.1.2"
4794+
jsonfile "^2.1.0"
4795+
klaw "^1.0.0"
4796+
path-is-absolute "^1.0.0"
4797+
rimraf "^2.2.8"
4798+
47994799
fs-readdir-recursive@^1.0.0:
48004800
version "1.1.0"
48014801
resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27"
@@ -5221,7 +5221,7 @@ got@^8.2.0:
52215221
url-parse-lax "^3.0.0"
52225222
url-to-options "^1.0.1"
52235223

5224-
graceful-fs@^4.0.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.2:
5224+
graceful-fs@^4.0.0, graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
52255225
version "4.1.11"
52265226
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
52275227

@@ -6872,6 +6872,12 @@ json5@^0.5.0, json5@^0.5.1:
68726872
version "0.5.1"
68736873
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
68746874

6875+
jsonfile@^2.1.0:
6876+
version "2.4.0"
6877+
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
6878+
optionalDependencies:
6879+
graceful-fs "^4.1.6"
6880+
68756881
jsonify@~0.0.0:
68766882
version "0.0.0"
68776883
resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
@@ -6921,6 +6927,12 @@ kind-of@^6.0.0, kind-of@^6.0.2:
69216927
version "6.0.2"
69226928
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
69236929

6930+
klaw@^1.0.0:
6931+
version "1.3.1"
6932+
resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439"
6933+
optionalDependencies:
6934+
graceful-fs "^4.1.9"
6935+
69246936
known-css-properties@^0.5.0:
69256937
version "0.5.0"
69266938
resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.5.0.tgz#6ff66943ed4a5b55657ee095779a91f4536f8084"
@@ -7096,29 +7108,10 @@ lodash-es@^4.17.5, lodash-es@^4.2.1:
70967108
version "4.17.8"
70977109
resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.8.tgz#6fa8c8c5d337481df0bdf1c0d899d42473121e45"
70987110

7099-
lodash._arraycopy@^3.0.0:
7100-
version "3.0.0"
7101-
resolved "https://registry.yarnpkg.com/lodash._arraycopy/-/lodash._arraycopy-3.0.0.tgz#76e7b7c1f1fb92547374878a562ed06a3e50f6e1"
7102-
7103-
lodash._arrayeach@^3.0.0:
7104-
version "3.0.0"
7105-
resolved "https://registry.yarnpkg.com/lodash._arrayeach/-/lodash._arrayeach-3.0.0.tgz#bab156b2a90d3f1bbd5c653403349e5e5933ef9e"
7106-
7107-
lodash._baseassign@^3.0.0:
7108-
version "3.2.0"
7109-
resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e"
7110-
dependencies:
7111-
lodash._basecopy "^3.0.0"
7112-
lodash.keys "^3.0.0"
7113-
71147111
lodash._basecopy@^3.0.0:
71157112
version "3.0.1"
71167113
resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"
71177114

7118-
lodash._basefor@^3.0.0:
7119-
version "3.0.3"
7120-
resolved "https://registry.yarnpkg.com/lodash._basefor/-/lodash._basefor-3.0.3.tgz#7550b4e9218ef09fad24343b612021c79b4c20c2"
7121-
71227115
lodash._basetostring@^3.0.0:
71237116
version "3.0.1"
71247117
resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5"
@@ -7127,18 +7120,6 @@ lodash._basevalues@^3.0.0:
71277120
version "3.0.0"
71287121
resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7"
71297122

7130-
lodash._bindcallback@^3.0.0:
7131-
version "3.0.1"
7132-
resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e"
7133-
7134-
lodash._createassigner@^3.0.0:
7135-
version "3.1.1"
7136-
resolved "https://registry.yarnpkg.com/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz#838a5bae2fdaca63ac22dee8e19fa4e6d6970b11"
7137-
dependencies:
7138-
lodash._bindcallback "^3.0.0"
7139-
lodash._isiterateecall "^3.0.0"
7140-
lodash.restparam "^3.0.0"
7141-
71427123
lodash._getnative@^3.0.0:
71437124
version "3.9.1"
71447125
resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
@@ -7163,14 +7144,6 @@ lodash._root@^3.0.0:
71637144
version "3.0.1"
71647145
resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692"
71657146

7166-
lodash.assign@^3.2.0:
7167-
version "3.2.0"
7168-
resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-3.2.0.tgz#3ce9f0234b4b2223e296b8fa0ac1fee8ebca64fa"
7169-
dependencies:
7170-
lodash._baseassign "^3.0.0"
7171-
lodash._createassigner "^3.0.0"
7172-
lodash.keys "^3.0.0"
7173-
71747147
lodash.assign@^4.0.0, lodash.assign@^4.2.0:
71757148
version "4.2.0"
71767149
resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7"
@@ -7209,22 +7182,10 @@ lodash.isequal@^4.0.0:
72097182
version "4.5.0"
72107183
resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
72117184

7212-
lodash.isplainobject@^3.0.0:
7213-
version "3.2.0"
7214-
resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-3.2.0.tgz#9a8238ae16b200432960cd7346512d0123fbf4c5"
7215-
dependencies:
7216-
lodash._basefor "^3.0.0"
7217-
lodash.isarguments "^3.0.0"
7218-
lodash.keysin "^3.0.0"
7219-
72207185
lodash.isplainobject@^4.0.6:
72217186
version "4.0.6"
72227187
resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
72237188

7224-
lodash.istypedarray@^3.0.0:
7225-
version "3.0.6"
7226-
resolved "https://registry.yarnpkg.com/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz#c9a477498607501d8e8494d283b87c39281cef62"
7227-
72287189
lodash.keys@^3.0.0:
72297190
version "3.1.2"
72307191
resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
@@ -7233,33 +7194,10 @@ lodash.keys@^3.0.0:
72337194
lodash.isarguments "^3.0.0"
72347195
lodash.isarray "^3.0.0"
72357196

7236-
lodash.keysin@^3.0.0:
7237-
version "3.0.8"
7238-
resolved "https://registry.yarnpkg.com/lodash.keysin/-/lodash.keysin-3.0.8.tgz#22c4493ebbedb1427962a54b445b2c8a767fb47f"
7239-
dependencies:
7240-
lodash.isarguments "^3.0.0"
7241-
lodash.isarray "^3.0.0"
7242-
72437197
lodash.memoize@^4.1.2:
72447198
version "4.1.2"
72457199
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
72467200

7247-
lodash.merge@^3.3.2:
7248-
version "3.3.2"
7249-
resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-3.3.2.tgz#0d90d93ed637b1878437bb3e21601260d7afe994"
7250-
dependencies:
7251-
lodash._arraycopy "^3.0.0"
7252-
lodash._arrayeach "^3.0.0"
7253-
lodash._createassigner "^3.0.0"
7254-
lodash._getnative "^3.0.0"
7255-
lodash.isarguments "^3.0.0"
7256-
lodash.isarray "^3.0.0"
7257-
lodash.isplainobject "^3.0.0"
7258-
lodash.istypedarray "^3.0.0"
7259-
lodash.keys "^3.0.0"
7260-
lodash.keysin "^3.0.0"
7261-
lodash.toplainobject "^3.0.0"
7262-
72637201
lodash.mergewith@^4.6.0:
72647202
version "4.6.1"
72657203
resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz#639057e726c3afbdb3e7d42741caa8d6e4335927"
@@ -7301,13 +7239,6 @@ lodash.templatesettings@^3.0.0:
73017239
lodash._reinterpolate "^3.0.0"
73027240
lodash.escape "^3.0.0"
73037241

7304-
lodash.toplainobject@^3.0.0:
7305-
version "3.0.0"
7306-
resolved "https://registry.yarnpkg.com/lodash.toplainobject/-/lodash.toplainobject-3.0.0.tgz#28790ad942d293d78aa663a07ecf7f52ca04198d"
7307-
dependencies:
7308-
lodash._basecopy "^3.0.0"
7309-
lodash.keysin "^3.0.0"
7310-
73117242
lodash.uniq@^4.5.0:
73127243
version "4.5.0"
73137244
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
@@ -7316,7 +7247,7 @@ lodash.zip@^4.2.0:
73167247
version "4.2.0"
73177248
resolved "https://registry.yarnpkg.com/lodash.zip/-/lodash.zip-4.2.0.tgz#ec6662e4896408ed4ab6c542a3990b72cc080020"
73187249

7319-
lodash@^4.0.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.7.0, lodash@~4.17.4:
7250+
"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.11.1, lodash@^4.13.1, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.0, lodash@^4.2.1, lodash@^4.3.0, lodash@^4.7.0, lodash@~4.17.4:
73207251
version "4.17.5"
73217252
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511"
73227253

@@ -11824,6 +11755,13 @@ webpack-log@^1.0.1:
1182411755
loglevelnext "^1.0.1"
1182511756
uuid "^3.1.0"
1182611757

11758+
webpack-manifest-plugin@^2.0.0-rc.2:
11759+
version "2.0.0-rc.2"
11760+
resolved "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-2.0.0-rc.2.tgz#7e12abb805795fe256b085a214a15d9568f0e692"
11761+
dependencies:
11762+
fs-extra "^0.30.0"
11763+
lodash ">=3.5 <5"
11764+
1182711765
webpack-sources@^1.0.1, webpack-sources@^1.1.0:
1182811766
version "1.1.0"
1182911767
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54"

0 commit comments

Comments
 (0)