UNPKG

go-get-folder-size

Version:

Get the size of a folder by recursively iterating through all its sub(files && folders). Use go, so high-speed

2 lines (1 loc) 4.34 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const A=require("path"),V=require("./index-3c0f4283.js"),S=require("fs/promises"),C=Object.create(null),I=s=>{var e;return((e=globalThis.process)==null?void 0:e.env)||{BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1}},r=new Proxy(C,{get(s,e){return I()[e]??C[e]},has(s,e){const t=I();return e in t||e in C},set(s,e,t){const l=I(!0);return l[e]=t,!0},deleteProperty(s,e){if(!e)return!1;const t=I(!0);return delete t[e],!0},ownKeys(){const s=I(!0);return Object.keys(s)}}),Y=typeof process<"u"&&process.env&&process.env.NODE_ENV||"",G=[["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}],["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"],["HUDSON","HUDSON_URL"],["JENKINS","JENKINS_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}],["STACKBLITZ"],["STORMKIT"],["CLEAVR"],["ZEABUR"],["CODESPHERE","CODESPHERE_APP_ID",{ci:!0}],["RAILWAY","RAILWAY_PROJECT_ID"],["RAILWAY","RAILWAY_SERVICE_ID"]];function W(){var s,e,t,l,E,c;if((s=globalThis.process)!=null&&s.env)for(const o of G){const T=o[1]||o[0];if((e=globalThis.process)!=null&&e.env[T])return{name:o[0].toLowerCase(),...o[2]}}return((l=(t=globalThis.process)==null?void 0:t.env)==null?void 0:l.SHELL)==="/bin/jsh"&&((c=(E=globalThis.process)==null?void 0:E.versions)!=null&&c.webcontainer)?{name:"stackblitz",ci:!1}:{name:"",ci:!1}}const y=W();y.name;function i(s){return s?s!=="false":!1}var N;const K=((N=globalThis.process)==null?void 0:N.platform)||"",m=i(r.CI)||y.ci!==!1;var f,g;const v=i(((f=globalThis.process)==null?void 0:f.stdout)&&((g=globalThis.process)==null?void 0:g.stdout.isTTY));i(r.DEBUG);const z=Y==="test"||i(r.TEST);i(r.MINIMAL);const H=/^win/i.test(K);!i(r.NO_COLOR)&&(i(r.FORCE_COLOR)||(v||H)&&r.TERM);var P,h;const _=(((h=(P=globalThis.process)==null?void 0:P.versions)==null?void 0:h.node)||"").replace(/^v/,"")||null;Number(_==null?void 0:_.split(".")[0]);const j=globalThis.process||Object.create(null),O={versions:{}};new Proxy(j,{get(s,e){if(e==="env")return r;if(e in s)return s[e];if(e in O)return O[e]}});var B,b;const Z=((b=(B=globalThis.process)==null?void 0:B.release)==null?void 0:b.name)==="node";var p,U;const k=!!globalThis.Bun||!!((U=(p=globalThis.process)==null?void 0:p.versions)!=null&&U.bun),q=!!globalThis.Deno,x=!!globalThis.fastly,J=!!globalThis.Netlify,$=!!globalThis.EdgeRuntime;var d;const X=((d=globalThis.navigator)==null?void 0:d.userAgent)==="Cloudflare-Workers",Q=!!globalThis.__lagon__,ee=[[J,"netlify"],[$,"edge-light"],[X,"workerd"],[x,"fastly"],[q,"deno"],[k,"bun"],[Z,"node"],[Q,"lagon"]];function se(){const s=ee.find(e=>e[0]);if(s)return{name:s[1]}}const L=se(),te=(L==null?void 0:L.name)||"";async function F(s){const{size:e}=await S.lstat(s);return e}async function ne(s){try{return await F(s)}catch{return 0}}async function M(s,e=!1,t){const{loose:l=!1}=t||{};let E=0;const c=n=>E+=n,o=l?ne:F;if(te==="bun"){const n=await S.readdir(s,{recursive:!0,withFileTypes:!0});if(n.length===0)return R();const a=n.map(async D=>{if(!D.isFile())return;const w=await o(A.resolve(s,D.name));c(w)});return await Promise.all(a),R()}const T=await S.readdir(s,{withFileTypes:!0});if(T.length===0)return R();const u=[];for(const n of T){if(n.isFile()){const a=A.resolve(s,n.name);u.push(o(a).then(c));continue}if(n.isDirectory()){const a=A.resolve(s,n.name);u.push(M(a,!1,t).then(c))}}return await Promise.all(u),R();function R(){return e?V.prettyBytes(E):E}}exports.getFolderSize=M;