@@ -54,6 +54,7 @@ function makeLoader(callback) {
5454
5555async function loader ( source , inputSourceMap , overrides ) {
5656 const filename = this . resourcePath ;
57+ const logger = this . getLogger ( "babel-loader" ) ;
5758
5859 let loaderOptions = loaderUtils . getOptions ( this ) ;
5960
@@ -80,17 +81,20 @@ async function loader(source, inputSourceMap, overrides) {
8081 ) ;
8182 }
8283
84+ logger . debug ( `loading customize override: '${ loaderOptions . customize } '` ) ;
8385 let override = require ( loaderOptions . customize ) ;
8486 if ( override . __esModule ) override = override . default ;
8587
8688 if ( typeof override !== "function" ) {
8789 throw new Error ( "Custom overrides must be functions." ) ;
8890 }
91+ logger . debug ( "applying customize override to @babel/core" ) ;
8992 overrides = override ( babel ) ;
9093 }
9194
9295 let customOptions ;
9396 if ( overrides && overrides . customOptions ) {
97+ logger . debug ( "applying overrides customOptions() to loader options" ) ;
9498 const result = await overrides . customOptions . call ( this , loaderOptions , {
9599 source,
96100 map : inputSourceMap ,
@@ -115,6 +119,7 @@ async function loader(source, inputSourceMap, overrides) {
115119 ) ;
116120 }
117121
122+ logger . debug ( "normalizing loader options" ) ;
118123 // Standardize on 'sourceMaps' as the key passed through to Webpack, so that
119124 // users may safely use either one alongside our default use of
120125 // 'this.sourceMap' below without getting error about conflicting aliases.
@@ -161,12 +166,14 @@ async function loader(source, inputSourceMap, overrides) {
161166
162167 // babel.loadPartialConfigAsync is available in v7.8.0+
163168 const { loadPartialConfigAsync = babel . loadPartialConfig } = babel ;
169+ logger . debug ( "resolving Babel configs" ) ;
164170 const config = await loadPartialConfigAsync (
165171 injectCaller ( programmaticOptions , this . target ) ,
166172 ) ;
167173 if ( config ) {
168174 let options = config . options ;
169175 if ( overrides && overrides . config ) {
176+ logger . debug ( "applying overrides config() to Babel config" ) ;
170177 options = await overrides . config . call ( this , config , {
171178 source,
172179 map : inputSourceMap ,
@@ -197,35 +204,44 @@ async function loader(source, inputSourceMap, overrides) {
197204
198205 let result ;
199206 if ( cacheDirectory ) {
207+ logger . debug ( "cache is enabled" ) ;
200208 result = await cache ( {
201209 source,
202210 options,
203211 transform,
204212 cacheDirectory,
205213 cacheIdentifier,
206214 cacheCompression,
215+ logger,
207216 } ) ;
208217 } else {
218+ logger . debug ( "cache is disabled, applying Babel transform" ) ;
209219 result = await transform ( source , options ) ;
210220 }
211221
212222 // Availabe since Babel 7.12
213223 // https://github.com/babel/babel/pull/11907
214224 if ( config . files ) {
215- config . files . forEach ( configFile => this . addDependency ( configFile ) ) ;
225+ config . files . forEach ( configFile => {
226+ this . addDependency ( configFile ) ;
227+ logger . debug ( `added '${ configFile } ' to webpack dependencies` ) ;
228+ } ) ;
216229 } else {
217230 // .babelrc.json
218231 if ( typeof config . babelrc === "string" ) {
219232 this . addDependency ( config . babelrc ) ;
233+ logger . debug ( `added '${ config . babelrc } ' to webpack dependencies` ) ;
220234 }
221235 // babel.config.js
222236 if ( config . config ) {
223237 this . addDependency ( config . config ) ;
238+ logger . debug ( `added '${ config . config } ' to webpack dependencies` ) ;
224239 }
225240 }
226241
227242 if ( result ) {
228243 if ( overrides && overrides . result ) {
244+ logger . debug ( "applying overrides result() to Babel transform results" ) ;
229245 result = await overrides . result . call ( this , result , {
230246 source,
231247 map : inputSourceMap ,
@@ -237,9 +253,13 @@ async function loader(source, inputSourceMap, overrides) {
237253
238254 const { code, map, metadata, externalDependencies } = result ;
239255
240- externalDependencies ?. forEach ( dep => this . addDependency ( dep ) ) ;
256+ externalDependencies ?. forEach ( dep => {
257+ this . addDependency ( dep ) ;
258+ logger . debug ( `added '${ dep } ' to webpack dependencies` ) ;
259+ } ) ;
241260 metadataSubscribers . forEach ( subscriber => {
242261 subscribe ( subscriber , metadata , this ) ;
262+ logger . debug ( `invoked metadata subscriber '${ String ( subscriber ) } '` ) ;
243263 } ) ;
244264
245265 return [ code , map ] ;
0 commit comments