Skip to content

Commit 7d591ac

Browse files
sebastianseilundScriptedAlchemy
authored andcommitted
fix(index.js): Support function loaders (#116)
* docs(readme): Tone of Voice clairification on what hot:true does (#113) * fix(index.js): Support function loaders updateWebpackConfig previously expected `use` entries to be strings or arrays, and would throw `needle.includes is not a function` errors when given a function that returns a loader object. * Update README.md
1 parent 1200397 commit 7d591ac

File tree

5 files changed

+28
-0
lines changed

5 files changed

+28
-0
lines changed

src/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,9 @@ class ExtractCssChunks {
426426
this.traverseDepthFirst(rule, (node) => {
427427
if (node && node.use && Array.isArray(node.use)) {
428428
const isMiniCss = node.use.some((l) => {
429+
if (typeof l === 'function') {
430+
return false;
431+
}
429432
const needle = l.loader || l;
430433
if (typeof l === 'function') {
431434
return false;
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
body { background: red; }
2+

test/cases/function-loader/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
import './style.css';

test/cases/function-loader/style.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
body { background: red; }
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
const Self = require('../../../');
2+
3+
module.exports = {
4+
entry: './index.js',
5+
module: {
6+
rules: [
7+
{
8+
test: /\.css$/,
9+
use: [
10+
() => ({ loader: 'css-loader' }),
11+
],
12+
},
13+
],
14+
},
15+
plugins: [
16+
new Self({
17+
filename: '[name].css',
18+
hot: true,
19+
}),
20+
],
21+
};

0 commit comments

Comments
 (0)