std-env
Version:
Runtime agnostic JS utils
1 lines • 4.3 kB
JavaScript
const E=globalThis.process?.env||Object.create(null),I=globalThis.process||{env:E},O=void 0!==I&&I.env&&I.env.NODE_ENV||void 0,n=[["claude",["CLAUDECODE","CLAUDE_CODE"]],["replit",["REPL_ID"]],["gemini",["GEMINI_CLI"]],["codex",["CODEX_SANDBOX","CODEX_THREAD_ID"]],["opencode",["OPENCODE"]],["pi",[/* #__PURE__ */_("PATH",/\.pi[\\/]agent/)]],["auggie",["AUGMENT_AGENT"]],["goose",["GOOSE_PROVIDER"]],["junie",["JUNIE_DATA","JUNIE_SHIM_PATH"]],["copilot",["COPILOT_AGENT","COPILOT_CLI"]],["devin",[/* #__PURE__ */_("EDITOR",/devin/)]],["cursor",["CURSOR_AGENT"]],["kiro",[/* #__PURE__ */_("TERM_PROGRAM",/kiro/,{noTTY:!0})]]];function _(O,n,_){return()=>{if(_?.noTTY&&I.stdout?.isTTY)return!1;const e=E[O];return!!e&&n.test(e)}}function e(){const I=E.AI_AGENT;if(I){const E=I.toLowerCase();return{name:"github_copilot_vscode_agent"===E||"github_copilot_cloud_agent"===E?"copilot":E}}for(const[I,O]of n)for(const n of O)if("string"==typeof n?E[n]:n())return{name:I};return{}}const o=/* #__PURE__ */e(),R=/* #__PURE__ */(()=>o.name)(),i=/* #__PURE__ */(()=>!!o.name)(),A=[["APPVEYOR"],["AWS_AMPLIFY","AWS_APP_ID",{ci:!0}],["AZURE_PIPELINES","SYSTEM_TEAMFOUNDATIONCOLLECTIONURI"],["AZURE_STATIC","INPUT_AZURE_STATIC_WEB_APPS_API_TOKEN"],["APPCIRCLE","AC_APPCIRCLE"],["BAMBOO","bamboo_planKey"],["BITBUCKET","BITBUCKET_COMMIT"],["BITRISE","BITRISE_IO"],["BUDDY","BUDDY_WORKSPACE_ID"],["BUILDKITE"],["CIRCLE","CIRCLECI"],["CIRRUS","CIRRUS_CI"],["CLOUDFLARE_PAGES","CF_PAGES",{ci:!0}],["CLOUDFLARE_WORKERS","WORKERS_CI",{ci:!0}],["GOOGLE_CLOUDRUN","K_SERVICE"],["GOOGLE_CLOUDRUN_JOB","CLOUD_RUN_JOB"],["CODEBUILD","CODEBUILD_BUILD_ARN"],["CODEFRESH","CF_BUILD_ID"],["DRONE"],["DRONE","DRONE_BUILD_EVENT"],["DSARI"],["GITHUB_ACTIONS"],["GITLAB","GITLAB_CI"],["GITLAB","CI_MERGE_REQUEST_ID"],["GOCD","GO_PIPELINE_LABEL"],["LAYERCI"],["JENKINS","JENKINS_URL"],["HUDSON","HUDSON_URL"],["MAGNUM"],["NETLIFY"],["NETLIFY","NETLIFY_LOCAL",{ci:!1}],["NEVERCODE"],["RENDER"],["SAIL","SAILCI"],["SEMAPHORE"],["SCREWDRIVER"],["SHIPPABLE"],["SOLANO","TDDIUM"],["STRIDER"],["TEAMCITY","TEAMCITY_VERSION"],["TRAVIS"],["VERCEL","NOW_BUILDER"],["VERCEL","VERCEL",{ci:!1}],["VERCEL","VERCEL_ENV",{ci:!1}],["APPCENTER","APPCENTER_BUILD_ID"],["CODESANDBOX","CODESANDBOX_SSE",{ci:!1}],["CODESANDBOX","CODESANDBOX_HOST",{ci:!1}],["STACKBLITZ"],["STORMKIT"],["CLEAVR"],["ZEABUR"],["CODESPHERE","CODESPHERE_APP_ID",{ci:!0}],["RAILWAY","RAILWAY_PROJECT_ID"],["RAILWAY","RAILWAY_SERVICE_ID"],["DENO-DEPLOY","DENO_DEPLOY"],["DENO-DEPLOY","DENO_DEPLOYMENT_ID"],["FIREBASE_APP_HOSTING","FIREBASE_APP_HOSTING",{ci:!0}],["EDGEONE_PAGES","EO_PAGES_CI",{ci:!0}]];function C(){for(const I of A){const O=I[1]||I[0];if(E[O])return{name:I[0].toLowerCase(),...I[2]}}return"/bin/jsh"===E.SHELL&&I.versions?.webcontainer?{name:"stackblitz",ci:!1}:{name:"",ci:!1}}const D=/* #__PURE__ */C(),T=/* #__PURE__ */(()=>D.name)(),t=I.platform||"",L=/* #__PURE__ */(()=>!!E.CI||!1!==D.ci)(),N=!!I.stdout?.isTTY,S="undefined"!=typeof window,s=!!E.DEBUG,r="test"===O||!!E.TEST,P="production"===O||"production"===E.MODE,c="dev"===O||"development"===O||"development"===E.MODE,l=/* #__PURE__ */(()=>!!E.MINIMAL||L||r||!N)(),U=/^win/i.test(t),a=/^linux/i.test(t),B=/^darwin/i.test(t),u=/* #__PURE__ */(()=>!E.NO_COLOR&&(!!E.FORCE_COLOR||(N||U)&&"dumb"!==E.TERM||L))(),d=(I.versions?.node||"").replace(/^v/,"")||null,G=Number(d?.split(".")[0])||null,f=!!I?.versions?.node,M=!!I?.versions?.nub,g="Bun"in globalThis,Y="Deno"in globalThis,p="fastly"in globalThis,b="Netlify"in globalThis,m="EdgeRuntime"in globalThis,v="Cloudflare-Workers"===globalThis.navigator?.userAgent,V=[[b,"netlify"],[m,"edge-light"],[v,"workerd"],[p,"fastly"],[Y,"deno"],[g,"bun"],[f,"node"]];const H=function(){const E=V.find(E=>E[0]);if(E)return{name:E[1]}}(),F=H?.name||"";export{R as agent,o as agentInfo,e as detectAgent,C as detectProvider,E as env,N as hasTTY,S as hasWindow,i as isAgent,g as isBun,L as isCI,u as isColorSupported,s as isDebug,Y as isDeno,c as isDevelopment,m as isEdgeLight,p as isFastly,a as isLinux,B as isMacOS,l as isMinimal,b as isNetlify,f as isNode,M as isNub,P as isProduction,r as isTest,U as isWindows,v as isWorkerd,O as nodeENV,G as nodeMajorVersion,d as nodeVersion,t as platform,I as process,T as provider,D as providerInfo,F as runtime,H as runtimeInfo};