Skip to content
This repository was archived by the owner on Oct 29, 2021. It is now read-only.

Commit 2a1eff6

Browse files
committed
Only add loader if there is a css-loader
1 parent 06fda04 commit 2a1eff6

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

packages/gatsby-plugin-css-customs/gatsby-node.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
module.exports.onCreateWebpackConfig = (
2-
{ actions, getConfig, rules },
2+
{ actions, getConfig, loaders, rules },
33
pluginOptions
44
) => {
55
const { cssModules = false } = pluginOptions
66

77
const config = getConfig()
8+
const cssLoader = loaders.css()
89
const plainCssRule = rules.css()
910
const cssModulesRule = rules.cssModules()
11+
12+
const isCssLoader = ({ loader }) => loader === cssLoader.loader
1013
const isPlainCssRule = rule => (rule.test.source = plainCssRule.test.source)
1114
const isCssModulesRule = rule =>
1215
(rule.test.source = cssModulesRule.test.source)
@@ -19,10 +22,10 @@ module.exports.onCreateWebpackConfig = (
1922
cssRules.oneOf
2023
.filter(cssModules ? isAnyCssRule : isPlainCssRule)
2124
.forEach(rule => {
22-
const insertIndex = rule.use.findIndex(({ loader }) =>
23-
loader.match(/\bcss-loader\b/)
24-
)
25-
rule.use.splice(insertIndex, 0, cssCustomsLoader)
25+
const insertIndex = rule.use.findIndex(isCssLoader)
26+
if (insertIndex !== -1) {
27+
rule.use.splice(insertIndex, 0, cssCustomsLoader)
28+
}
2629
})
2730

2831
actions.replaceWebpackConfig(config)

0 commit comments

Comments
 (0)