|
2 | 2 | MIT License http://www.opensource.org/licenses/mit-license.php |
3 | 3 | Author Tobias Koppers @sokra |
4 | 4 | */ |
| 5 | +var assign = require("object-assign"); |
5 | 6 | var OptionsApply = require("./OptionsApply"); |
6 | 7 |
|
7 | 8 | var LoaderTargetPlugin = require("./LoaderTargetPlugin"); |
@@ -38,19 +39,7 @@ var FlagIncludedChunksPlugin = require("./optimize/FlagIncludedChunksPlugin"); |
38 | 39 | var OccurrenceOrderPlugin = require("./optimize/OccurrenceOrderPlugin"); |
39 | 40 | var FlagDependencyUsagePlugin = require("./FlagDependencyUsagePlugin"); |
40 | 41 |
|
41 | | -var UnsafeCachePlugin = require("enhanced-resolve/lib/UnsafeCachePlugin"); |
42 | | -var ModulesInDirectoriesPlugin = require("enhanced-resolve/lib/ModulesInDirectoriesPlugin"); |
43 | | -var ModulesInRootPlugin = require("enhanced-resolve/lib/ModulesInRootPlugin"); |
44 | | -var ModuleTemplatesPlugin = require("enhanced-resolve/lib/ModuleTemplatesPlugin"); |
45 | | -var ModuleAsFilePlugin = require("enhanced-resolve/lib/ModuleAsFilePlugin"); |
46 | | -var ModuleAsDirectoryPlugin = require("enhanced-resolve/lib/ModuleAsDirectoryPlugin"); |
47 | | -var ModuleAliasPlugin = require("enhanced-resolve/lib/ModuleAliasPlugin"); |
48 | | -var DirectoryDefaultFilePlugin = require("enhanced-resolve/lib/DirectoryDefaultFilePlugin"); |
49 | | -var DirectoryDescriptionFilePlugin = require("enhanced-resolve/lib/DirectoryDescriptionFilePlugin"); |
50 | | -var DirectoryDescriptionFileFieldAliasPlugin = require("enhanced-resolve/lib/DirectoryDescriptionFileFieldAliasPlugin"); |
51 | | -var FileAppendPlugin = require("enhanced-resolve/lib/FileAppendPlugin"); |
52 | | -var DirectoryResultPlugin = require("enhanced-resolve/lib/DirectoryResultPlugin"); |
53 | | -var ResultSymlinkPlugin = require("enhanced-resolve/lib/ResultSymlinkPlugin"); |
| 42 | +var ResolverFactory = require("enhanced-resolve").ResolverFactory; |
54 | 43 |
|
55 | 44 | function WebpackOptionsApply() { |
56 | 45 | OptionsApply.call(this); |
@@ -247,7 +236,7 @@ WebpackOptionsApply.prototype.process = function(options, compiler) { |
247 | 236 | new ConstPlugin(), |
248 | 237 | new RequireIncludePlugin(), |
249 | 238 | new RequireEnsurePlugin(), |
250 | | - new RequireContextPlugin(options.resolve.modulesDirectories, options.resolve.extensions), |
| 239 | + new RequireContextPlugin(options.resolve.modules, options.resolve.extensions), |
251 | 240 | new AMDPlugin(options.module, options.amd || {}), |
252 | 241 | new CommonJsPlugin(options.module), |
253 | 242 | new HarmonyModulesPlugin(options.module), |
@@ -275,45 +264,16 @@ WebpackOptionsApply.prototype.process = function(options, compiler) { |
275 | 264 | } |
276 | 265 |
|
277 | 266 | compiler.applyPlugins("after-plugins", compiler); |
278 | | - compiler.resolvers.normal.apply( |
279 | | - new UnsafeCachePlugin(options.resolve.unsafeCache), |
280 | | - options.resolve.packageAlias ? new DirectoryDescriptionFileFieldAliasPlugin("package.json", options.resolve.packageAlias) : function() {}, |
281 | | - new ModuleAliasPlugin(options.resolve.alias), |
282 | | - makeRootPlugin("module", options.resolve.root), |
283 | | - new ModulesInDirectoriesPlugin("module", options.resolve.modulesDirectories), |
284 | | - makeRootPlugin("module", options.resolve.fallback), |
285 | | - new ModuleAsFilePlugin("module"), |
286 | | - new ModuleAsDirectoryPlugin("module"), |
287 | | - new DirectoryDescriptionFilePlugin("package.json", options.resolve.packageMains), |
288 | | - new DirectoryDefaultFilePlugin(["index"]), |
289 | | - new FileAppendPlugin(options.resolve.extensions), |
290 | | - new ResultSymlinkPlugin() |
291 | | - ); |
292 | | - compiler.resolvers.context.apply( |
293 | | - new UnsafeCachePlugin(options.resolve.unsafeCache), |
294 | | - new ModuleAliasPlugin(options.resolve.alias), |
295 | | - makeRootPlugin("module", options.resolve.root), |
296 | | - new ModulesInDirectoriesPlugin("module", options.resolve.modulesDirectories), |
297 | | - makeRootPlugin("module", options.resolve.fallback), |
298 | | - new ModuleAsFilePlugin("module"), |
299 | | - new ModuleAsDirectoryPlugin("module"), |
300 | | - new DirectoryResultPlugin(), |
301 | | - new ResultSymlinkPlugin() |
302 | | - ); |
303 | | - compiler.resolvers.loader.apply( |
304 | | - new UnsafeCachePlugin(options.resolve.unsafeCache), |
305 | | - new ModuleAliasPlugin(options.resolveLoader.alias), |
306 | | - makeRootPlugin("loader-module", options.resolveLoader.root), |
307 | | - new ModulesInDirectoriesPlugin("loader-module", options.resolveLoader.modulesDirectories), |
308 | | - makeRootPlugin("loader-module", options.resolveLoader.fallback), |
309 | | - new ModuleTemplatesPlugin("loader-module", options.resolveLoader.moduleTemplates, "module"), |
310 | | - new ModuleAsFilePlugin("module"), |
311 | | - new ModuleAsDirectoryPlugin("module"), |
312 | | - new DirectoryDescriptionFilePlugin("package.json", options.resolveLoader.packageMains), |
313 | | - new DirectoryDefaultFilePlugin(["index"]), |
314 | | - new FileAppendPlugin(options.resolveLoader.extensions), |
315 | | - new ResultSymlinkPlugin() |
316 | | - ); |
| 267 | + compiler.resolvers.normal = ResolverFactory.createResolver(assign({ |
| 268 | + resolver: compiler.resolvers.normal |
| 269 | + }, options.resolve)); |
| 270 | + compiler.resolvers.context = ResolverFactory.createResolver(assign({ |
| 271 | + resolver: compiler.resolvers.context, |
| 272 | + resolveToContext: true |
| 273 | + }, options.resolve)); |
| 274 | + compiler.resolvers.loader = ResolverFactory.createResolver(assign({ |
| 275 | + resolver: compiler.resolvers.loader |
| 276 | + }, options.resolveLoader)); |
317 | 277 | compiler.applyPlugins("after-resolvers", compiler); |
318 | 278 | return options; |
319 | 279 | }; |
|
0 commit comments