hud-sdk
Version:
Hud's Node SDK
2 lines • 1.68 kB
JavaScript
import{createRequire as t}from"node:module";const e=t(import.meta.url)("url"),o=t(import.meta.url)("../cjs/instrument"),r=t(import.meta.url)("../cjs/config"),n=t(import.meta.url)("../cjs/dto"),s=t(import.meta.url)("../cjs/lib"),i=t(import.meta.url)("../cjs/logger");let m,a,c=!1;const u=(0,s.isSupportedNative)(),g=async({port:t})=>{m=t,a=(0,s.shouldSupportSourceMap)(),setTimeout(()=>{try{i.instrument_logger.info("Getting tsconfig from esm loader"),(0,s.getUserTsNodeConfig)(!1)}catch(t){i.instrument_logger.error("Error getting tsconfig from esm loader",{msg:t instanceof Error?t.message:void 0,stack:t instanceof Error?t.stack:void 0})}},r.hudConfig.tsNodeConfigTimeout),(0,s.setInstrumentedFilesCountInterval)()},l=async(t,r,g)=>{const l=await g(t,r);if(!u||!l.source)return l;try{if(l.format===n.Format.esm){const r=(0,e.fileURLToPath)(t);i.instrument_logger.debug("Loading module",{modulePath:r});const c=(0,o.patch)(l.source?.toString(),r,n.Format.esm,m);if(l.source=c.code,a&&c.map){const t=(0,s.combineSourceMaps)(c.map,r);t&&m.postMessage({key:"HudRetrieveFileCache",filename:r,content:t})}(0,s.incrementInstrumentedFilesCount)()}else if(l.format===n.Format.moduleTypescript||l.format===n.Format.commonjsTypescript){c||(c=!0,i.instrument_logger.warn("Tried to load at least one unsupported typescript format"));const o=(0,e.fileURLToPath)(t);i.instrument_logger.debug("Loading unsupported format",{format:l.format,modulePath:o})}}catch(t){i.instrument_logger.error("Something went wrong in load hook",{msg:t instanceof Error?t.message:void 0,stack:t instanceof Error?t.stack:void 0})}return l};export{g as initialize,l as load};
//# sourceMappingURL=loader.mjs.map