55 lines
1.9 KiB
JavaScript
55 lines
1.9 KiB
JavaScript
|
"use strict";
|
||
|
Object.defineProperty(exports, "__esModule", {
|
||
|
value: true
|
||
|
});
|
||
|
Object.defineProperty(exports, "eventSwcLoadFailure", {
|
||
|
enumerable: true,
|
||
|
get: function() {
|
||
|
return eventSwcLoadFailure;
|
||
|
}
|
||
|
});
|
||
|
const _shared = require("../../trace/shared");
|
||
|
const _packagejson = require("next/package.json");
|
||
|
const EVENT_PLUGIN_PRESENT = "NEXT_SWC_LOAD_FAILURE";
|
||
|
async function eventSwcLoadFailure(event) {
|
||
|
const telemetry = _shared.traceGlobals.get("telemetry");
|
||
|
// can't continue if telemetry isn't set
|
||
|
if (!telemetry) return;
|
||
|
let glibcVersion;
|
||
|
let installedSwcPackages;
|
||
|
try {
|
||
|
var _process_report;
|
||
|
// @ts-ignore
|
||
|
glibcVersion = (_process_report = process.report) == null ? void 0 : _process_report.getReport().header.glibcVersionRuntime;
|
||
|
} catch {}
|
||
|
try {
|
||
|
const pkgNames = Object.keys(_packagejson.optionalDependencies || {}).filter((pkg)=>pkg.startsWith("@next/swc"));
|
||
|
const installedPkgs = [];
|
||
|
for (const pkg of pkgNames){
|
||
|
try {
|
||
|
const { version } = require(`${pkg}/package.json`);
|
||
|
installedPkgs.push(`${pkg}@${version}`);
|
||
|
} catch {}
|
||
|
}
|
||
|
if (installedPkgs.length > 0) {
|
||
|
installedSwcPackages = installedPkgs.sort().join(",");
|
||
|
}
|
||
|
} catch {}
|
||
|
telemetry.record({
|
||
|
eventName: EVENT_PLUGIN_PRESENT,
|
||
|
payload: {
|
||
|
nextVersion: _packagejson.version,
|
||
|
glibcVersion,
|
||
|
installedSwcPackages,
|
||
|
arch: process.arch,
|
||
|
platform: process.platform,
|
||
|
nodeVersion: process.versions.node,
|
||
|
wasm: event == null ? void 0 : event.wasm,
|
||
|
nativeBindingsErrorCode: event == null ? void 0 : event.nativeBindingsErrorCode
|
||
|
}
|
||
|
});
|
||
|
// ensure this event is flushed before process exits
|
||
|
await telemetry.flush();
|
||
|
}
|
||
|
|
||
|
//# sourceMappingURL=swc-load-failure.js.map
|