11import * as path from 'path'
2- import webpack = require ( 'webpack' )
2+ import webpack from 'webpack'
33import { mfs , bundle , mockBundleAndRun , normalizeNewline } from './utils'
44
55// @ts -ignore
@@ -30,8 +30,11 @@ function assertComponent({
3030test ( 'vue rule with include' , async ( ) => {
3131 const result = await mockBundleAndRun ( {
3232 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 ] = {
3538 test : / \. v u e $ / ,
3639 include : / f i x t u r e s / ,
3740 loader : 'vue-loader' ,
@@ -70,8 +73,11 @@ test('test-less oneOf rules', async () => {
7073test ( 'normalize multiple use + options' , async ( ) => {
7174 await bundle ( {
7275 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 ] = {
7581 test : / \. v u e $ / ,
7682 use : [
7783 {
@@ -88,7 +94,10 @@ test('should not duplicate css modules value imports', async () => {
8894 const { window, exports } = await mockBundleAndRun ( {
8995 entry : './test/fixtures/duplicate-cssm.js' ,
9096 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 ] = {
92101 test : / \. c s s $ / ,
93102 use : [
94103 'style-loader' ,
@@ -136,8 +145,11 @@ test('html-webpack-plugin', async () => {
136145test ( 'usage with null-loader' , async ( ) => {
137146 await mockBundleAndRun ( {
138147 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 ] = {
141153 test : / \. c s s $ / ,
142154 use : [ 'null-loader' ] ,
143155 }
0 commit comments