Skip to content

Commit 41a9441

Browse files
committed
Merge branch 'master' of github.com:smooth-code/loadable-components into master
2 parents 0951e7b + 6926e19 commit 41a9441

File tree

5 files changed

+131
-37
lines changed

5 files changed

+131
-37
lines changed

examples/webpack/webpack4/yarn.lock

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1810,9 +1810,9 @@ domain-browser@^1.1.1:
18101810
integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
18111811

18121812
dot-prop@^4.1.0:
1813-
version "4.2.0"
1814-
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57"
1815-
integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==
1813+
version "4.2.1"
1814+
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.1.tgz#45884194a71fc2cda71cbb4bceb3a4dd2f433ba4"
1815+
integrity sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==
18161816
dependencies:
18171817
is-obj "^1.0.0"
18181818

examples/webpack/webpack5/yarn.lock

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1599,9 +1599,9 @@ detect-libc@^1.0.2:
15991599
integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
16001600

16011601
dot-prop@^4.1.0:
1602-
version "4.2.0"
1603-
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57"
1604-
integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==
1602+
version "4.2.1"
1603+
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.1.tgz#45884194a71fc2cda71cbb4bceb3a4dd2f433ba4"
1604+
integrity sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==
16051605
dependencies:
16061606
is-obj "^1.0.0"
16071607

packages/server/src/ChunkExtractor.js

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,11 @@ function isValidChunkAsset(chunkAsset) {
171171
return chunkAsset.scriptType && !HOT_UPDATE_REGEXP.test(chunkAsset.filename)
172172
}
173173

174+
const JS_FILE = /\.js$/
175+
function checkIfChunkIncludesJs(chunkInfo) {
176+
return chunkInfo.files.some(file => JS_FILE.test(file.split('?')[0]))
177+
}
178+
174179
class ChunkExtractor {
175180
constructor({
176181
statsFile,
@@ -201,6 +206,12 @@ class ChunkExtractor {
201206
return chunkGroup
202207
}
203208

209+
getChunkInfo(chunkId) {
210+
const chunkInfo = this.stats.chunks.find(chunk => chunk.id === chunkId)
211+
invariant(chunkInfo, `cannot find chunk (chunkId: ${chunkId}) in stats`)
212+
return chunkInfo
213+
}
214+
204215
createChunkAsset({ filename, chunk, type, linkType }) {
205216
const resolvedFilename =
206217
typeof filename === 'object' && filename.name ? filename.name : filename
@@ -269,7 +280,17 @@ class ChunkExtractor {
269280
getChunkDependencies(chunks) {
270281
const one = chunk => {
271282
const chunkGroup = this.getChunkGroup(chunk)
272-
return chunkGroup.chunks
283+
284+
// ignore chunk that only contains css files.
285+
return chunkGroup.chunks.filter(chunkId => {
286+
const chunkInfo = this.getChunkInfo(chunkId)
287+
288+
if (!chunkInfo) {
289+
return false
290+
}
291+
292+
return checkIfChunkIncludesJs(chunkInfo)
293+
})
273294
}
274295

275296
if (Array.isArray(chunks)) {

packages/webpack-plugin/src/index.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,19 @@ class LoadablePlugin {
2222
hash: true,
2323
publicPath: true,
2424
assets: true,
25-
chunks: false,
25+
chunks: true,
2626
modules: false,
2727
source: false,
2828
errorDetails: false,
2929
timings: false,
3030
})
31+
32+
stats.chunks = stats.chunks.map(chunk => ({
33+
...chunk,
34+
modules: [], // in case modules array is big
35+
origins: [], // in case origins array is big
36+
}))
37+
3138
const result = JSON.stringify(stats, null, 2)
3239

3340
if (this.opts.writeToDisk) {

website/yarn.lock

Lines changed: 95 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -2606,6 +2606,11 @@ balanced-match@^1.0.0:
26062606
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
26072607
integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
26082608

2609+
2610+
version "0.1.4"
2611+
resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz#9818c79e059b1355f97e0428a017c838e90ba812"
2612+
integrity sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=
2613+
26092614
26102615
version "0.1.5"
26112616
resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8"
@@ -3855,16 +3860,16 @@ [email protected]:
38553860
resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
38563861
integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
38573862

3858-
3859-
version "0.3.1"
3860-
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
3861-
integrity sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=
3862-
38633863
38643864
version "0.4.0"
38653865
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
38663866
integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
38673867

3868+
cookie@~0.4.1:
3869+
version "0.4.1"
3870+
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1"
3871+
integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==
3872+
38683873
copy-concurrently@^1.0.0:
38693874
version "1.0.5"
38703875
resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0"
@@ -4945,28 +4950,45 @@ engine.io-client@~3.4.0:
49454950
xmlhttprequest-ssl "~1.5.4"
49464951
yeast "0.1.2"
49474952

4953+
engine.io-client@~3.5.0:
4954+
version "3.5.0"
4955+
resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.5.0.tgz#fc1b4d9616288ce4f2daf06dcf612413dec941c7"
4956+
integrity sha512-12wPRfMrugVw/DNyJk34GQ5vIVArEcVMXWugQGGuw2XxUSztFNmJggZmv8IZlLyEdnpO1QB9LkcjeWewO2vxtA==
4957+
dependencies:
4958+
component-emitter "~1.3.0"
4959+
component-inherit "0.0.3"
4960+
debug "~3.1.0"
4961+
engine.io-parser "~2.2.0"
4962+
has-cors "1.1.0"
4963+
indexof "0.0.1"
4964+
parseqs "0.0.6"
4965+
parseuri "0.0.6"
4966+
ws "~7.4.2"
4967+
xmlhttprequest-ssl "~1.5.4"
4968+
yeast "0.1.2"
4969+
49484970
engine.io-parser@~2.2.0:
4949-
version "2.2.0"
4950-
resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.2.0.tgz#312c4894f57d52a02b420868da7b5c1c84af80ed"
4951-
integrity sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w==
4971+
version "2.2.1"
4972+
resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.2.1.tgz#57ce5611d9370ee94f99641b589f94c97e4f5da7"
4973+
integrity sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==
49524974
dependencies:
49534975
after "0.8.2"
49544976
arraybuffer.slice "~0.0.7"
4955-
base64-arraybuffer "0.1.5"
4977+
base64-arraybuffer "0.1.4"
49564978
blob "0.0.5"
49574979
has-binary2 "~1.0.2"
49584980

4959-
engine.io@~3.4.0:
4960-
version "3.4.2"
4961-
resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.4.2.tgz#8fc84ee00388e3e228645e0a7d3dfaeed5bd122c"
4962-
integrity sha512-b4Q85dFkGw+TqgytGPrGgACRUhsdKc9S9ErRAXpPGy/CXKs4tYoHDkvIRdsseAF7NjfVwjRFIn6KTnbw7LwJZg==
4981+
engine.io@~3.5.0:
4982+
version "3.5.0"
4983+
resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.5.0.tgz#9d6b985c8a39b1fe87cd91eb014de0552259821b"
4984+
integrity sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA==
49634985
dependencies:
49644986
accepts "~1.3.4"
49654987
base64id "2.0.0"
4966-
cookie "0.3.1"
4988+
cookie "~0.4.1"
49674989
debug "~4.1.0"
49684990
engine.io-parser "~2.2.0"
4969-
ws "^7.1.2"
4991+
ws "~7.4.2"
49704992

49714993
enhanced-resolve@^4.1.0:
49724994
version "4.2.0"
@@ -9187,13 +9209,25 @@ [email protected], "mime-db@>= 1.43.0 < 2", mime-db@^1.28.0:
91879209
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
91889210
integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
91899211

9190-
mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24:
9212+
9213+
version "1.45.0"
9214+
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea"
9215+
integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==
9216+
9217+
mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19:
91919218
version "2.1.27"
91929219
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
91939220
integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
91949221
dependencies:
91959222
mime-db "1.44.0"
91969223

9224+
mime-types@~2.1.24:
9225+
version "2.1.28"
9226+
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd"
9227+
integrity sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==
9228+
dependencies:
9229+
mime-db "1.45.0"
9230+
91979231
[email protected], mime@^1.3.4:
91989232
version "1.6.0"
91999233
resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
@@ -9397,9 +9431,9 @@ [email protected]:
93979431
integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
93989432

93999433
ms@^2.1.1:
9400-
version "2.1.2"
9401-
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
9402-
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
9434+
version "2.1.3"
9435+
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
9436+
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
94039437

94049438
multicast-dns-service-types@^1.1.0:
94059439
version "1.1.0"
@@ -10291,13 +10325,23 @@ [email protected]:
1029110325
dependencies:
1029210326
better-assert "~1.0.0"
1029310327

10328+
10329+
version "0.0.6"
10330+
resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.6.tgz#8e4bb5a19d1cdc844a08ac974d34e273afa670d5"
10331+
integrity sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==
10332+
1029410333
1029510334
version "0.0.5"
1029610335
resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a"
1029710336
integrity sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=
1029810337
dependencies:
1029910338
better-assert "~1.0.0"
1030010339

10340+
10341+
version "0.0.6"
10342+
resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.6.tgz#e1496e829e3ac2ff47f39a4dd044b32823c4a25a"
10343+
integrity sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==
10344+
1030110345
parseurl@^1.3.3, parseurl@~1.3.2, parseurl@~1.3.3:
1030210346
version "1.3.3"
1030310347
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
@@ -12538,12 +12582,29 @@ [email protected]:
1253812582
socket.io-parser "~3.3.0"
1253912583
to-array "0.1.4"
1254012584

12585+
12586+
version "2.4.0"
12587+
resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.4.0.tgz#aafb5d594a3c55a34355562fc8aea22ed9119a35"
12588+
integrity sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ==
12589+
dependencies:
12590+
backo2 "1.0.2"
12591+
component-bind "1.0.0"
12592+
component-emitter "~1.3.0"
12593+
debug "~3.1.0"
12594+
engine.io-client "~3.5.0"
12595+
has-binary2 "~1.0.2"
12596+
indexof "0.0.1"
12597+
parseqs "0.0.6"
12598+
parseuri "0.0.6"
12599+
socket.io-parser "~3.3.0"
12600+
to-array "0.1.4"
12601+
1254112602
socket.io-parser@~3.3.0:
12542-
version "3.3.0"
12543-
resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.3.0.tgz#2b52a96a509fdf31440ba40fed6094c7d4f1262f"
12544-
integrity sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==
12603+
version "3.3.2"
12604+
resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.3.2.tgz#ef872009d0adcf704f2fbe830191a14752ad50b6"
12605+
integrity sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg==
1254512606
dependencies:
12546-
component-emitter "1.2.1"
12607+
component-emitter "~1.3.0"
1254712608
debug "~3.1.0"
1254812609
isarray "2.0.1"
1254912610

@@ -12557,15 +12618,15 @@ socket.io-parser@~3.4.0:
1255712618
isarray "2.0.1"
1255812619

1255912620
socket.io@^2.3.0:
12560-
version "2.3.0"
12561-
resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.3.0.tgz#cd762ed6a4faeca59bc1f3e243c0969311eb73fb"
12562-
integrity sha512-2A892lrj0GcgR/9Qk81EaY2gYhCBxurV0PfmmESO6p27QPrUK1J3zdns+5QPqvUYK2q657nSj0guoIil9+7eFg==
12621+
version "2.4.1"
12622+
resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.4.1.tgz#95ad861c9a52369d7f1a68acf0d4a1b16da451d2"
12623+
integrity sha512-Si18v0mMXGAqLqCVpTxBa8MGqriHGQh8ccEOhmsmNS3thNCGBwO8WGrwMibANsWtQQ5NStdZwHqZR3naJVFc3w==
1256312624
dependencies:
1256412625
debug "~4.1.0"
12565-
engine.io "~3.4.0"
12626+
engine.io "~3.5.0"
1256612627
has-binary2 "~1.0.2"
1256712628
socket.io-adapter "~1.1.0"
12568-
socket.io-client "2.3.0"
12629+
socket.io-client "2.4.0"
1256912630
socket.io-parser "~3.4.0"
1257012631

1257112632
@@ -14563,7 +14624,7 @@ ws@^6.2.1:
1456314624
dependencies:
1456414625
async-limiter "~1.0.0"
1456514626

14566-
ws@^7.1.2, ws@^7.3.0:
14627+
ws@^7.3.0:
1456714628
version "7.3.1"
1456814629
resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.1.tgz#d0547bf67f7ce4f12a72dfe31262c68d7dc551c8"
1456914630
integrity sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==
@@ -14575,6 +14636,11 @@ ws@~6.1.0:
1457514636
dependencies:
1457614637
async-limiter "~1.0.0"
1457714638

14639+
ws@~7.4.2:
14640+
version "7.4.2"
14641+
resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.2.tgz#782100048e54eb36fe9843363ab1c68672b261dd"
14642+
integrity sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==
14643+
1457814644
x-is-string@^0.1.0:
1457914645
version "0.1.0"
1458014646
resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82"

0 commit comments

Comments
 (0)