* Resolves request array. * @param {ModuleFactoryCreateDataContextInfo} contextInfo context info * @param {string} context context * @param {LoaderItem[]} array array * @param {ResolverWithOptions} resolver resolver * @param {ResolveContext} resolveContext resolve context * @param {Callb
( contextInfo, context, array, resolver, resolveContext, callback )
| 1321 | * @returns {void} result |
| 1322 | */ |
| 1323 | resolveRequestArray( |
| 1324 | contextInfo, |
| 1325 | context, |
| 1326 | array, |
| 1327 | resolver, |
| 1328 | resolveContext, |
| 1329 | callback |
| 1330 | ) { |
| 1331 | class="cm">// LoaderItem |
| 1332 | if (array.length === 0) return callback(null, array); |
| 1333 | asyncLib.map( |
| 1334 | array, |
| 1335 | /** |
| 1336 | * Handles the callback logic for this hook. |
| 1337 | * @param {LoaderItem} item item |
| 1338 | * @param {Callback<LoaderItem>} callback callback |
| 1339 | */ |
| 1340 | (item, callback) => { |
| 1341 | resolver.resolve( |
| 1342 | contextInfo, |
| 1343 | context, |
| 1344 | item.loader, |
| 1345 | resolveContext, |
| 1346 | (err, result, resolveRequest) => { |
| 1347 | if ( |
| 1348 | err && |
| 1349 | /^[^/]*$/.test(item.loader) && |
| 1350 | !item.loader.endsWith(class="st">"-loader") |
| 1351 | ) { |
| 1352 | return resolver.resolve( |
| 1353 | contextInfo, |
| 1354 | context, |
| 1355 | `${item.loader}-loader`, |
| 1356 | resolveContext, |
| 1357 | (err2) => { |
| 1358 | if (!err2) { |
| 1359 | err.message = |
| 1360 | `${err.message}\n` + |
| 1361 | class="st">"BREAKING CHANGE: It's no longer allowed to omit the '-loader' suffix when using loaders.\n" + |
| 1362 | ` You need to specify class="st">'${item.loader}-loader' instead of class="st">'${item.loader}',\n` + |
| 1363 | class="st">" see https:class="cm">//webpack.js.org/migrate/3/#automatic-loader-module-name-extension-removed"; |
| 1364 | } |
| 1365 | callback(err); |
| 1366 | } |
| 1367 | ); |
| 1368 | } |
| 1369 | if (err) return callback(err); |
| 1370 | |
| 1371 | const parsedResult = this._parseResourceWithoutFragment( |
| 1372 | /** @type {string} */ |
| 1373 | (result) |
| 1374 | ); |
| 1375 | |
| 1376 | const type = /\.mjs$/i.test(parsedResult.path) |
| 1377 | ? class="st">"module" |
| 1378 | : /\.cjs$/i.test(parsedResult.path) |
| 1379 | ? class="st">"commonjs" |
| 1380 | : /** @type {ResolveRequest} */ |
no test coverage detected