( loader: RuleSetRule, loaderOptions: Configure<TransformOptions, BaseContext>, context: BaseContext )
| 72 | } |
| 73 | |
| 74 | function applyLoaderOptions( |
| 75 | loader: RuleSetRule, |
| 76 | loaderOptions: Configure<TransformOptions, BaseContext>, |
| 77 | context: BaseContext |
| 78 | ) { |
| 79 | if (isFunction(loaderOptions)) { |
| 80 | loader.options = loaderOptions( |
| 81 | (loader.options as TransformOptions) || {}, |
| 82 | context |
| 83 | ); |
| 84 | |
| 85 | if (!loader.options) { |
| 86 | throw new Error( |
| 87 | "craco: 'babel.loaderOptions' function didn't return a loader config object." |
| 88 | ); |
| 89 | } |
| 90 | } else { |
| 91 | // TODO: ensure is otherwise a plain object, if not, log an error. |
| 92 | loader.options = deepMergeWithArray( |
| 93 | {}, |
| 94 | loader.options || {}, |
| 95 | loaderOptions |
| 96 | ); |
| 97 | } |
| 98 | |
| 99 | log('Applied Babel loader options.'); |
| 100 | } |
| 101 | |
| 102 | function overrideLoader( |
| 103 | match: CompleteLoader, |
no test coverage detected
searching dependent graphs…