@@ -10,20 +10,33 @@ function gatherRequireJsImports(modules) {
1010 for ( var module of modules ) {
1111 // If the requirejs-loader was used, then we need to wrap and import this module.
1212 // TODO: Clean up this check.
13- if ( module . request && module . request . indexOf ( 'requirejs-loader' ) !== - 1 ) {
13+ if ( module . request && String ( module . request ) . indexOf ( 'requirejs-loader' ) !== - 1 ) {
1414 needsImport . push ( module . rawRequest ) ;
1515 }
1616 }
1717
1818 return needsImport ;
1919}
2020
21+ function shouldExport ( module ) {
22+ // This ensures we don't export the import stubs for requirejs.
23+ // TODO: Clean up this check.
24+ if ( ! module . request || String ( module . request ) . indexOf ( 'requirejs-loader' ) !== - 1 ) {
25+ return false ;
26+ }
27+
28+ // Some internal modules have no rawRequest - don't export those either.
29+ if ( ! module . rawRequest ) {
30+ return false ;
31+ }
32+
33+ return true ;
34+ }
35+
2136function gatherRequireJsExports ( modules ) {
2237 let needsExport = [ ] ;
2338 for ( var module of modules ) {
24- // If the requirejs-loader was used, then we need to wrap and import this module.
25- // TODO: Clean up this check.
26- if ( module . request && module . request . indexOf ( 'requirejs-loader' ) === - 1 ) {
39+ if ( shouldExport ( module ) ) {
2740 // We use the raw request to define the same name, including loader.
2841 var name = module . rawRequest ;
2942 // TODO: Maybe just strip everything but 'text!'?
@@ -78,14 +91,8 @@ RequireJsExportPlugin.prototype.apply = function(compiler) {
7891 compiler . plugin ( 'compilation' , function ( compilation , data ) {
7992 compilation . plugin ( 'after-optimize-module-ids' , function ( modules ) {
8093 for ( let module of modules ) {
81- // This ensures we don't export the import stubs for requirejs.
82- // TODO: Determine loader better.
83- if ( module . request && String ( module . request ) . indexOf ( 'requirejs-loader' ) !== - 1 ) {
84- continue ;
85- }
86-
8794 // TODO: Find a way around using _source.
88- if ( module . rawRequest && module . _source ) {
95+ if ( shouldExport ( module ) && module . _source ) {
8996 var definition = '__webpack_exports__[' + JSON . stringify ( module . id ) + '] = module.exports;' ;
9097 module . _source = new ConcatSource ( module . _source , '\n' , definition ) ;
9198 }
0 commit comments