@@ -87,10 +87,12 @@ class CopyPlugin {
87
87
`getting stats for "${ pattern . absoluteFrom } " to determinate "fromType"`
88
88
) ;
89
89
90
+ const { inputFileSystem } = compiler ;
91
+
90
92
let stats ;
91
93
92
94
try {
93
- stats = await stat ( compiler . inputFileSystem , pattern . absoluteFrom ) ;
95
+ stats = await stat ( inputFileSystem , pattern . absoluteFrom ) ;
94
96
} catch ( error ) {
95
97
// Nothing
96
98
}
@@ -110,6 +112,18 @@ class CopyPlugin {
110
112
...{ cwd : pattern . context , objectMode : true } ,
111
113
} ;
112
114
115
+ // TODO remove after drop webpack@4
116
+ if (
117
+ inputFileSystem . lstat &&
118
+ inputFileSystem . stat &&
119
+ inputFileSystem . lstatSync &&
120
+ inputFileSystem . statSync &&
121
+ inputFileSystem . readdir &&
122
+ inputFileSystem . readdirSync
123
+ ) {
124
+ pattern . globOptions . fs = inputFileSystem ;
125
+ }
126
+
113
127
switch ( pattern . fromType ) {
114
128
case 'dir' :
115
129
logger . debug ( `determined "${ pattern . absoluteFrom } " is a directory` ) ;
@@ -257,7 +271,7 @@ class CopyPlugin {
257
271
let data ;
258
272
259
273
try {
260
- data = await readFile ( compiler . inputFileSystem , file . absoluteFrom ) ;
274
+ data = await readFile ( inputFileSystem , file . absoluteFrom ) ;
261
275
} catch ( error ) {
262
276
compilation . errors . push ( error ) ;
263
277
0 commit comments