{"version":3,"file":"detection.js","sources":["../../../src/utils/detection.ts"],"sourcesContent":["import { consoleSandbox } from '@sentry/core';\nimport { NODE_MAJOR, NODE_MINOR } from '../nodeVersion';\n\n/** Detect CommonJS. */\nexport function isCjs(): boolean {\n try {\n return typeof module !== 'undefined' && typeof module.exports !== 'undefined';\n } catch {\n return false;\n }\n}\n\nlet hasWarnedAboutNodeVersion: boolean | undefined;\n\n/**\n * Check if the current Node.js version supports module.register\n */\nexport function supportsEsmLoaderHooks(): boolean {\n if (isCjs()) {\n return false;\n }\n\n if (NODE_MAJOR >= 21 || (NODE_MAJOR === 20 && NODE_MINOR >= 6) || (NODE_MAJOR === 18 && NODE_MINOR >= 19)) {\n return true;\n }\n\n if (!hasWarnedAboutNodeVersion) {\n hasWarnedAboutNodeVersion = true;\n\n consoleSandbox(() => {\n // eslint-disable-next-line no-console\n console.warn(\n `[Sentry] You are using Node.js v${process.versions.node} in ESM mode (\"import syntax\"). The Sentry Node.js SDK is not compatible with ESM in Node.js versions before 18.19.0 or before 20.6.0. Please either build your application with CommonJS (\"require() syntax\"), or upgrade your Node.js version.`,\n );\n });\n }\n\n return false;\n}\n"],"names":["NODE_MAJOR","NODE_MINOR","consoleSandbox"],"mappings":";;;;;AAGA;AACO,SAAS,KAAK,GAAY;AACjC,EAAE,IAAI;AACN,IAAI,OAAO,OAAO,MAAA,KAAW,WAAA,IAAe,OAAO,MAAM,CAAC,OAAA,KAAY,WAAW;AACjF,EAAE,EAAE,MAAM;AACV,IAAI,OAAO,KAAK;AAChB,EAAE;AACF;;AAEA,IAAI,yBAAyB;;AAE7B;AACA;AACA;AACO,SAAS,sBAAsB,GAAY;AAClD,EAAE,IAAI,KAAK,EAAE,EAAE;AACf,IAAI,OAAO,KAAK;AAChB,EAAE;;AAEF,EAAE,IAAIA,sBAAA,IAAc,EAAA,KAAOA,sBAAA,KAAe,EAAA,IAAMC,sBAAA,IAAc,CAAC,CAAA,KAAMD,sBAAA,KAAe,EAAA,IAAMC,sBAAA,IAAc,EAAE,CAAC,EAAE;AAC7G,IAAI,OAAO,IAAI;AACf,EAAE;;AAEF,EAAE,IAAI,CAAC,yBAAyB,EAAE;AAClC,IAAI,yBAAA,GAA4B,IAAI;;AAEpC,IAAIC,mBAAc,CAAC,MAAM;AACzB;AACA,MAAM,OAAO,CAAC,IAAI;AAClB,QAAQ,CAAC,gCAAgC,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,gPAAgP,CAAC;AAClT,OAAO;AACP,IAAI,CAAC,CAAC;AACN,EAAE;;AAEF,EAAE,OAAO,KAAK;AACd;;;;;"}