Skip to content

Commit 093a204

Browse files
committed
test: fix tests for webpack 5
Some of the plugins / loaders are not fully compatible with the most recent version of webpack
1 parent b94289c commit 093a204

File tree

3 files changed

+130
-6
lines changed

3 files changed

+130
-6
lines changed

Diff for: package.json

+2
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@
6363
"css-loader": "^4.3.0",
6464
"file-loader": "^6.1.0",
6565
"html-webpack-plugin": "^4.5.0",
66+
"html-webpack-plugin-v5": "npm:html-webpack-plugin@^5.3.2",
6667
"jest": "^26.4.1",
6768
"jsdom": "^16.4.0",
6869
"lint-staged": "^10.3.0",
@@ -82,6 +83,7 @@
8283
"sugarss": "^3.0.1",
8384
"ts-jest": "^26.2.0",
8485
"ts-loader": "^8.0.6",
86+
"ts-loader-v9": "npm:ts-loader@^9.2.4",
8587
"typescript": "^4.0.2",
8688
"url-loader": "^4.1.0",
8789
"vue": "^3.0.8",

Diff for: test/edgeCases.spec.ts

+9-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import * as path from 'path'
22
import webpack = require('webpack')
3-
import HTMLPlugin = require('html-webpack-plugin')
43
import { mfs, bundle, mockBundleAndRun, normalizeNewline } from './utils'
54

65
// @ts-ignore
@@ -115,6 +114,10 @@ test('should not duplicate css modules value imports', async () => {
115114

116115
// #1213
117116
test('html-webpack-plugin', async () => {
117+
let HTMLPlugin = require('html-webpack-plugin')
118+
if (process.env.WEBPACK5) {
119+
HTMLPlugin = require('html-webpack-plugin-v5')
120+
}
118121
await bundle({
119122
entry: 'basic.vue',
120123
plugins: [
@@ -145,6 +148,10 @@ test('usage with null-loader', async () => {
145148

146149
// #1278
147150
test('proper dedupe on src-imports with options', async () => {
151+
let tsLoaderPath = require.resolve('ts-loader')
152+
if (process.env.WEBPACK5) {
153+
tsLoaderPath = require.resolve('ts-loader-v9')
154+
}
148155
const result = await mockBundleAndRun({
149156
entry: 'ts.vue',
150157
resolve: {
@@ -154,7 +161,7 @@ test('proper dedupe on src-imports with options', async () => {
154161
rules: [
155162
{
156163
test: /\.ts$/,
157-
loader: 'ts-loader',
164+
loader: tsLoaderPath,
158165
options: { appendTsSuffixTo: [/\.vue$/] },
159166
},
160167
],

Diff for: yarn.lock

+119-4
Original file line numberDiff line numberDiff line change
@@ -2306,7 +2306,7 @@ bonjour@^3.5.0:
23062306
multicast-dns "^6.0.1"
23072307
multicast-dns-service-types "^1.1.0"
23082308

2309-
boolbase@~1.0.0:
2309+
boolbase@^1.0.0, boolbase@~1.0.0:
23102310
version "1.0.0"
23112311
resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
23122312
integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24=
@@ -3311,11 +3311,27 @@ css-select@^1.1.0:
33113311
domutils "1.5.1"
33123312
nth-check "~1.0.1"
33133313

3314+
css-select@^4.1.3:
3315+
version "4.1.3"
3316+
resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067"
3317+
integrity sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==
3318+
dependencies:
3319+
boolbase "^1.0.0"
3320+
css-what "^5.0.0"
3321+
domhandler "^4.2.0"
3322+
domutils "^2.6.0"
3323+
nth-check "^2.0.0"
3324+
33143325
33153326
version "2.1.3"
33163327
resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2"
33173328
integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==
33183329

3330+
css-what@^5.0.0:
3331+
version "5.0.1"
3332+
resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.0.1.tgz#3efa820131f4669a8ac2408f9c32e7c7de9f4cad"
3333+
integrity sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==
3334+
33193335
css@^2.0.0:
33203336
version "2.2.4"
33213337
resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929"
@@ -3603,7 +3619,7 @@ doctypes@^1.1.0:
36033619
resolved "https://registry.yarnpkg.com/doctypes/-/doctypes-1.1.0.tgz#ea80b106a87538774e8a3a4a5afe293de489e0a9"
36043620
integrity sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=
36053621

3606-
dom-converter@^0.2:
3622+
dom-converter@^0.2, dom-converter@^0.2.0:
36073623
version "0.2.0"
36083624
resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768"
36093625
integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==
@@ -3618,6 +3634,15 @@ dom-serializer@0:
36183634
domelementtype "^2.0.1"
36193635
entities "^2.0.0"
36203636

3637+
dom-serializer@^1.0.1:
3638+
version "1.3.2"
3639+
resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91"
3640+
integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==
3641+
dependencies:
3642+
domelementtype "^2.0.1"
3643+
domhandler "^4.2.0"
3644+
entities "^2.0.0"
3645+
36213646
domain-browser@^1.1.1:
36223647
version "1.2.0"
36233648
resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
@@ -3633,6 +3658,11 @@ domelementtype@^2.0.1:
36333658
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.2.tgz#f3b6e549201e46f588b59463dd77187131fe6971"
36343659
integrity sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA==
36353660

3661+
domelementtype@^2.2.0:
3662+
version "2.2.0"
3663+
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57"
3664+
integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==
3665+
36363666
domexception@^2.0.1:
36373667
version "2.0.1"
36383668
resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304"
@@ -3647,6 +3677,13 @@ domhandler@^2.3.0:
36473677
dependencies:
36483678
domelementtype "1"
36493679

3680+
domhandler@^4.0.0, domhandler@^4.2.0:
3681+
version "4.2.0"
3682+
resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.0.tgz#f9768a5f034be60a89a27c2e4d0f74eba0d8b059"
3683+
integrity sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==
3684+
dependencies:
3685+
domelementtype "^2.2.0"
3686+
36503687
36513688
version "1.5.1"
36523689
resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
@@ -3663,6 +3700,15 @@ domutils@^1.5.1:
36633700
dom-serializer "0"
36643701
domelementtype "1"
36653702

3703+
domutils@^2.5.2, domutils@^2.6.0:
3704+
version "2.7.0"
3705+
resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.7.0.tgz#8ebaf0c41ebafcf55b0b72ec31c56323712c5442"
3706+
integrity sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg==
3707+
dependencies:
3708+
dom-serializer "^1.0.1"
3709+
domelementtype "^2.2.0"
3710+
domhandler "^4.2.0"
3711+
36663712
dot-case@^3.0.3:
36673713
version "3.0.3"
36683714
resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.3.tgz#21d3b52efaaba2ea5fda875bb1aa8124521cf4aa"
@@ -3765,7 +3811,7 @@ enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.1, enhanced-resolve@^4.3.0:
37653811
memory-fs "^0.5.0"
37663812
tapable "^1.0.0"
37673813

3768-
enhanced-resolve@^5.8.0:
3814+
enhanced-resolve@^5.0.0, enhanced-resolve@^5.8.0:
37693815
version "5.8.2"
37703816
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.2.tgz#15ddc779345cbb73e97c611cd00c01c1e7bf4d8b"
37713817
integrity sha512-F27oB3WuHDzvR2DOGNTaYy0D5o0cnrv8TeI482VM4kYgQd/FT9lUQwuNsJ0oOHtBUq7eiW5ytqzp7nBFknL+GA==
@@ -4779,6 +4825,17 @@ html-minifier-terser@^5.0.1:
47794825
relateurl "^0.2.7"
47804826
terser "^4.6.3"
47814827

4828+
"html-webpack-plugin-v5@npm:html-webpack-plugin@^5.3.2":
4829+
version "5.3.2"
4830+
resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.3.2.tgz#7b04bf80b1f6fe84a6d3f66c8b79d64739321b08"
4831+
integrity sha512-HvB33boVNCz2lTyBsSiMffsJ+m0YLIQ+pskblXgN9fnjS1BgEcuAfdInfXfGrkdXV406k9FiDi86eVCDBgJOyQ==
4832+
dependencies:
4833+
"@types/html-minifier-terser" "^5.0.0"
4834+
html-minifier-terser "^5.0.1"
4835+
lodash "^4.17.21"
4836+
pretty-error "^3.0.4"
4837+
tapable "^2.0.0"
4838+
47824839
html-webpack-plugin@^4.5.0:
47834840
version "4.5.0"
47844841
resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz#625097650886b97ea5dae331c320e3238f6c121c"
@@ -4806,6 +4863,16 @@ htmlparser2@^3.3.0:
48064863
inherits "^2.0.1"
48074864
readable-stream "^3.1.1"
48084865

4866+
htmlparser2@^6.1.0:
4867+
version "6.1.0"
4868+
resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7"
4869+
integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==
4870+
dependencies:
4871+
domelementtype "^2.0.1"
4872+
domhandler "^4.0.0"
4873+
domutils "^2.5.2"
4874+
entities "^2.0.0"
4875+
48094876
http-deceiver@^1.2.7:
48104877
version "1.2.7"
48114878
resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87"
@@ -6161,6 +6228,11 @@ lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17
61616228
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
61626229
integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
61636230

6231+
lodash@^4.17.21:
6232+
version "4.17.21"
6233+
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
6234+
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
6235+
61646236
log-symbols@^4.0.0:
61656237
version "4.0.0"
61666238
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920"
@@ -6807,6 +6879,13 @@ npm-run-path@^4.0.0:
68076879
dependencies:
68086880
path-key "^3.0.0"
68096881

6882+
nth-check@^2.0.0:
6883+
version "2.0.0"
6884+
resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.0.tgz#1bb4f6dac70072fc313e8c9cd1417b5074c0a125"
6885+
integrity sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q==
6886+
dependencies:
6887+
boolbase "^1.0.0"
6888+
68106889
nth-check@~1.0.1:
68116890
version "1.0.2"
68126891
resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c"
@@ -7471,6 +7550,14 @@ pretty-error@^2.1.1:
74717550
lodash "^4.17.20"
74727551
renderkid "^2.0.4"
74737552

7553+
pretty-error@^3.0.4:
7554+
version "3.0.4"
7555+
resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-3.0.4.tgz#94b1d54f76c1ed95b9c604b9de2194838e5b574e"
7556+
integrity sha512-ytLFLfv1So4AO1UkoBF6GXQgJRaKbiSiGFICaOPNwQ3CMvBvXpLRubeQWyPGnsbV/t9ml9qto6IeCsho0aEvwQ==
7557+
dependencies:
7558+
lodash "^4.17.20"
7559+
renderkid "^2.0.6"
7560+
74747561
pretty-format@^25.2.1, pretty-format@^25.5.0:
74757562
version "25.5.0"
74767563
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a"
@@ -8003,6 +8090,17 @@ renderkid@^2.0.4:
80038090
lodash "^4.17.20"
80048091
strip-ansi "^3.0.0"
80058092

8093+
renderkid@^2.0.6:
8094+
version "2.0.7"
8095+
resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.7.tgz#464f276a6bdcee606f4a15993f9b29fc74ca8609"
8096+
integrity sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==
8097+
dependencies:
8098+
css-select "^4.1.3"
8099+
dom-converter "^0.2.0"
8100+
htmlparser2 "^6.1.0"
8101+
lodash "^4.17.21"
8102+
strip-ansi "^3.0.1"
8103+
80068104
repeat-element@^1.1.2:
80078105
version "1.1.3"
80088106
resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce"
@@ -8324,6 +8422,13 @@ semver@^6.0.0, semver@^6.3.0:
83248422
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
83258423
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
83268424

8425+
semver@^7.3.4:
8426+
version "7.3.5"
8427+
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
8428+
integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
8429+
dependencies:
8430+
lru-cache "^6.0.0"
8431+
83278432
83288433
version "0.17.1"
83298434
resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
@@ -8990,7 +9095,7 @@ tapable@^1.0.0, tapable@^1.1.3:
89909095
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
89919096
integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
89929097

8993-
tapable@^2.1.1, tapable@^2.2.0:
9098+
tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0:
89949099
version "2.2.0"
89959100
resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.0.tgz#5c373d281d9c672848213d0e037d1c4165ab426b"
89969101
integrity sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==
@@ -9235,6 +9340,16 @@ ts-jest@^26.2.0:
92359340
semver "7.x"
92369341
yargs-parser "18.x"
92379342

9343+
"ts-loader-v9@npm:ts-loader@^9.2.4":
9344+
version "9.2.4"
9345+
resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.2.4.tgz#55fe7e5eab29fe4bdfb01c1f941c2bab928b7f92"
9346+
integrity sha512-Ats2BCqPFBkgsoZUmmYMjuQu+iBNExt4o3QDsJqRMuPdStWlnOthdqX/GHHJnxSSgw7Gu6Hll/MD5b4usgKFOg==
9347+
dependencies:
9348+
chalk "^4.1.0"
9349+
enhanced-resolve "^5.0.0"
9350+
micromatch "^4.0.0"
9351+
semver "^7.3.4"
9352+
92389353
ts-loader@^8.0.6:
92399354
version "8.0.6"
92409355
resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.6.tgz#8f47d203ef8fc95826a292a09f97a02bf1f57565"

0 commit comments

Comments
 (0)