Spaces:
Running
Running
File size: 2,949 Bytes
979bf48 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | // A basic implementation to allow loaders access to loaderContext.currentTraceSpan
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
0 && (module.exports = {
RspackProfilingPlugin: null,
compilationSpans: null
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
RspackProfilingPlugin: function() {
return RspackProfilingPlugin;
},
compilationSpans: function() {
return compilationSpans;
}
});
const _getrspack = require("../../../shared/lib/get-rspack");
const pluginName = 'RspackProfilingPlugin';
const moduleSpansByCompilation = new WeakMap();
const compilationSpans = new WeakMap();
class RspackProfilingPlugin {
constructor({ runWebpackSpan }){
this.runWebpackSpan = runWebpackSpan;
}
apply(compiler) {
compiler.hooks.thisCompilation.tap({
name: pluginName,
stage: -Infinity
}, (compilation)=>{
const rspack = (0, _getrspack.getRspackCore)();
moduleSpansByCompilation.set(compilation, new WeakMap());
compilationSpans.set(compilation, this.runWebpackSpan.traceChild('compilation-' + compilation.name));
const compilationSpan = this.runWebpackSpan.traceChild(`compilation-${compilation.name}`);
const moduleHooks = rspack.NormalModule.getCompilationHooks(compilation);
moduleHooks.loader.tap(pluginName, (loaderContext, module1)=>{
var _moduleSpansByCompilation_get;
const moduleSpan = (_moduleSpansByCompilation_get = moduleSpansByCompilation.get(compilation)) == null ? void 0 : _moduleSpansByCompilation_get.get(module1);
loaderContext.currentTraceSpan = moduleSpan;
});
compilation.hooks.buildModule.tap(pluginName, (module1)=>{
var _moduleSpansByCompilation_get;
const span = compilationSpan.traceChild('build-module');
span.setAttribute('name', module1.userRequest);
span.setAttribute('layer', module1.layer);
moduleSpansByCompilation == null ? void 0 : (_moduleSpansByCompilation_get = moduleSpansByCompilation.get(compilation)) == null ? void 0 : _moduleSpansByCompilation_get.set(module1, span);
});
compilation.hooks.succeedModule.tap(pluginName, (module1)=>{
var _moduleSpansByCompilation_get_get, _moduleSpansByCompilation_get;
moduleSpansByCompilation == null ? void 0 : (_moduleSpansByCompilation_get = moduleSpansByCompilation.get(compilation)) == null ? void 0 : (_moduleSpansByCompilation_get_get = _moduleSpansByCompilation_get.get(module1)) == null ? void 0 : _moduleSpansByCompilation_get_get.stop();
});
});
}
}
//# sourceMappingURL=rspack-profiling-plugin.js.map |