1
1
import * as path from 'path'
2
- import webpack = require ( 'webpack' )
2
+ import webpack from 'webpack'
3
3
import { mfs , bundle , mockBundleAndRun , normalizeNewline } from './utils'
4
4
5
5
// @ts -ignore
@@ -30,8 +30,11 @@ function assertComponent({
30
30
test ( 'vue rule with include' , async ( ) => {
31
31
const result = await mockBundleAndRun ( {
32
32
entry : 'basic.vue' ,
33
- modify : ( config ) => {
34
- config ! . module ! . rules [ 0 ] = {
33
+ modify : ( config : any ) => {
34
+ const i = config . module . rules . findIndex ( ( r ) =>
35
+ r . test . toString ( ) . includes ( 'vue' )
36
+ )
37
+ config . module . rules [ i ] = {
35
38
test : / \. v u e $ / ,
36
39
include : / f i x t u r e s / ,
37
40
loader : '@freddy38510/vue-loader' ,
@@ -70,8 +73,11 @@ test('test-less oneOf rules', async () => {
70
73
test ( 'normalize multiple use + options' , async ( ) => {
71
74
await bundle ( {
72
75
entry : 'basic.vue' ,
73
- modify : ( config ) => {
74
- config ! . module ! . rules [ 0 ] = {
76
+ modify : ( config : any ) => {
77
+ const i = config . module . rules . findIndex ( ( r ) =>
78
+ r . test . toString ( ) . includes ( 'vue' )
79
+ )
80
+ config ! . module ! . rules [ i ] = {
75
81
test : / \. v u e $ / ,
76
82
use : [
77
83
{
@@ -88,7 +94,10 @@ test('should not duplicate css modules value imports', async () => {
88
94
const { window, exports } = await mockBundleAndRun ( {
89
95
entry : './test/fixtures/duplicate-cssm.js' ,
90
96
modify : ( config : any ) => {
91
- config ! . module ! . rules [ 1 ] = {
97
+ const i = config . module . rules . findIndex ( ( r ) =>
98
+ r . test . toString ( ) . includes ( 'css' )
99
+ )
100
+ config . module . rules [ i ] = {
92
101
test : / \. c s s $ / ,
93
102
use : [
94
103
'style-loader' ,
@@ -136,8 +145,11 @@ test('html-webpack-plugin', async () => {
136
145
test ( 'usage with null-loader' , async ( ) => {
137
146
await mockBundleAndRun ( {
138
147
entry : 'basic.vue' ,
139
- modify : ( config ) => {
140
- config ! . module ! . rules [ 1 ] = {
148
+ modify : ( config : any ) => {
149
+ const i = config . module . rules . findIndex ( ( r ) =>
150
+ r . test . toString ( ) . includes ( 'css' )
151
+ )
152
+ config . module . rules [ i ] = {
141
153
test : / \. c s s $ / ,
142
154
use : [ 'null-loader' ] ,
143
155
}
0 commit comments