MCPcopy
hub / github.com/webpack/webpack / resolveRequestArray

Method resolveRequestArray

lib/NormalModuleFactory.js:1323–1412  ·  lib/NormalModuleFactory.js::NormalModuleFactory.resolveRequestArray

* 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
	)

Source from the content-addressed store, hash-verified

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} */

Callers 1

constructorMethod · 0.95

Calls 4

sliceMethod · 0.80
resolveMethod · 0.65
callbackFunction · 0.50
testMethod · 0.45

Tested by

no test coverage detected