hud-sdk
Version:
Hud's Node SDK
2 lines • 22.3 kB
JavaScript
!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var o in n)("object"==typeof exports?exports:e)[o]=n[o]}}(global,()=>(()=>{"use strict";var e={523:e=>{e.exports=require("./logger")},857:e=>{e.exports=require("os")},870:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.limitedParallel=async function(e,t,n,o=!1){const r=[],i=[];return await Promise.all(Array.from({length:t},async function(){for(;e.length>0;){const t=e.shift();try{const e=await n(t);r.push(e)}catch(e){if(i.push(e),o)throw e}}})),{results:r,errors:i}}},1638:e=>{e.exports=require("./declarations")},2030:e=>{e.exports=require("./instrument")},2305:e=>{e.exports=require("form-data")},2546:e=>{e.exports=require("./lib")},2784:e=>{e.exports=require("../native/_index")},3066:function(e,t,n){var o,r=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||(o=function(e){return o=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},o(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=o(e),a=0;a<n.length;a++)"default"!==n[a]&&r(t,e,n[a]);return i(t,e),t});Object.defineProperty(t,"__esModule",{value:!0}),t.requestRelentless=async function(e,t,n,o=3){for(let r=0;r<o;r++)try{return await u.default.post(e,t,n)}catch(t){if(t instanceof u.AxiosError&&401===t.response?.status)throw new s.HudClientUnauthorizedError(`Unauthorized request for ${e}`);(0,l.logToHud)(`Failed request to ${e}, attempt ${r+1} of ${o}. Error: ${t}`),await new Promise(e=>setTimeout(e,1))}throw new s.HudClientExceededMaxRetries(`Exceeded max retries for ${e}`)};const s=n(2546),u=a(n(8938)),l=n(5231)},3106:e=>{e.exports=require("zlib")},3176:e=>{e.exports=require("buffer-crc32")},3903:e=>{e.exports=require("uuid")},4414:function(e,t,n){var o,r=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||(o=function(e){return o=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},o(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=o(e),a=0;a<n.length;a++)"default"!==n[a]&&r(t,e,n[a]);return i(t,e),t}),s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.uploadSourceMap=h,t.uploadAllSourceMaps=async function(e,t){if(process.env.HUD_SKIP_SOURCEMAP_UPLOAD)(0,f.logToHud)("Skipping source map upload due to env var");else{(0,f.logToHud)(`Uploading source maps for ${e.length} files`);try{const n=[];for(const{buildId:o,filepath:r}of e){const e=`${r}.map`;try{await c.promises.access(e,c.constants.F_OK),n.push({buildId:o,filePath:e,hudKey:t})}catch{(0,f.logToHud)(`No source map found for file: ${r}`)}}await(0,g.limitedParallel)(n,10,h,!0),(0,f.logToHud)("Finished uploading source maps")}catch{return(0,f.logToUser)(l.UserErrorLogs.EsbuildFailedUploadingSourcemapUnauthorized()),void(0,f.setDontSendLogs)()}}};const u=n(5809),l=n(2546),d=s(n(2305)),c=a(n(9896)),f=n(5231),g=n(870),p=n(3066);async function h(e){const{buildId:t,filePath:n,hudKey:o}=e,r=new d.default;r.append("build_id",t),r.append("token",o);try{const e=await c.promises.readFile(n,"utf8"),t=JSON.parse(e);delete t.sourcesContent,r.append("sourcemap",JSON.stringify(t),{filename:"sourcemap",contentType:"application/json"})}catch(e){return(0,f.logToHud)(`failed parsing source map, skipping upload. Error: ${e}`),void(0,f.logToUser)(l.UserErrorLogs.EsbuildFailedParsingSourcemap())}try{await(0,p.requestRelentless)(`${u.hudConfig.sink.url}/${u.hudConfig.endpoints.sourceMap}`,r,{headers:{"Content-Type":"multipart/form-data"},timeout:u.hudConfig.esbuildUploadSourceMapTimeout})}catch(e){if(e instanceof Error&&e.message.includes("Unauthorized"))throw e;(0,f.logToHud)(`failed uploading source map. File: ${n}, Error: ${e}`),(0,f.logToUser)(l.UserErrorLogs.EsbuildFailedUploadingSourcemap(n))}}},4672:e=>{e.exports=require("./client")},5231:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.logToUser=function(e){let t="";t="string"==typeof e?(0,r.formatLogMessage)(`${u}${e}`):(0,r.formatLogMessage)(`${u}${e.message}`,e.errCode,e.moreInfo),console.log(t),f(t,!1)},t.logToHudDebug=function(e,t=!0){"true"===process.env.HUD_PLUGIN_DEBUG&&f(e,t)},t.logToHud=f,t.exportBuildLogs=async function(e){const t=[];for(let n=0;n<d.length;n+=o.hudConfig.esbuildPluginLogsBatchSize){const r=d.slice(n,n+o.hudConfig.esbuildPluginLogsBatchSize).map(t=>({...t,accessToken:e}));t.push(r)}await(0,a.limitedParallel)(t,10,g)},t.setDontSendLogs=function(){c=!1},t.getShouldSendLogs=function(){return c};const o=n(5809),r=n(523),i=n(6982),a=n(870),s=n(3066),u=o.hudConfig.esbuildPluginMessagePrefix,l=(0,i.randomUUID)(),d=[];let c=!0;function f(e,t=!0){"true"===process.env.HUD_PLUGIN_VERBOSE&&(t&&(e=(0,r.formatLogMessage)(`${u}${e}`)),console.log(process.uptime(),e)),d.push({message:e,SessionID:l,timestamp:Date.now()})}async function g(e){await(0,s.requestRelentless)(o.hudConfig.pluginsLogEndpoint,{messages:e},{headers:{"x-hudx-plugin":"true","Content-Type":"application/json"}})}},5809:e=>{e.exports=require("./config")},6928:e=>{e.exports=require("path")},6932:function(e,t,n){var o,r=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||(o=function(e){return o=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},o(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=o(e),a=0;a<n.length;a++)"default"!==n[a]&&r(t,e,n[a]);return i(t,e),t}),s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.HudBuildError=t.HudFailedToVerifyInstrumentation=t.HudFailedToVerifyContentWithHudSymbols=void 0,t.codeToContent=v,t.markFinalFiles=async function(e){const t=[];for(const n of e){if(!n.path.endsWith(".js"))continue;if(!n.text.includes(u.hudConfig.esbuildGlobalVar))continue;const e=(0,g.v5)(n.contents,u.hudConfig.bundlerBuildUuidNamespace);t.push({filepath:n.path,buildId:e});const o=T(n.text,e);n.contents=v(o)}return t},t.markFileAsHudModified=T,t.markFile=function(e,t,n=!1,o=()=>{}){const r="<FUNCTION_ID_PLACEHOLDER>",i=f.markFileAndFunctions(t,{filename:e,filePrefixMarkStmts:[_(e,(0,c.default)(t).readUInt32BE(),!0)],fileSuffixMarkStmts:[_(e,(0,c.default)(t).readUInt32BE(),!1)],functionIdMarker:{symbolCode:`globalThis.${u.hudConfig.esbuildFunctionIdVar}="${r}";`,placeholder:r,fileHash:(0,g.v5)(t,u.hudConfig.functionUuidNamespace),uuidNamespace:u.hudConfig.functionUuidNamespace},enableExportAssignmentReplacement:n});if(!i||!i.code||!i.map)throw new Error("Failed generating ast");return i.foundExportAssignment&&o&&o(`Found export assignment in ${e}`),(0,d.appendInlineSourceMap)(i.code,i.map)},t.createMark=_,t.editAndVerifyFileContent=function(e,t,n){try{(0,m.logToHud)(`Verifying file content: ${t}, with marks`);try{new p.Script(e)}catch{throw new y(`Failed verify file content before instrumentation, ${t}`)}(0,m.logToHud)(`Editing in splits file content: ${t}`);const o=(0,l.editInSplits)(e,t,n,!0,!1,!0,void 0),r=O(o.metadatas,"failedToRemoveFunctionIdCount");r>0&&(0,m.logToHud)(`Failed to remove function ids from chunks, ${t}, ${r}`);const i=O(o.metadatas,"functionsWithMultipleFunctionIdMarks");if(i>0&&(0,m.logToHud)(`Found function with multiple function id marks, ${t}, ${i}`),!o.transformedCode)throw new w(`Failed verify file content, ${t}`);for(let e=0;e<o.editedChunksSizes.length;e+=h.LOG_CHUNKS_SIZE_BATCH){const t=JSON.stringify(o.editedChunksSizes.slice(e,e+h.LOG_CHUNKS_SIZE_BATCH));(0,m.logToHudDebug)(`Edited chunks sizes: ${t}`)}(0,m.logToHud)(`Verifying new file content: ${t}`);try{new p.Script(o.transformedCode)}catch{throw new b(`Failed verify file content after instrumentation, ${t}`)}return(0,m.logToHud)(`Verified new file content: ${t}`),(0,m.logToHud)(`${t}: Original code size: ${e.length}, new code size: ${o.transformedCode.length}`),o}catch(e){throw(0,m.logToHud)(`Failed verify file content, ${t}, error: ${e}`),new w(`Failed verify file content, ${t}`)}};const u=n(5809),l=n(2030),d=n(2546),c=s(n(3176)),f=a(n(2784)),g=n(3903),p=a(n(9154)),h=n(7085),m=n(5231);class y extends Error{}t.HudFailedToVerifyContentWithHudSymbols=y;class b extends Error{}t.HudFailedToVerifyInstrumentation=b;class w extends Error{}function v(e){return new Uint8Array(Buffer.from(e,"utf8"))}function T(e,t){return`${e}\n/*${u.hudConfig.esbuildMark}${t}*/`}function _(e,t,n){const o=n?"Start":"End";e=n?e:"";const r=n?t.toString():"";return`;globalThis && (globalThis.${u.hudConfig.esbuildGlobalVar}="${o}:${e}:${r}");`}function O(e,t){return e.filter(e=>"number"==typeof e[t]).map(e=>e[t]).reduce((e,t)=>e+t,0)}t.HudBuildError=w},6982:e=>{e.exports=require("crypto")},7085:function(e,t,n){var o,r=this&&this.__createBinding||(Object.create?function(e,t,n,o){void 0===o&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){void 0===o&&(o=n),e[o]=t[n]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||(o=function(e){return o=Object.getOwnPropertyNames||function(e){var t=[];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[t.length]=n);return t},o(e)},function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n=o(e),a=0;a<n.length;a++)"default"!==n[a]&&r(t,e,n[a]);return i(t,e),t}),s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.plugin=t.LOG_CHUNKS_SIZE_BATCH=void 0,t.writeFileAndFolder=F,t.getModuleRoot=E;const u=n(8528),l=n(2030),d=n(6982),c=a(n(9896)),f=a(n(857)),g=a(n(6928)),p=s(n(3106)),h=n(4672),m=n(5809),y=n(1638),b=n(2546),w=n(9929),v=n(5231),T=n(6932),_=n(4414),O=30;async function F(e,t){const n=g.dirname(e);try{await c.promises.stat(n)}catch{await c.promises.mkdir(n,{recursive:!0})}await c.promises.writeFile(e,t)}async function H(e,t,n,o,r){if(!(n&&o&&r&&o.test(e)))return;const i=g.join(r,e),a=g.dirname(i);try{await c.promises.access(a)}catch{await c.promises.mkdir(a,{recursive:!0})}await c.promises.writeFile(i,t,"utf8");const s=await n(i);return s?.contents&&(t=s.contents),t}async function E(e){let t=g.dirname(e);for(let e=0;e<O&&"/"!==t;e++){const e=g.join(t,"package.json");try{return await c.promises.access(e),t}catch{t=g.dirname(t)}}}t.LOG_CHUNKS_SIZE_BATCH=m.hudConfig.esbuildPluginLogsChunkSize;const $="hud-esbuild-plugin";async function U(e,t,n,o,r){try{if(globalThis.hudRunningMode===u.HudRunningMode.detached)return(0,v.logToHud)("Function limit exceeded, skipping instrumenting"),void(0,v.logToUser)(b.UserErrorLogs.HudCliInstrumentedFunctionCountExceeded(m.hudConfig.userConfig.maxMappedFunctions?.value??0));await async function(e,t,n,o,r){const i=e.map(e=>e.metadatas.map(t=>({...t,originalOutputFileIndex:e.originalOutputFileIndex}))).flat();(0,v.logToHud)(`Instrument ${i.length} sub files`);let a=[];try{const e={...h.HudClient.defaultRequest,send_time:(new Date).toISOString(),build_id:o,token:r,sdk_version:m.SDK_VERSION};a=await(0,b.getFilesForDeclarations)(i,n.sendFileDeclarationsCi.bind(n,e))}catch(e){(0,v.logToHud)(`failed getting files for declarations. Sending decls for all files. Error: ${e}, stack: ${e instanceof Error?e.stack:void 0}`)}(0,v.logToHud)(`Got ${a.length} to parse decls for`);const s=await async function(e,t){const n=p.default.createGzip();let o=0;for(const r of e){try{const e=(new TextDecoder).decode(t[r.originalOutputFileIndex].contents.slice(r.indexOffset,r.indexOffsetEnd)),o=await(0,y.parseDeclarations)(r,e,void 0,void 0,!0);o.generatedAsyncFunctions.length>0&&(0,v.logToHud)(`Found generated async functions in ${r.filename}, decls: ${JSON.stringify(o.generatedAsyncFunctions)}`),n.write(JSON.stringify((0,y.getDeclarationsBatchRequest)(o.declarations))),n.write("\n")}catch(e){o++,(0,v.logToHud)(`Failed to parse declarations for file ${r.filename} : ${r.indexOffset} - ${r.indexOffsetEnd}, error: ${e}, stack: ${e.stack}`)}o>0&&(0,v.logToUser)(b.UserErrorLogs.HudCliFailedToParseDeclarationsForXFile(o))}return n.end(),n}(a,t);(0,v.logToHud)("Uploading declarations");try{await n.uploadDeclarationsToS3(s,o,r,v.logToHud)}catch(e){(0,v.logToHud)(`failed uploading declarations. Error: ${e}`),(0,v.logToUser)(b.UserErrorLogs.HudCliUploadFailed())}}(e,t,n,o,r),function(e,t,n){(0,v.logToHud)("Applying instrumented files changes");for(const o of t)e[o.originalOutputFileIndex].contents=(0,T.codeToContent)((0,l.appendCiBuildId)(o.transformedCode,n))}(t,e,o),(0,v.logToUser)("finished instrumenting successfully")}catch(e){(0,v.logToHud)(`failed instrumenting. Error: ${e}`),(0,v.logToUser)(b.UserErrorLogs.HudCliUnkownError())}}const x=["es2018","es2019","es2020","es2021","es2022","es2023","es2024","esnext"];t.plugin=e=>({name:$,async setup(t){if("inline"===t.initialOptions.sourcemap||"both"===t.initialOptions.sourcemap)return void(0,v.logToUser)(b.UserErrorLogs.EsbuildSourceMapInline());if("node"!==t.initialOptions.platform)return void(0,v.logToUser)(b.UserErrorLogs.EsbuildUnsupportedPlatform());if("win32"===f.platform())return void(0,v.logToUser)(b.UserErrorLogs.EsbuildUnsupportedWindows());const n=await async function(e){const t=[];return"string"!=typeof e.initialOptions.target||x.includes(e.initialOptions.target.toLowerCase())||t.push(e.initialOptions.target),Array.isArray(e.initialOptions.target)&&t.push(...e.initialOptions.target),t.map(e=>e.toLowerCase())}(t),o=n.filter(e=>!x.includes(e.toLowerCase()));if(o.length>0)return void(0,v.logToUser)(b.UserErrorLogs.EsbuildUnsupportedTarget(o));const r=e?.hudKey??process.env.HUD_KEY;if(!r)return void(0,v.logToUser)(b.UserErrorLogs.EsbuildMissingKey());e?.maxMappedFunctions&&(m.hudConfig.userConfig.maxMappedFunctions={value:e.maxMappedFunctions,source:"ESBUILD_PLUGIN"});const i=new h.HudClient;if("true"!==process.env.HUD_SKIP_TOKEN_VALIDATION&&!await i.validateToken(r))return void(0,v.logToUser)(b.UserErrorLogs.HudCliInvalidKey());const a=e?.includeModules??(0,m.getModulesToTraceFromEnv)()??[],s=(0,l.createCheckers)(a);(0,v.logToUser)("started running");const p=t.initialOptions.write??!0;t.initialOptions.write=!1;const y="esm"===t.initialOptions?.format?u.Format.esm:u.Format.cjs,{callback:O,filter:S,tempDir:C}=await async function(e){const t=e.initialOptions;if(!t.plugins)return;const n=t.plugins.findIndex(e=>e.name===$),o=t.plugins[n+1];if(!o||"datadog-esbuild"!==o.name)return;let r;(0,v.logToHud)("datadog-esbuild plugin detected");const i={...e,onLoad:(...e)=>{r=e},onStart:()=>{},onEnd:()=>{},onResolve:()=>{},onDispose:()=>{}};if(o.setup(i),!r)return void(0,v.logToHud)("datadog-esbuild plugin detected but failed receive onLoad callback");const a=g.join(f.tmpdir(),`hud-${(0,d.randomUUID)()}`);try{return await c.promises.access(a),void(0,v.logToUser)("temp dir already exists, try rerunning the build.")}catch{}return(0,v.logToHud)(`creating temp dir to be used by datadog plugin.\n\tPath: ${a}`),await c.promises.mkdir(a,{recursive:!0}),{filter:r[0].filter,callback:r[1],tempDir:a}}(t)??{},k=new Set(t.initialOptions.external||[]),M=new Map;t.onResolve({filter:/.*/},async e=>{if(e.pluginData?.hud?.calledFromHud)return;if(k.has(e.path))return;const n=m.hudConfig.frameworksToPatch.get(e.path);if(!n)return;if(!n.enable||!n.enableEsbuild)return;const o={...e};delete o.path;const r=await t.resolve(e.path,{...o,pluginData:{...e.pluginData,hud:{calledFromHud:!0}}}),i=await E(r.path);i&&(M.set(i,e.path),(0,v.logToHud)(`mapping framework: ${i} => ${e.path}`))}),t.onLoad({filter:/.*\.(js|ts|cjs)$/},async t=>{try{const n=O?async e=>await O({...t,path:e}):void 0;if((0,l.skip)(t.path,s)){const e=await(0,w.getFrameworkContentSuffix)(t.path,M);if(!e)return;let o=await c.promises.readFile(t.path,"utf8");return o=await H(t.path,o,n,S,C)??o,o+=e,{contents:o,loader:t.path.endsWith("ts")?"ts":"js",resolveDir:g.dirname(t.path)}}let o=await c.promises.readFile(t.path,"utf8");return o=(0,T.markFile)(t.path,o,e?.customeOptions?.enableExportAssignmentReplacement??!1,v.logToHud),o=await H(t.path,o,n,S,C)??o,o+=await(0,w.getFrameworkContentSuffix)(t.path,M)??"",{contents:o,loader:t.path.endsWith("ts")?"ts":"js",resolveDir:g.dirname(t.path)}}catch(e){return(0,v.logToHud)(`failed patching file "${t.path}", fallbacking to original loader. Error: ${e}, stack: ${e instanceof Error?e.stack:void 0}`),void(0,v.logToUser)(`failed patching file "${t.path}", fallbacking to original loader`)}}),t.onEnd(async t=>{const n=(0,d.randomUUID)();try{await async function(e,t,n,o,r,i,a,s){if(!e?.outputFiles)return;const u=await(0,T.markFinalFiles)(e.outputFiles);let l;try{l=function(e,t){return(0,v.logToHud)("Starting to edit and verify file content"),e.map((e,t)=>({...e,originalOutputFileIndex:t})).filter(e=>e.path.endsWith(".js")).map(e=>({...(0,T.editAndVerifyFileContent)(e.text,e.path,t),originalOutputFileIndex:e.originalOutputFileIndex}))}(e.outputFiles,n)}catch(e){if(e instanceof T.HudFailedToVerifyContentWithHudSymbols)throw(0,v.logToHud)(`Failed verify file content before instrumentation, error: ${e}`),(0,v.logToUser)(b.UserErrorLogs.EsbuildFailedBundling()),e;if(!t)throw(0,v.logToHud)(`Failed verify file instrumentation and instrumentation should apply on runtime, failing the build, error: ${e}`),(0,v.logToUser)(b.UserErrorLogs.EsbuildFailedBundling()),e;if(!(e instanceof T.HudFailedToVerifyInstrumentation||e instanceof T.HudBuildError))throw(0,v.logToHud)(`failed editing and verifying file content with unknown error, failing the build. Error: ${e}`),(0,v.logToUser)(b.UserErrorLogs.EsbuildFailedBundling()),e;(0,v.logToHud)(`Failed instrumenting files, continuing with original files: ${e}`),(0,v.logToUser)(b.UserErrorLogs.EsbuildFailedInstrumentingContinuingWithOriginalCode())}if(t&&l&&await U(l,e.outputFiles,o,a,r),i)for(const t of e.outputFiles)await F(t.path,t.contents);try{await(0,_.uploadAllSourceMaps)(u,r)}catch(e){(0,v.logToHud)(`failed uploading source maps, error: ${e}`)}(0,v.logToUser)("finished"),await async function(e){try{if(e)try{await c.promises.access(e),(0,v.logToHud)("cleaning temp dir"),await c.promises.rm(e,{recursive:!0,force:!0})}catch{}}catch(e){(0,v.logToHud)(`failed cleaning temp dir. Error: ${e}`)}}(s)}(t,e?.instrument??!1,y,i,r,p,n,C)}catch(e){throw(0,v.logToHud)(`Something went wrong during on end. Error: ${e}`+(e instanceof Error?`, Message: ${e.message}, Stack: ${e.stack}`:"")),e}finally{try{await i.completed(n,r),await async function(e){try{!process.env.HUD_SKIP_BUILD_LOG_EXPORT&&(0,v.getShouldSendLogs)()&&await(0,v.exportBuildLogs)(e)}catch(e){"true"===process.env.HUD_PLUGIN_VERBOSE&&"true"===process.env.HUD_DEBUG&&(0,v.logToUser)(`Failed exporting build logs. Error: ${e}`)}}(r)}catch{}}})}})},8528:e=>{e.exports=require("./dto")},8938:e=>{e.exports=require("axios")},9154:e=>{e.exports=require("vm")},9896:e=>{e.exports=require("fs")},9929:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getFrameworkContentSuffix=async function(e,t){const n=[...t.entries()].find(([t,n])=>e.startsWith(t));if(!n)return;const[u,l]=n;let d=l+e.slice(u.length);(d.endsWith("index.js")||d.endsWith("index.ts"))&&(d=d.slice(0,d.length-9));const c=o.hudConfig.frameworksToPatch.get(d);if(!(c?.enable&&c?.enableEsbuild&&c?.patcher&&c?.version))return;(0,s.logToHud)(`Patching framwork: ${d}`);const f=await(0,a.getModuleRoot)(e);if(!f)return void(0,s.logToHud)(`Failed to find package.json for ${d}`);const g=(0,i.extractModuleVersion)(f);if((0,s.logToHud)(`Patching framework ${d}, version: ${g}`),(0,i.getFrameworkPatcher)(c.patcher).isSupported(f,d,c.version,c.extraInfo))return`\n ;\n try {\n const { hudRITM } = require("hud-sdk/instrument");\n const { infoSafeLog: hudSafeLogger } = require("hud-sdk/logger");\n if (globalThis.hudRunningMode === ${r.HudRunningMode.enabled}) {\n if (typeof hudRITM === "function") {\n if (typeof hudSafeLogger === "function") {\n hudSafeLogger("esbuild patching ${d}");\n }\n module.exports = hudRITM(module.exports, "${d}", "hud-esbuild-folder-should-not-exists");\n }\n }\n } catch (e) {\n try {\n const { errorSafeLog: hudSafeLogger } = require("hud-sdk/logger");\n if (typeof hudSafeLogger === "function") {\n hudSafeLogger(\`esbuild patching ${f} failed: \${e}\`);\n }\n } catch {}\n }\n `;(0,s.logToHud)(`Failed to patch ${d}, unsupported version: ${g}`)};const o=n(5809),r=n(8528),i=n(2030),a=n(7085),s=n(5231)}},t={};return function n(o){var r=t[o];if(void 0!==r)return r.exports;var i=t[o]={exports:{}};return e[o].call(i.exports,i,i.exports,n),i.exports}(7085)})());
//# sourceMappingURL=esbuildPlugin.js.map