{"version":3,"file":"default-formatters.cjs","sources":["../../src/default-formatters.ts"],"sourcesContent":["import { Formatter, LogEvent } from 'src/logger';\nimport { environment, getEnv, isNetlify, isVercel, region } from 'src/platform';\nimport { isEdgeRuntime } from 'src/runtime';\n\ninterface BasePlatform {\n  environment?: string;\n  region?: string;\n  source?: string;\n}\n\ntype VercelLogEvent = LogEvent & {\n  vercel: {\n    deploymentId?: string;\n    deploymentUrl?: string;\n    project?: string;\n  } & BasePlatform;\n  git: {\n    commit?: string;\n    repo?: string;\n    ref?: string;\n  };\n};\n\ntype NetlifyLogEvent = LogEvent & {\n  netlify: {\n    siteId?: string;\n    buildId?: string;\n    context?: string;\n    deploymentId?: string;\n    deploymentUrl?: string;\n  } & BasePlatform;\n};\n\ntype GenericLogEvent = LogEvent & {\n  platform: BasePlatform;\n};\n\ntype PlatformLogEvent = VercelLogEvent | NetlifyLogEvent | GenericLogEvent;\n\nexport const injectPlatform: Formatter = (logEvent): PlatformLogEvent => {\n  // logEvent.source = source; @TODO\n\n  if (isVercel) {\n    const vercelLogEvent = logEvent as VercelLogEvent;\n\n    vercelLogEvent.vercel = {\n      environment: getEnv('VERCEL_ENV') ?? environment,\n      region: getEnv('VERCEL_REGION'),\n      deploymentId: getEnv('VERCEL_DEPLOYMENT_ID'),\n      deploymentUrl: getEnv('NEXT_PUBLIC_VERCEL_URL'),\n      project: getEnv('NEXT_PUBLIC_VERCEL_PROJECT_PRODUCTION_URL'),\n      source: logEvent.source,\n    };\n\n    vercelLogEvent.git = {\n      commit: getEnv('NEXT_PUBLIC_VERCEL_GIT_COMMIT_SHA'),\n      repo: getEnv('NEXT_PUBLIC_VERCEL_GIT_REPO_SLUG'),\n      ref: getEnv('NEXT_PUBLIC_VERCEL_GIT_COMMIT_REF'),\n    };\n\n    return vercelLogEvent;\n  }\n\n  if (isNetlify) {\n    const netlifyLogEvent = logEvent as NetlifyLogEvent;\n    netlifyLogEvent.netlify = {\n      environment: environment,\n      region: isEdgeRuntime ? getEnv('DENO_REGION') : getEnv('AWS_REGION'),\n      siteId: getEnv('SITE_ID'),\n      buildId: getEnv('BUILD_ID'),\n      context: getEnv('CONTEXT'),\n      deploymentUrl: getEnv('DEPLOYMENT_URL'),\n      deploymentId: isEdgeRuntime ? getEnv('DENO_DEPLOYMENT_ID') : getEnv('NETLIFY_DEPLOYMENT_ID'),\n      source: logEvent.source,\n    };\n\n    return netlifyLogEvent;\n  }\n\n  const genericLogEvent = logEvent as GenericLogEvent;\n  genericLogEvent.platform = {\n    environment: environment,\n    region: region,\n    source: logEvent.source,\n  };\n\n  return genericLogEvent;\n};\n\nexport const defaultFormatters = [injectPlatform];\n"],"names":["isVercel","getEnv","environment","isNetlify","isEdgeRuntime","region"],"mappings":";;;;AAuCO,MAAM,iBAA4B,CAAC,aAA+B;AAGvE,MAAIA,mBAAU;AACZ,UAAM,iBAAiB;AAEvB,mBAAe,SAAS;AAAA,MACtB,aAAaC,SAAAA,OAAO,YAAY,KAAKC,SAAAA;AAAAA,MACrC,QAAQD,SAAAA,OAAO,eAAe;AAAA,MAC9B,cAAcA,SAAAA,OAAO,sBAAsB;AAAA,MAC3C,eAAeA,SAAAA,OAAO,wBAAwB;AAAA,MAC9C,SAASA,SAAAA,OAAO,2CAA2C;AAAA,MAC3D,QAAQ,SAAS;AAAA,IAAA;AAGnB,mBAAe,MAAM;AAAA,MACnB,QAAQA,SAAAA,OAAO,mCAAmC;AAAA,MAClD,MAAMA,SAAAA,OAAO,kCAAkC;AAAA,MAC/C,KAAKA,SAAAA,OAAO,mCAAmC;AAAA,IAAA;AAGjD,WAAO;AAAA,EACT;AAEA,MAAIE,oBAAW;AACb,UAAM,kBAAkB;AACxB,oBAAgB,UAAU;AAAA,MAAA,aACxBD,SAAAA;AAAAA,MACA,QAAQE,QAAAA,gBAAgBH,SAAAA,OAAO,aAAa,IAAIA,SAAAA,OAAO,YAAY;AAAA,MACnE,QAAQA,SAAAA,OAAO,SAAS;AAAA,MACxB,SAASA,SAAAA,OAAO,UAAU;AAAA,MAC1B,SAASA,SAAAA,OAAO,SAAS;AAAA,MACzB,eAAeA,SAAAA,OAAO,gBAAgB;AAAA,MACtC,cAAcG,QAAAA,gBAAgBH,SAAAA,OAAO,oBAAoB,IAAIA,SAAAA,OAAO,uBAAuB;AAAA,MAC3F,QAAQ,SAAS;AAAA,IAAA;AAGnB,WAAO;AAAA,EACT;AAEA,QAAM,kBAAkB;AACxB,kBAAgB,WAAW;AAAA,IAAA,aACzBC,SAAAA;AAAAA,IAAA,QACAG,SAAAA;AAAAA,IACA,QAAQ,SAAS;AAAA,EAAA;AAGnB,SAAO;AACT;AAEO,MAAM,oBAAoB,CAAC,cAAc;;;"}