MCPcopy
hub / github.com/webpack/webpack / resolveResource

Method resolveResource

lib/NormalModuleFactory.js:1123–1185  ·  lib/NormalModuleFactory.js::NormalModuleFactory.resolveResource

* Processes the provided context info. * @param {ModuleFactoryCreateDataContextInfo} contextInfo context info * @param {string} context context * @param {string} unresolvedResource unresolved resource * @param {ResolverWithOptions} resolver resolver * @param {ResolveContext} resolveContext

(
		contextInfo,
		context,
		unresolvedResource,
		resolver,
		resolveContext,
		callback
	)

Source from the content-addressed store, hash-verified

1121 * @param {(err: null | Error, res?: string | false, req?: ResolveRequest) => void} callback callback
1122 */
1123 resolveResource(
1124 contextInfo,
1125 context,
1126 unresolvedResource,
1127 resolver,
1128 resolveContext,
1129 callback
1130 ) {
1131 resolver.resolve(
1132 contextInfo,
1133 context,
1134 unresolvedResource,
1135 resolveContext,
1136 (err, resolvedResource, resolvedResourceResolveData) => {
1137 if (err) {
1138 return this._resolveResourceErrorHints(
1139 err,
1140 contextInfo,
1141 context,
1142 unresolvedResource,
1143 resolver,
1144 resolveContext,
1145 (err2, hints) => {
1146 if (err2) {
1147 err.message += `
1148A fatal error happened during resolving additional hints for this error: ${err2.message}`;
1149 err.stack += `
1150
1151A fatal error happened during resolving additional hints for this error:
1152${err2.stack}`;
1153 return callback(err);
1154 }
1155 if (hints && hints.length > 0) {
1156 err.message += `
1157${hints.join(class="st">"\n\n")}`;
1158 }
1159
1160 class="cm">// Check if the extension is missing a leading dot (e.g. class="st">"js" instead of class="st">".js")
1161 let appendResolveExtensionsHint = false;
1162 const specifiedExtensions = [...resolver.options.extensions];
1163 const expectedExtensions = specifiedExtensions.map(
1164 (extension) => {
1165 if (LEADING_DOT_EXTENSION_REGEX.test(extension)) {
1166 appendResolveExtensionsHint = true;
1167 return `.${extension}`;
1168 }
1169 return extension;
1170 }
1171 );
1172 if (appendResolveExtensionsHint) {
1173 err.message += `\nDid you miss the leading dot in class="st">'resolve.extensions'? Did you mean '${JSON.stringify(
1174 expectedExtensions
1175 )}class="st">' instead of '${JSON.stringify(specifiedExtensions)}'?`;
1176 }
1177
1178 callback(err);
1179 }
1180 );

Callers 1

defaultResolveMethod · 0.95

Calls 4

resolveMethod · 0.65
callbackFunction · 0.50
testMethod · 0.45

Tested by

no test coverage detected