23 lines
580 B
JavaScript
23 lines
580 B
JavaScript
const {
|
|
NodeJsInputFileSystem,
|
|
CachedInputFileSystem,
|
|
ResolverFactory
|
|
} = require('enhanced-resolve')
|
|
|
|
module.exports = (config = {}) => {
|
|
const defaultConfig = {
|
|
extensions: ['.css'],
|
|
mainFields: ['style', 'main'],
|
|
modules: ['node_modules'],
|
|
fileSystem: config.fileSystem
|
|
? null
|
|
: new CachedInputFileSystem(new NodeJsInputFileSystem(), 4000),
|
|
useSyncFileSystemCalls: true
|
|
}
|
|
const resolver = ResolverFactory.createResolver(
|
|
Object.assign(defaultConfig, config)
|
|
)
|
|
|
|
return (id, basedir) => resolver.resolveSync({}, basedir, id)
|
|
}
|