MCPcopy
hub / github.com/webpack/webpack / create

Method create

lib/ContextModuleFactory.js:113–309  ·  lib/ContextModuleFactory.js::ContextModuleFactory.create

* Processes the provided data. * @param {ModuleFactoryCreateData} data data object * @param {ModuleFactoryCallback} callback callback * @returns {void}

(data, callback)

Source from the content-addressed store, hash-verified

111 * @returns {void}
112 */
113 create(data, callback) {
114 const context = data.context;
115 const dependencies = /** @type {ContextDependency[]} */ (data.dependencies);
116 const resolveOptions = data.resolveOptions;
117 const dependency = dependencies[0];
118 /** @type {FileSystemDependencies} */
119 const fileDependencies = new LazySet();
120 /** @type {FileSystemDependencies} */
121 const missingDependencies = new LazySet();
122 /** @type {FileSystemDependencies} */
123 const contextDependencies = new LazySet();
124 this.hooks.beforeResolve.callAsync(
125 {
126 context,
127 dependencies,
128 layer: data.contextInfo.issuerLayer,
129 resolveOptions,
130 fileDependencies,
131 missingDependencies,
132 contextDependencies,
133 ...dependency.options
134 },
135 (err, beforeResolveResult) => {
136 if (err) {
137 return callback(err, {
138 fileDependencies,
139 missingDependencies,
140 contextDependencies
141 });
142 }
143
144 class="cm">// Ignored
145 if (!beforeResolveResult) {
146 return callback(null, {
147 fileDependencies,
148 missingDependencies,
149 contextDependencies
150 });
151 }
152
153 const context = beforeResolveResult.context;
154 const request = beforeResolveResult.request;
155 const resolveOptions = beforeResolveResult.resolveOptions;
156
157 /** @type {undefined | string[]} */
158 let loaders;
159 /** @type {undefined | string} */
160 let resource;
161 let loadersPrefix = class="st">"";
162 const idx = request.lastIndexOf(class="st">"!");
163 if (idx >= 0) {
164 let loadersRequest = request.slice(0, idx + 1);
165 /** @type {number} */
166 let i;
167 for (
168 i = 0;
169 i < loadersRequest.length && loadersRequest[i] === class="st">"!";
170 i++

Callers

nothing calls this directly

Calls 8

cachedSetPropertyFunction · 0.85
sliceMethod · 0.80
splitMethod · 0.80
resolveMethod · 0.65
callbackFunction · 0.50
replaceMethod · 0.45
getMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected