@@ -10,6 +10,7 @@ import type { sources } from 'webpack'
10
10
import path from 'path'
11
11
import fs from 'fs'
12
12
import { getOptions } from './options'
13
+ const { createLoader } = require ( 'simple-functional-loader' )
13
14
14
15
// cache map
15
16
const outputCachedMap = new Map <
@@ -77,7 +78,7 @@ export const unplugin = createUnplugin((options: Options | undefined = {}, meta)
77
78
}
78
79
} ,
79
80
webpack ( compiler ) {
80
- const Compilation = compiler . webpack . Compilation
81
+ const { NormalModule , Compilation } = compiler . webpack
81
82
const { ConcatSource } = compiler . webpack . sources
82
83
function getAssetPath ( outputPath : string , file : string , abs : boolean = true ) {
83
84
const fn = abs ? path . resolve : path . relative
@@ -95,7 +96,30 @@ export const unplugin = createUnplugin((options: Options | undefined = {}, meta)
95
96
console . log ( error )
96
97
}
97
98
}
99
+ const customLoader = {
100
+ ...createLoader ( function ( source : string ) {
101
+ return source
102
+ } ) ,
103
+ ident : null ,
104
+ type : null
105
+ }
98
106
compiler . hooks . compilation . tap ( pluginName , ( compilation ) => {
107
+ NormalModule . getCompilationHooks ( compilation ) . loader . tap ( pluginName , ( loaderContext , module ) => {
108
+ const idx = module . loaders . findIndex ( ( x ) => x . loader . includes ( 'css-loader' ) )
109
+ // vue-loader/dist/stylePostLoader.
110
+ // vue-style-loader
111
+ if ( idx > - 1 ) {
112
+ module . loaders . splice ( idx , 0 , customLoader )
113
+ // console.log(module.resource, module.loaders.map(x => x.loader))
114
+ // if(/css/.test(module.resource)){
115
+ // const idx = module.loaders.findIndex((x) => x.loader === 'style-loader')
116
+ // console.log(idx)
117
+ // }
118
+ }
119
+
120
+
121
+
122
+ } )
99
123
compilation . hooks . processAssets . tap (
100
124
{
101
125
name : pluginName ,
0 commit comments