Skip to content

Commit 9a2451f

Browse files
niedJLHwung
andauthored
Remove dependency on loader-utils and drop webpack 4 support (#942)
Co-authored-by: Huáng Jùnliàng <[email protected]>
1 parent 12876a5 commit 9a2451f

File tree

7 files changed

+27
-40
lines changed

7 files changed

+27
-40
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ jobs:
2020
strategy:
2121
matrix:
2222
os: [ubuntu-latest, windows-latest]
23-
node-version: [14.x, 16.x]
24-
webpack-version: [latest, '4']
23+
node-version: [14, 16, 18]
24+
webpack-version: ['5']
2525
include:
26-
- node-version: 18.x
26+
- node-version: latest
2727
webpack-version: latest
2828
os: ubuntu-latest
2929
coverage: true

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,11 @@
1111
},
1212
"dependencies": {
1313
"find-cache-dir": "^3.3.2",
14-
"loader-utils": "^2.0.0",
1514
"schema-utils": "^4.0.0"
1615
},
1716
"peerDependencies": {
1817
"@babel/core": "^7.12.0",
19-
"webpack": ">=2"
18+
"webpack": ">=5"
2019
},
2120
"devDependencies": {
2221
"@ava/babel": "^1.0.1",

src/index.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ const injectCaller = require("./injectCaller");
2626
const schema = require("./schema");
2727

2828
const { isAbsolute } = require("path");
29-
const loaderUtils = require("loader-utils");
3029
const validateOptions = require("schema-utils").validate;
3130

3231
function subscribe(subscriber, metadata, context) {
@@ -55,8 +54,7 @@ function makeLoader(callback) {
5554
async function loader(source, inputSourceMap, overrides) {
5655
const filename = this.resourcePath;
5756

58-
let loaderOptions = loaderUtils.getOptions(this);
59-
57+
let loaderOptions = this.getOptions();
6058
validateOptions(schema, loaderOptions, {
6159
name: "Babel loader",
6260
});

test/cache.test.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,8 +171,12 @@ test.serial.cb(
171171
rules: [
172172
{
173173
test: /\.jsx?/,
174-
use: `${babelLoader}?cacheDirectory=true&presets[]=@babel/preset-env`,
174+
loader: babelLoader,
175175
exclude: /node_modules/,
176+
options: {
177+
cacheDirectory: true,
178+
presets: ["@babel/preset-env"],
179+
},
176180
},
177181
],
178182
},

test/options.test.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,11 @@ const globalConfig = {
1414
rules: [
1515
{
1616
test: /\.jsx?/,
17-
use: babelLoader,
17+
loader: babelLoader,
1818
exclude: /node_modules/,
19+
options: {
20+
presets: ["@babel/env"],
21+
},
1922
},
2023
],
2124
},
@@ -42,8 +45,11 @@ test.cb("should interpret options given to the loader", t => {
4245
rules: [
4346
{
4447
test: /\.jsx?/,
45-
use: babelLoader + "?presets[]=@babel/env",
48+
loader: babelLoader,
4649
exclude: /node_modules/,
50+
options: {
51+
presets: ["@babel/env"],
52+
},
4753
},
4854
],
4955
},

test/sourcemaps.test.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,11 @@ test.cb("should output webpack's sourcemap", t => {
4444
rules: [
4545
{
4646
test: /\.jsx?/,
47-
use: babelLoader + "?presets[]=@babel/env",
47+
loader: babelLoader,
4848
exclude: /node_modules/,
49+
options: {
50+
presets: ["@babel/env"],
51+
},
4952
},
5053
],
5154
},
@@ -147,8 +150,11 @@ test.cb("should output webpack's devtoolModuleFilename option", t => {
147150
rules: [
148151
{
149152
test: /\.jsx?/,
150-
use: babelLoader + "?presets[]=@babel/env",
153+
loader: babelLoader,
151154
exclude: /node_modules/,
155+
options: {
156+
presets: ["@babel/env"],
157+
},
152158
},
153159
],
154160
},

yarn.lock

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2232,7 +2232,6 @@ __metadata:
22322232
find-cache-dir: ^3.3.2
22332233
husky: ^4.3.0
22342234
lint-staged: ^10.5.1
2235-
loader-utils: ^2.0.0
22362235
nyc: ^15.1.0
22372236
pnp-webpack-plugin: ^1.6.4
22382237
prettier: ^2.1.2
@@ -2245,7 +2244,7 @@ __metadata:
22452244
webpack: ^5.34.0
22462245
peerDependencies:
22472246
"@babel/core": ^7.12.0
2248-
webpack: ">=2"
2247+
webpack: ">=5"
22492248
languageName: unknown
22502249
linkType: soft
22512250

@@ -2334,13 +2333,6 @@ __metadata:
23342333
languageName: node
23352334
linkType: hard
23362335

2337-
"big.js@npm:^5.2.2":
2338-
version: 5.2.2
2339-
resolution: "big.js@npm:5.2.2"
2340-
checksum: b89b6e8419b097a8fb4ed2399a1931a68c612bce3cfd5ca8c214b2d017531191070f990598de2fc6f3f993d91c0f08aa82697717f6b3b8732c9731866d233c9e
2341-
languageName: node
2342-
linkType: hard
2343-
23442336
"binary-extensions@npm:^1.0.0":
23452337
version: 1.13.1
23462338
resolution: "binary-extensions@npm:1.13.1"
@@ -3308,13 +3300,6 @@ __metadata:
33083300
languageName: node
33093301
linkType: hard
33103302

3311-
"emojis-list@npm:^3.0.0":
3312-
version: 3.0.0
3313-
resolution: "emojis-list@npm:3.0.0"
3314-
checksum: ddaaa02542e1e9436c03970eeed445f4ed29a5337dfba0fe0c38dfdd2af5da2429c2a0821304e8a8d1cadf27fdd5b22ff793571fa803ae16852a6975c65e8e70
3315-
languageName: node
3316-
linkType: hard
3317-
33183303
"empower-core@npm:^1.2.0":
33193304
version: 1.2.0
33203305
resolution: "empower-core@npm:1.2.0"
@@ -5320,17 +5305,6 @@ fsevents@~2.1.2:
53205305
languageName: node
53215306
linkType: hard
53225307

5323-
"loader-utils@npm:^2.0.0":
5324-
version: 2.0.2
5325-
resolution: "loader-utils@npm:2.0.2"
5326-
dependencies:
5327-
big.js: ^5.2.2
5328-
emojis-list: ^3.0.0
5329-
json5: ^2.1.2
5330-
checksum: 9078d1ed47cadc57f4c6ddbdb2add324ee7da544cea41de3b7f1128e8108fcd41cd3443a85b7ee8d7d8ac439148aa221922774efe4cf87506d4fb054d5889303
5331-
languageName: node
5332-
linkType: hard
5333-
53345308
"locate-path@npm:^3.0.0":
53355309
version: 3.0.0
53365310
resolution: "locate-path@npm:3.0.0"

0 commit comments

Comments
 (0)