1
1
const postcss = require ( 'postcss' ) ;
2
+ const fs = require ( 'fs' ) ;
2
3
const path = require ( 'path' ) ;
3
4
const promisify = require ( 'es6-promisify' ) ;
4
- const { CachedInputFileSystem, NodeJsInputFileSystem , ResolverFactory } = require ( 'enhanced-resolve' ) ;
5
+ const { CachedInputFileSystem, ResolverFactory } = require ( 'enhanced-resolve' ) ;
5
6
const { parse } = require ( 'postcss-values-parser' ) ;
6
7
const { urlToRequest } = require ( 'loader-utils' ) ;
7
8
const ICSSUtils = require ( 'icss-utils' ) ;
@@ -15,8 +16,9 @@ const PLUGIN = 'postcss-modules-values-replace';
15
16
const INNER_PLUGIN = 'postcss-modules-values-replace-bind' ;
16
17
17
18
// Borrowed from enhanced-resolve
18
- const nodeFs = new CachedInputFileSystem ( new NodeJsInputFileSystem ( ) , 4000 ) ;
19
+ const nodeFs = new CachedInputFileSystem ( fs , 4000 ) ;
19
20
const concordContext = { } ;
21
+ const resolveContext = { } ;
20
22
21
23
const replaceValueSymbols = ( valueString , replacements ) => {
22
24
const value = parse ( valueString , { ignoreUnknownWords : true } ) ;
@@ -141,7 +143,7 @@ const walkerPlugin = (fn, ...args) => ({
141
143
walkerPlugin . postcss = true ;
142
144
143
145
const factory = ( {
144
- fs = nodeFs ,
146
+ fs : fileSystem = nodeFs ,
145
147
noEmitExports = false ,
146
148
resolve : resolveOptions = { } ,
147
149
preprocessValues = false ,
@@ -155,7 +157,7 @@ const factory = ({
155
157
return {
156
158
async Once ( root ) {
157
159
const resolver = ResolverFactory . createResolver ( Object . assign (
158
- { fileSystem : fs } ,
160
+ { fileSystem } ,
159
161
resolveOptions ,
160
162
) ) ;
161
163
const resolve = promisify ( resolver . resolve , resolver ) ;
@@ -172,7 +174,7 @@ const factory = ({
172
174
const definitionCache = new Map ( ) ;
173
175
async function walkFile ( from , dir , requiredDefinitions ) {
174
176
const request = importsAsModuleRequests ? urlToRequest ( from ) : from ;
175
- const resolvedFrom = await resolve ( concordContext , dir , request ) ;
177
+ const resolvedFrom = await resolve ( concordContext , dir , request , resolveContext ) ;
176
178
177
179
const cached = definitionCache . get ( resolvedFrom ) ;
178
180
if ( cached ) {
0 commit comments