Skip to content

Commit 3f77bed

Browse files
authored
Merge pull request #532 from GrabarzUndPartner/feature/webpack-rules
fix(webpack): fix `setLoaderRulesForShadowMode`
2 parents 672928f + ec4e387 commit 3f77bed

File tree

4 files changed

+6996
-8740
lines changed

4 files changed

+6996
-8740
lines changed

example/nuxt.config.js

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,15 @@ export default {
4545
},
4646

4747
postcss: {
48-
plugins: {
49-
'postcss-preset-env': {
50-
preserve: true,
51-
stage: 0
52-
}
53-
},
54-
order: 'cssnanoLast'
48+
postcssOptions: {
49+
plugins: {
50+
'postcss-preset-env': {
51+
preserve: true,
52+
stage: 0
53+
}
54+
},
55+
order: 'cssnanoLast'
56+
}
5557
}
5658

5759
},
@@ -115,7 +117,6 @@ export default {
115117
},
116118

117119
buildModules: [
118-
'@nuxt/postcss8',
119120
'@nuxtjs/eslint-module',
120121
'@nuxtjs/stylelint-module'
121122
],

lib/utils/webpack.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,13 @@ function build (webpackConfigs, nuxt) {
4848
}
4949

5050
function setLoaderRulesForShadowMode (rules) {
51-
const vueLoaderRule = rules.find(({ test }) => test.test('.vue'));
51+
let vueLoaderRule = rules.find(({ test }) => test.test('.vue'));
52+
53+
if ('use' in vueLoaderRule) {
54+
vueLoaderRule = vueLoaderRule.use.find(rule => rule.loader.includes('vue-loader'));
55+
} else if (!vueLoaderRule?.options) {
56+
vueLoaderRule = null;
57+
}
5258

5359
if (vueLoaderRule) {
5460
vueLoaderRule.options.shadowMode = true;

0 commit comments

Comments
 (0)