UNPKG

precompress

Version:

CLI to compress files to gzip, brotli, zst

22 lines (20 loc) 35.7 kB
#!/usr/bin/env node import{lstat as e,mkdir as t,readFile as n,readdir as r,realpath as i,stat as a,unlink as o,writeFile as s}from"node:fs/promises";import{closeSync as c,openSync as l,readSync as u,statSync as d}from"node:fs";import{dirname as f,extname as p,join as m,relative as h,resolve as g,sep as _}from"node:path";import{brotliCompress as v,constants as y,gzip as b,zstdCompress as x}from"node:zlib";import{availableParallelism as S,cpus as C}from"node:os";import{argv as w,env as T,exit as E,versions as D}from"node:process";import{promisify as O,styleText as k}from"node:util";var A=Object.create,j=Object.defineProperty,M=Object.getOwnPropertyDescriptor,N=Object.getOwnPropertyNames,ee=Object.getPrototypeOf,P=Object.prototype.hasOwnProperty,F=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),I=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=N(t),a=0,o=i.length,s;a<o;a++)s=i[a],!P.call(e,s)&&s!==n&&j(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=M(t,s))||r.enumerable});return e},L=(e,t,n)=>(n=e==null?{}:A(ee(e)),I(t||!e||!e.__esModule?j(n,`default`,{value:e,enumerable:!0}):n,e)),R=L(F(((e,t)=>{function n(e,t){var n=e;return t.slice(0,-1).forEach(function(e){n=n[e]||{}}),t[t.length-1]in n}function r(e){return typeof e==`number`||/^0x[0-9a-f]+$/i.test(e)?!0:/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(e)}function i(e,t){return t===`constructor`&&typeof e[t]==`function`||t===`__proto__`}t.exports=function(e,t){t||={};var a={bools:{},strings:{},unknownFn:null};typeof t.unknown==`function`&&(a.unknownFn=t.unknown),typeof t.boolean==`boolean`&&t.boolean?a.allBools=!0:[].concat(t.boolean).filter(Boolean).forEach(function(e){a.bools[e]=!0});var o={};function s(e){return o[e].some(function(e){return a.bools[e]})}Object.keys(t.alias||{}).forEach(function(e){o[e]=[].concat(t.alias[e]),o[e].forEach(function(t){o[t]=[e].concat(o[e].filter(function(e){return t!==e}))})}),[].concat(t.string).filter(Boolean).forEach(function(e){a.strings[e]=!0,o[e]&&[].concat(o[e]).forEach(function(e){a.strings[e]=!0})});var c=t.default||{},l={_:[]};function u(e,t){return a.allBools&&/^--[^=]+$/.test(t)||a.strings[e]||a.bools[e]||o[e]}function d(e,t,n){for(var r=e,o=0;o<t.length-1;o++){var s=t[o];if(i(r,s))return;r[s]===void 0&&(r[s]={}),(r[s]===Object.prototype||r[s]===Number.prototype||r[s]===String.prototype)&&(r[s]={}),r[s]===Array.prototype&&(r[s]=[]),r=r[s]}var c=t[t.length-1];i(r,c)||((r===Object.prototype||r===Number.prototype||r===String.prototype)&&(r={}),r===Array.prototype&&(r=[]),r[c]===void 0||a.bools[c]||typeof r[c]==`boolean`?r[c]=n:Array.isArray(r[c])?r[c].push(n):r[c]=[r[c],n])}function f(e,t,n){if(!(n&&a.unknownFn&&!u(e,n)&&a.unknownFn(n)===!1)){var i=!a.strings[e]&&r(t)?Number(t):t;d(l,e.split(`.`),i),(o[e]||[]).forEach(function(e){d(l,e.split(`.`),i)})}}Object.keys(a.bools).forEach(function(e){f(e,c[e]===void 0?!1:c[e])});var p=[];e.indexOf(`--`)!==-1&&(p=e.slice(e.indexOf(`--`)+1),e=e.slice(0,e.indexOf(`--`)));for(var m=0;m<e.length;m++){var h=e[m],g,_;if(/^--.+=/.test(h)){var v=h.match(/^--([^=]+)=([\s\S]*)$/);g=v[1];var y=v[2];a.bools[g]&&(y=y!==`false`),f(g,y,h)}else if(/^--no-.+/.test(h))g=h.match(/^--no-(.+)/)[1],f(g,!1,h);else if(/^--.+/.test(h))g=h.match(/^--(.+)/)[1],_=e[m+1],_!==void 0&&!/^(-|--)[^-]/.test(_)&&!a.bools[g]&&!a.allBools&&(!o[g]||!s(g))?(f(g,_,h),m+=1):/^(true|false)$/.test(_)?(f(g,_===`true`,h),m+=1):f(g,a.strings[g]?``:!0,h);else if(/^-[^-]+/.test(h)){for(var b=h.slice(1,-1).split(``),x=!1,S=0;S<b.length;S++){if(_=h.slice(S+2),_===`-`){f(b[S],_,h);continue}if(/[A-Za-z]/.test(b[S])&&_[0]===`=`){f(b[S],_.slice(1),h),x=!0;break}if(/[A-Za-z]/.test(b[S])&&/-?\d+(\.\d*)?(e-?\d+)?$/.test(_)){f(b[S],_,h),x=!0;break}if(b[S+1]&&b[S+1].match(/\W/)){f(b[S],h.slice(S+2),h),x=!0;break}else f(b[S],a.strings[b[S]]?``:!0,h)}g=h.slice(-1)[0],!x&&g!==`-`&&(e[m+1]&&!/^(-|--)[^-]/.test(e[m+1])&&!a.bools[g]&&(!o[g]||!s(g))?(f(g,e[m+1],h),m+=1):e[m+1]&&/^(true|false)$/.test(e[m+1])?(f(g,e[m+1]===`true`,h),m+=1):f(g,a.strings[g]?``:!0,h))}else if((!a.unknownFn||a.unknownFn(h)!==!1)&&l._.push(a.strings._||!r(h)?h:Number(h)),t.stopEarly){l._.push.apply(l._,e.slice(m+1));break}}return Object.keys(c).forEach(function(e){n(l,e.split(`.`))||(d(l,e.split(`.`),c[e]),(o[e]||[]).forEach(function(t){d(l,t.split(`.`),c[e])}))}),t[`--`]?l[`--`]=p.slice():p.forEach(function(e){l._.push(e)}),l}}))(),1);async function z(e,t,{concurrency:n=1/0,stopOnError:r=!0,signal:i}={}){return new Promise((a,o)=>{if(e[Symbol.iterator]===void 0&&e[Symbol.asyncIterator]===void 0)throw TypeError(`Expected \`input\` to be either an \`Iterable\` or \`AsyncIterable\`, got (${typeof e})`);if(typeof t!=`function`)throw TypeError(`Mapper function is required`);if(!(Number.isSafeInteger(n)&&n>=1||n===1/0))throw TypeError(`Expected \`concurrency\` to be an integer from 1 and up or \`Infinity\`, got \`${n}\` (${typeof n})`);let s=[],c=[],l=new Map,u=!1,d=!1,f=!1,p=0,m=0,h=e[Symbol.iterator]===void 0?e[Symbol.asyncIterator]():e[Symbol.iterator](),g=()=>{y(i.reason)},_=()=>{i?.removeEventListener(`abort`,g)},v=e=>{a(e),_()},y=e=>{u=!0,d=!0,o(e),_()};i&&(i.aborted&&y(i.reason),i.addEventListener(`abort`,g,{once:!0}));let b=async()=>{if(d)return;let e=await h.next(),n=m;if(m++,e.done){if(f=!0,p===0&&!d){if(!r&&c.length>0){y(AggregateError(c));return}if(d=!0,l.size===0){v(s);return}let e=[];for(let[t,n]of s.entries())l.get(t)!==B&&e.push(n);v(e)}return}p++,(async()=>{try{let r=await e.value;if(d)return;let i=await t(r,n);i===B&&l.set(n,i),s[n]=i,p--,await b()}catch(e){if(r)y(e);else{c.push(e),p--;try{await b()}catch(e){y(e)}}}})()};(async()=>{for(let e=0;e<n;e++){try{await b()}catch(e){y(e);break}if(f||u)break}})()})}const B=Symbol(`skip`),V=new TextEncoder,H=V.encode.bind(V),U=new TextDecoder,W=U.decode.bind(U),G=H(_),K=_===`\\`,q=e=>e instanceof Uint8Array?`buffer`:`utf8`,J={strict:!1,stats:!1,followSymlinks:!1,exclude:void 0,include:void 0,insensitive:!1};function Y({name:e},t,n){if(n===`buffer`){if(t===`.`)return e;let n=t,r=e,i=new Uint8Array(n.length+G.length+r.length);return i.set(n,0),i.set(G,n.length),i.set(r,n.length+G.length),i}else return t===`.`?e:`${t}${_}${e}`}function X(e,t,n,r){let i={path:t,directory:(n||e).isDirectory(),symlink:(n||e).isSymbolicLink()};return r.stats&&(i.stats=n),i}function Z(e,t){e=e.replace(/\\/g,`/`);let n=e.endsWith(`/**`),r=e.replace(/[.+?^${}()|[\]\\]/g,`\\$&`).replace(/\*\*/g,`__DOUBLESTAR__`).replace(/\*/g,`[^/]*`).replace(/__DOUBLESTAR__/g,`.*`);return n?(r=r.slice(0,-3),r=`^${r}(?:/.*)?$`):r=`^${r}$`,new RegExp(r,t?`i`:``)}function te(e,t){if(!e?.length)return null;let n=e.map(e=>Z(e,t));return e=>{let t=g(e),r=K?t.replace(/\\/g,`/`):t;return n.some(e=>e.test(r))}}function ne({include:e,exclude:t,insensitive:n}){return{includeMatcher:te(e||[],n||!1),excludeMatcher:te(t||[],n||!1)}}function re(e,t){t={...J,...t};let{includeMatcher:n,excludeMatcher:r}=ne(t);typeof e==`string`&&/[/\\]$/.test(e)&&(e=e.substring(0,e.length-1));let i=q(e);return{dir:e,opts:t,internalOpts:{includeMatcher:n,excludeMatcher:r,encoding:i}}}function ie(e,t){return t===`buffer`?W(e):e}async function*ae(t,n={},i){i||({dir:t,opts:n,internalOpts:i}=re(t,n));let{includeMatcher:o,excludeMatcher:s,encoding:c}=i,l=[];try{l=await r(t,{encoding:c,withFileTypes:!0})}catch(e){if(n.strict)throw e;yield{path:t,err:e}}if(l.length)for(let r of l){let l=Y(r,t,c),u=ie(l,c);if(s?.(u))continue;let d=!!(n.followSymlinks&&r.isSymbolicLink()),f=!o||o(u),p;if(f){if(n.stats||d)try{p=await(n.followSymlinks?a:e)(l)}catch(e){if(n.strict)throw e;yield{path:l,err:e}}yield X(r,l,p,n)}let m=!1;if(d){if(!p)try{p=await a(l)}catch{}p?.isDirectory()&&(m=!0)}else r.isDirectory()&&(m=!0);m&&(yield*ae(l,n,i))}}function oe(e,t){if(t<4)return null;let n=Math.min(t,512),r=0,i=0;for(let t=0;t<n;t++)e[t]===0&&(t%2==0?r++:i++);let a=r+i;if(a>n*.3&&a<n*.7){if(i>r*3)return`utf-16le`;if(r>i*3)return`utf-16be`}return null}function se(e,t,n){let r=Math.min(t,512);if(n===`utf-16`||n===`utf-16le`||n===`utf-16be`){for(let t=0;t<r;t+=2){let i=e[t],a=t+1<r?e[t+1]:0;if((n===`utf-16le`||n===`utf-16`)&&a===0&&i<32&&i!==9&&i!==10&&i!==13&&i!==0||(n===`utf-16be`||n===`utf-16`)&&i===0&&a<32&&a!==9&&a!==10&&a!==13&&a!==0)return!1}return!0}if(n===`latin1`||n===`iso-8859-1`){for(let t=0;t<r;t++){let n=e[t];if(n===0||n<32&&n!==9&&n!==10&&n!==13)return!1}return!0}if(n===`cjk`||n===`big5`||n===`gb2312`||n===`gbk`||n===`euc-kr`||n===`shift-jis`){for(let t=0;t<r;t++){let n=e[t];if(n===0||n<32&&n!==9&&n!==10&&n!==13)return!1}return!0}return!1}var ce=class{fileBuffer;size;offset;error;constructor(e,t){this.fileBuffer=e,this.size=t,this.offset=0,this.error=!1}hasError(){return this.error}nextByte(){return this.offset===this.size||this.hasError()?(this.error=!0,255):this.fileBuffer[this.offset++]}next(e){if(e<0||e>this.size-this.offset)return this.error=!0,[];let t=[];for(let n=0;n<e;n++){if(this.error)return t;t[n]=this.nextByte()}return t}};function le(e){let t=0,n=0;for(;!e.hasError();){let r=e.nextByte();if(n|=(r&127)<<7*t,!(r&128))break;if(t>=10){e.error=!0;break}t++}return n}function ue(e){switch(le(e)&7){case 0:return le(e),!0;case 1:return e.next(8),!0;case 2:let t=le(e);return e.next(t),!0;case 5:return e.next(4),!0}return!1}function de(e,t){let n=new ce(e,t),r=0;for(;;){if(!ue(n)&&!n.hasError())return!1;if(n.hasError())break;r++}return r>0}function fe(e,t){if(me(e)){he(d(e));let n=l(e,`r`),r=Buffer.alloc(515),i=u(n,r,0,515,0);return c(n),pe(r,i,t)}else return pe(e,t?.size===void 0?e.length:t.size,t)}function pe(e,t,n){if(t===0)return!1;let r=0,i=Math.min(t,515),a=Math.min(i,512);if(t>=3&&e[0]===239&&e[1]===187&&e[2]===191||t>=4&&e[0]===0&&e[1]===0&&e[2]===254&&e[3]===255||t>=4&&e[0]===255&&e[1]===254&&e[2]===0&&e[3]===0||t>=4&&e[0]===132&&e[1]===49&&e[2]===149&&e[3]===51)return!1;if(i>=5&&e.slice(0,5).toString()===`%PDF-`)return!0;if(t>=2&&e[0]===254&&e[1]===255||t>=2&&e[0]===255&&e[1]===254)return!1;if(n?.encoding)return!se(e,t,n.encoding);let o=oe(e,t);if(o)return!se(e,t,o);for(let t=0;t<a;t++)if(e[t]===0)return!0;else if((e[t]<7||e[t]>14)&&(e[t]<32||e[t]>127)){if(e[t]>=192&&e[t]<=223&&t+1<i){if(t++,e[t]>=128&&e[t]<=191)continue}else if(e[t]>=224&&e[t]<=239&&t+2<i){if(t++,e[t]>=128&&e[t]<=191&&e[t+1]>=128&&e[t+1]<=191){t++;continue}}else if(e[t]>=240&&e[t]<=247&&t+3<i&&(t++,e[t]>=128&&e[t]<=191&&e[t+1]>=128&&e[t+1]<=191&&e[t+2]>=128&&e[t+2]<=191)){t+=2;continue}if(r++,t>=32&&r*100/a>10)return!0}return!!(r*100/a>10||r>1&&de(e,a))}function me(e){return typeof e==`string`}function he(e){if(!e.isFile())throw Error(`Path provided was not a file!`)}var Q=F(((e,t)=>{let n=`[^\\\\/]`,r=`[^/]`,i=`(?:\\/|$)`,a=`(?:^|\\/)`,o=`\\.{1,2}${i}`,s={DOT_LITERAL:`\\.`,PLUS_LITERAL:`\\+`,QMARK_LITERAL:`\\?`,SLASH_LITERAL:`\\/`,ONE_CHAR:`(?=.)`,QMARK:r,END_ANCHOR:i,DOTS_SLASH:o,NO_DOT:`(?!\\.)`,NO_DOTS:`(?!${a}${o})`,NO_DOT_SLASH:`(?!\\.{0,1}${i})`,NO_DOTS_SLASH:`(?!${o})`,QMARK_NO_DOT:`[^.\\/]`,STAR:`${r}*?`,START_ANCHOR:a,SEP:`/`},c={...s,SLASH_LITERAL:`[\\\\/]`,QMARK:n,STAR:`${n}*?`,DOTS_SLASH:`\\.{1,2}(?:[\\\\/]|$)`,NO_DOT:`(?!\\.)`,NO_DOTS:`(?!(?:^|[\\\\/])\\.{1,2}(?:[\\\\/]|$))`,NO_DOT_SLASH:`(?!\\.{0,1}(?:[\\\\/]|$))`,NO_DOTS_SLASH:`(?!\\.{1,2}(?:[\\\\/]|$))`,QMARK_NO_DOT:`[^.\\\\/]`,START_ANCHOR:`(?:^|[\\\\/])`,END_ANCHOR:`(?:[\\\\/]|$)`,SEP:`\\`};t.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:{alnum:`a-zA-Z0-9`,alpha:`a-zA-Z`,ascii:`\\x00-\\x7F`,blank:` \\t`,cntrl:`\\x00-\\x1F\\x7F`,digit:`0-9`,graph:`\\x21-\\x7E`,lower:`a-z`,print:`\\x20-\\x7E `,punct:`\\-!"#$%&'()\\*+,./:;<=>?@[\\]^_\`{|}~`,space:` \\t\\r\\n\\v\\f`,upper:`A-Z`,word:`A-Za-z0-9_`,xdigit:`A-Fa-f0-9`},REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{__proto__:null,"***":`*`,"**/**":`**`,"**/**/**":`**`},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars(e){return{"!":{type:`negate`,open:`(?:(?!(?:`,close:`))${e.STAR})`},"?":{type:`qmark`,open:`(?:`,close:`)?`},"+":{type:`plus`,open:`(?:`,close:`)+`},"*":{type:`star`,open:`(?:`,close:`)*`},"@":{type:`at`,open:`(?:`,close:`)`}}},globChars(e){return e===!0?c:s}}})),ge=F((e=>{let{REGEX_BACKSLASH:t,REGEX_REMOVE_BACKSLASH:n,REGEX_SPECIAL_CHARS:r,REGEX_SPECIAL_CHARS_GLOBAL:i}=Q();e.isObject=e=>typeof e==`object`&&!!e&&!Array.isArray(e),e.hasRegexChars=e=>r.test(e),e.isRegexChar=t=>t.length===1&&e.hasRegexChars(t),e.escapeRegex=e=>e.replace(i,`\\$1`),e.toPosixSlashes=e=>e.replace(t,`/`),e.isWindows=()=>{if(typeof navigator<`u`&&navigator.platform){let e=navigator.platform.toLowerCase();return e===`win32`||e===`windows`}return typeof process<`u`&&process.platform?process.platform===`win32`:!1},e.removeBackslashes=e=>e.replace(n,e=>e===`\\`?``:e),e.escapeLast=(t,n,r)=>{let i=t.lastIndexOf(n,r);return i===-1?t:t[i-1]===`\\`?e.escapeLast(t,n,i-1):`${t.slice(0,i)}\\${t.slice(i)}`},e.removePrefix=(e,t={})=>{let n=e;return n.startsWith(`./`)&&(n=n.slice(2),t.prefix=`./`),n},e.wrapOutput=(e,t={},n={})=>{let r=`${n.contains?``:`^`}(?:${e})${n.contains?``:`$`}`;return t.negated===!0&&(r=`(?:^(?!${r}).*$)`),r},e.basename=(e,{windows:t}={})=>{let n=e.split(t?/[\\/]/:`/`),r=n[n.length-1];return r===``?n[n.length-2]:r}})),_e=F(((e,t)=>{let n=ge(),{CHAR_ASTERISK:r,CHAR_AT:i,CHAR_BACKWARD_SLASH:a,CHAR_COMMA:o,CHAR_DOT:s,CHAR_EXCLAMATION_MARK:c,CHAR_FORWARD_SLASH:l,CHAR_LEFT_CURLY_BRACE:u,CHAR_LEFT_PARENTHESES:d,CHAR_LEFT_SQUARE_BRACKET:f,CHAR_PLUS:p,CHAR_QUESTION_MARK:m,CHAR_RIGHT_CURLY_BRACE:h,CHAR_RIGHT_PARENTHESES:g,CHAR_RIGHT_SQUARE_BRACKET:_}=Q(),v=e=>e===l||e===a,y=e=>{e.isPrefix!==!0&&(e.depth=e.isGlobstar?1/0:1)};t.exports=(e,t)=>{let b=t||{},x=e.length-1,S=b.parts===!0||b.scanToEnd===!0,C=[],w=[],T=[],E=e,D=-1,O=0,k=0,A=!1,j=!1,M=!1,N=!1,ee=!1,P=!1,F=!1,I=!1,L=!1,R=!1,z=0,B,V,H={value:``,depth:0,isGlob:!1},U=()=>D>=x,W=()=>E.charCodeAt(D+1),G=()=>(B=V,E.charCodeAt(++D));for(;D<x;){V=G();let e;if(V===a){F=H.backslashes=!0,V=G(),V===u&&(P=!0);continue}if(P===!0||V===u){for(z++;U()!==!0&&(V=G());){if(V===a){F=H.backslashes=!0,G();continue}if(V===u){z++;continue}if(P!==!0&&V===s&&(V=G())===s){if(A=H.isBrace=!0,M=H.isGlob=!0,R=!0,S===!0)continue;break}if(P!==!0&&V===o){if(A=H.isBrace=!0,M=H.isGlob=!0,R=!0,S===!0)continue;break}if(V===h&&(z--,z===0)){P=!1,A=H.isBrace=!0,R=!0;break}}if(S===!0)continue;break}if(V===l){if(C.push(D),w.push(H),H={value:``,depth:0,isGlob:!1},R===!0)continue;if(B===s&&D===O+1){O+=2;continue}k=D+1;continue}if(b.noext!==!0&&(V===p||V===i||V===r||V===m||V===c)&&W()===d){if(M=H.isGlob=!0,N=H.isExtglob=!0,R=!0,V===c&&D===O&&(L=!0),S===!0){for(;U()!==!0&&(V=G());){if(V===a){F=H.backslashes=!0,V=G();continue}if(V===g){M=H.isGlob=!0,R=!0;break}}continue}break}if(V===r){if(B===r&&(ee=H.isGlobstar=!0),M=H.isGlob=!0,R=!0,S===!0)continue;break}if(V===m){if(M=H.isGlob=!0,R=!0,S===!0)continue;break}if(V===f){for(;U()!==!0&&(e=G());){if(e===a){F=H.backslashes=!0,G();continue}if(e===_){j=H.isBracket=!0,M=H.isGlob=!0,R=!0;break}}if(S===!0)continue;break}if(b.nonegate!==!0&&V===c&&D===O){I=H.negated=!0,O++;continue}if(b.noparen!==!0&&V===d){if(M=H.isGlob=!0,S===!0){for(;U()!==!0&&(V=G());){if(V===d){F=H.backslashes=!0,V=G();continue}if(V===g){R=!0;break}}continue}break}if(M===!0){if(R=!0,S===!0)continue;break}}b.noext===!0&&(N=!1,M=!1);let K=E,q=``,J=``;O>0&&(q=E.slice(0,O),E=E.slice(O),k-=O),K&&M===!0&&k>0?(K=E.slice(0,k),J=E.slice(k)):M===!0?(K=``,J=E):K=E,K&&K!==``&&K!==`/`&&K!==E&&v(K.charCodeAt(K.length-1))&&(K=K.slice(0,-1)),b.unescape===!0&&(J&&=n.removeBackslashes(J),K&&F===!0&&(K=n.removeBackslashes(K)));let Y={prefix:q,input:e,start:O,base:K,glob:J,isBrace:A,isBracket:j,isGlob:M,isExtglob:N,isGlobstar:ee,negated:I,negatedExtglob:L};if(b.tokens===!0&&(Y.maxDepth=0,v(V)||w.push(H),Y.tokens=w),b.parts===!0||b.tokens===!0){let t;for(let n=0;n<C.length;n++){let r=t?t+1:O,i=C[n],a=e.slice(r,i);b.tokens&&(n===0&&O!==0?(w[n].isPrefix=!0,w[n].value=q):w[n].value=a,y(w[n]),Y.maxDepth+=w[n].depth),(n!==0||a!==``)&&T.push(a),t=i}if(t&&t+1<e.length){let n=e.slice(t+1);T.push(n),b.tokens&&(w[w.length-1].value=n,y(w[w.length-1]),Y.maxDepth+=w[w.length-1].depth)}Y.slashes=C,Y.parts=T}return Y}})),ve=F(((e,t)=>{let n=Q(),r=ge(),{MAX_LENGTH:i,POSIX_REGEX_SOURCE:a,REGEX_NON_SPECIAL_CHARS:o,REGEX_SPECIAL_CHARS_BACKREF:s,REPLACEMENTS:c}=n,l=(e,t)=>{if(typeof t.expandRange==`function`)return t.expandRange(...e,t);e.sort();let n=`[${e.join(`-`)}]`;try{new RegExp(n)}catch{return e.map(e=>r.escapeRegex(e)).join(`..`)}return n},u=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,d=(e,t)=>{if(typeof e!=`string`)throw TypeError(`Expected a string`);e=c[e]||e;let f={...t},p=typeof f.maxLength==`number`?Math.min(i,f.maxLength):i,m=e.length;if(m>p)throw SyntaxError(`Input length: ${m}, exceeds maximum allowed length: ${p}`);let h={type:`bos`,value:``,output:f.prepend||``},g=[h],_=f.capture?``:`?:`,v=n.globChars(f.windows),y=n.extglobChars(v),{DOT_LITERAL:b,PLUS_LITERAL:x,SLASH_LITERAL:S,ONE_CHAR:C,DOTS_SLASH:w,NO_DOT:T,NO_DOT_SLASH:E,NO_DOTS_SLASH:D,QMARK:O,QMARK_NO_DOT:k,STAR:A,START_ANCHOR:j}=v,M=e=>`(${_}(?:(?!${j}${e.dot?w:b}).)*?)`,N=f.dot?``:T,ee=f.dot?O:k,P=f.bash===!0?M(f):A;f.capture&&(P=`(${P})`),typeof f.noext==`boolean`&&(f.noextglob=f.noext);let F={input:e,index:-1,start:0,dot:f.dot===!0,consumed:``,output:``,prefix:``,backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:g};e=r.removePrefix(e,F),m=e.length;let I=[],L=[],R=[],z=h,B,V=()=>F.index===m-1,H=F.peek=(t=1)=>e[F.index+t],U=F.advance=()=>e[++F.index]||``,W=()=>e.slice(F.index+1),G=(e=``,t=0)=>{F.consumed+=e,F.index+=t},K=e=>{F.output+=e.output==null?e.value:e.output,G(e.value)},q=()=>{let e=1;for(;H()===`!`&&(H(2)!==`(`||H(3)===`?`);)U(),F.start++,e++;return e%2==0?!1:(F.negated=!0,F.start++,!0)},J=e=>{F[e]++,R.push(e)},Y=e=>{F[e]--,R.pop()},X=e=>{if(z.type===`globstar`){let t=F.braces>0&&(e.type===`comma`||e.type===`brace`),n=e.extglob===!0||I.length&&(e.type===`pipe`||e.type===`paren`);e.type!==`slash`&&e.type!==`paren`&&!t&&!n&&(F.output=F.output.slice(0,-z.output.length),z.type=`star`,z.value=`*`,z.output=P,F.output+=z.output)}if(I.length&&e.type!==`paren`&&(I[I.length-1].inner+=e.value),(e.value||e.output)&&K(e),z&&z.type===`text`&&e.type===`text`){z.output=(z.output||z.value)+e.value,z.value+=e.value;return}e.prev=z,g.push(e),z=e},Z=(e,t)=>{let n={...y[t],conditions:1,inner:``};n.prev=z,n.parens=F.parens,n.output=F.output;let r=(f.capture?`(`:``)+n.open;J(`parens`),X({type:e,value:t,output:F.output?``:C}),X({type:`paren`,extglob:!0,value:U(),output:r}),I.push(n)},te=e=>{let n=e.close+(f.capture?`)`:``),r;if(e.type===`negate`){let i=P;e.inner&&e.inner.length>1&&e.inner.includes(`/`)&&(i=M(f)),(i!==P||V()||/^\)+$/.test(W()))&&(n=e.close=`)$))${i}`),e.inner.includes(`*`)&&(r=W())&&/^\.[^\\/.]+$/.test(r)&&(n=e.close=`)${d(r,{...t,fastpaths:!1}).output})${i})`),e.prev.type===`bos`&&(F.negatedExtglob=!0)}X({type:`paren`,extglob:!0,value:B,output:n}),Y(`parens`)};if(f.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(e)){let n=!1,i=e.replace(s,(e,t,r,i,a,o)=>i===`\\`?(n=!0,e):i===`?`?t?t+i+(a?O.repeat(a.length):``):o===0?ee+(a?O.repeat(a.length):``):O.repeat(r.length):i===`.`?b.repeat(r.length):i===`*`?t?t+i+(a?P:``):P:t?e:`\\${e}`);return n===!0&&(i=f.unescape===!0?i.replace(/\\/g,``):i.replace(/\\+/g,e=>e.length%2==0?`\\\\`:e?`\\`:``)),i===e&&f.contains===!0?(F.output=e,F):(F.output=r.wrapOutput(i,F,t),F)}for(;!V();){if(B=U(),B===`\0`)continue;if(B===`\\`){let e=H();if(e===`/`&&f.bash!==!0||e===`.`||e===`;`)continue;if(!e){B+=`\\`,X({type:`text`,value:B});continue}let t=/^\\+/.exec(W()),n=0;if(t&&t[0].length>2&&(n=t[0].length,F.index+=n,n%2!=0&&(B+=`\\`)),f.unescape===!0?B=U():B+=U(),F.brackets===0){X({type:`text`,value:B});continue}}if(F.brackets>0&&(B!==`]`||z.value===`[`||z.value===`[^`)){if(f.posix!==!1&&B===`:`){let e=z.value.slice(1);if(e.includes(`[`)&&(z.posix=!0,e.includes(`:`))){let e=z.value.lastIndexOf(`[`),t=z.value.slice(0,e),n=a[z.value.slice(e+2)];if(n){z.value=t+n,F.backtrack=!0,U(),!h.output&&g.indexOf(z)===1&&(h.output=C);continue}}}(B===`[`&&H()!==`:`||B===`-`&&H()===`]`)&&(B=`\\${B}`),B===`]`&&(z.value===`[`||z.value===`[^`)&&(B=`\\${B}`),f.posix===!0&&B===`!`&&z.value===`[`&&(B=`^`),z.value+=B,K({value:B});continue}if(F.quotes===1&&B!==`"`){B=r.escapeRegex(B),z.value+=B,K({value:B});continue}if(B===`"`){F.quotes=F.quotes===1?0:1,f.keepQuotes===!0&&X({type:`text`,value:B});continue}if(B===`(`){J(`parens`),X({type:`paren`,value:B});continue}if(B===`)`){if(F.parens===0&&f.strictBrackets===!0)throw SyntaxError(u(`opening`,`(`));let e=I[I.length-1];if(e&&F.parens===e.parens+1){te(I.pop());continue}X({type:`paren`,value:B,output:F.parens?`)`:`\\)`}),Y(`parens`);continue}if(B===`[`){if(f.nobracket===!0||!W().includes(`]`)){if(f.nobracket!==!0&&f.strictBrackets===!0)throw SyntaxError(u(`closing`,`]`));B=`\\${B}`}else J(`brackets`);X({type:`bracket`,value:B});continue}if(B===`]`){if(f.nobracket===!0||z&&z.type===`bracket`&&z.value.length===1){X({type:`text`,value:B,output:`\\${B}`});continue}if(F.brackets===0){if(f.strictBrackets===!0)throw SyntaxError(u(`opening`,`[`));X({type:`text`,value:B,output:`\\${B}`});continue}Y(`brackets`);let e=z.value.slice(1);if(z.posix!==!0&&e[0]===`^`&&!e.includes(`/`)&&(B=`/${B}`),z.value+=B,K({value:B}),f.literalBrackets===!1||r.hasRegexChars(e))continue;let t=r.escapeRegex(z.value);if(F.output=F.output.slice(0,-z.value.length),f.literalBrackets===!0){F.output+=t,z.value=t;continue}z.value=`(${_}${t}|${z.value})`,F.output+=z.value;continue}if(B===`{`&&f.nobrace!==!0){J(`braces`);let e={type:`brace`,value:B,output:`(`,outputIndex:F.output.length,tokensIndex:F.tokens.length};L.push(e),X(e);continue}if(B===`}`){let e=L[L.length-1];if(f.nobrace===!0||!e){X({type:`text`,value:B,output:B});continue}let t=`)`;if(e.dots===!0){let e=g.slice(),n=[];for(let t=e.length-1;t>=0&&(g.pop(),e[t].type!==`brace`);t--)e[t].type!==`dots`&&n.unshift(e[t].value);t=l(n,f),F.backtrack=!0}if(e.comma!==!0&&e.dots!==!0){let n=F.output.slice(0,e.outputIndex),r=F.tokens.slice(e.tokensIndex);e.value=e.output=`\\{`,B=t=`\\}`,F.output=n;for(let e of r)F.output+=e.output||e.value}X({type:`brace`,value:B,output:t}),Y(`braces`),L.pop();continue}if(B===`|`){I.length>0&&I[I.length-1].conditions++,X({type:`text`,value:B});continue}if(B===`,`){let e=B,t=L[L.length-1];t&&R[R.length-1]===`braces`&&(t.comma=!0,e=`|`),X({type:`comma`,value:B,output:e});continue}if(B===`/`){if(z.type===`dot`&&F.index===F.start+1){F.start=F.index+1,F.consumed=``,F.output=``,g.pop(),z=h;continue}X({type:`slash`,value:B,output:S});continue}if(B===`.`){if(F.braces>0&&z.type===`dot`){z.value===`.`&&(z.output=b);let e=L[L.length-1];z.type=`dots`,z.output+=B,z.value+=B,e.dots=!0;continue}if(F.braces+F.parens===0&&z.type!==`bos`&&z.type!==`slash`){X({type:`text`,value:B,output:b});continue}X({type:`dot`,value:B,output:b});continue}if(B===`?`){if(!(z&&z.value===`(`)&&f.noextglob!==!0&&H()===`(`&&H(2)!==`?`){Z(`qmark`,B);continue}if(z&&z.type===`paren`){let e=H(),t=B;(z.value===`(`&&!/[!=<:]/.test(e)||e===`<`&&!/<([!=]|\w+>)/.test(W()))&&(t=`\\${B}`),X({type:`text`,value:B,output:t});continue}if(f.dot!==!0&&(z.type===`slash`||z.type===`bos`)){X({type:`qmark`,value:B,output:k});continue}X({type:`qmark`,value:B,output:O});continue}if(B===`!`){if(f.noextglob!==!0&&H()===`(`&&(H(2)!==`?`||!/[!=<:]/.test(H(3)))){Z(`negate`,B);continue}if(f.nonegate!==!0&&F.index===0){q();continue}}if(B===`+`){if(f.noextglob!==!0&&H()===`(`&&H(2)!==`?`){Z(`plus`,B);continue}if(z&&z.value===`(`||f.regex===!1){X({type:`plus`,value:B,output:x});continue}if(z&&(z.type===`bracket`||z.type===`paren`||z.type===`brace`)||F.parens>0){X({type:`plus`,value:B});continue}X({type:`plus`,value:x});continue}if(B===`@`){if(f.noextglob!==!0&&H()===`(`&&H(2)!==`?`){X({type:`at`,extglob:!0,value:B,output:``});continue}X({type:`text`,value:B});continue}if(B!==`*`){(B===`$`||B===`^`)&&(B=`\\${B}`);let e=o.exec(W());e&&(B+=e[0],F.index+=e[0].length),X({type:`text`,value:B});continue}if(z&&(z.type===`globstar`||z.star===!0)){z.type=`star`,z.star=!0,z.value+=B,z.output=P,F.backtrack=!0,F.globstar=!0,G(B);continue}let t=W();if(f.noextglob!==!0&&/^\([^?]/.test(t)){Z(`star`,B);continue}if(z.type===`star`){if(f.noglobstar===!0){G(B);continue}let n=z.prev,r=n.prev,i=n.type===`slash`||n.type===`bos`,a=r&&(r.type===`star`||r.type===`globstar`);if(f.bash===!0&&(!i||t[0]&&t[0]!==`/`)){X({type:`star`,value:B,output:``});continue}let o=F.braces>0&&(n.type===`comma`||n.type===`brace`),s=I.length&&(n.type===`pipe`||n.type===`paren`);if(!i&&n.type!==`paren`&&!o&&!s){X({type:`star`,value:B,output:``});continue}for(;t.slice(0,3)===`/**`;){let n=e[F.index+4];if(n&&n!==`/`)break;t=t.slice(3),G(`/**`,3)}if(n.type===`bos`&&V()){z.type=`globstar`,z.value+=B,z.output=M(f),F.output=z.output,F.globstar=!0,G(B);continue}if(n.type===`slash`&&n.prev.type!==`bos`&&!a&&V()){F.output=F.output.slice(0,-(n.output+z.output).length),n.output=`(?:${n.output}`,z.type=`globstar`,z.output=M(f)+(f.strictSlashes?`)`:`|$)`),z.value+=B,F.globstar=!0,F.output+=n.output+z.output,G(B);continue}if(n.type===`slash`&&n.prev.type!==`bos`&&t[0]===`/`){let e=t[1]===void 0?``:`|$`;F.output=F.output.slice(0,-(n.output+z.output).length),n.output=`(?:${n.output}`,z.type=`globstar`,z.output=`${M(f)}${S}|${S}${e})`,z.value+=B,F.output+=n.output+z.output,F.globstar=!0,G(B+U()),X({type:`slash`,value:`/`,output:``});continue}if(n.type===`bos`&&t[0]===`/`){z.type=`globstar`,z.value+=B,z.output=`(?:^|${S}|${M(f)}${S})`,F.output=z.output,F.globstar=!0,G(B+U()),X({type:`slash`,value:`/`,output:``});continue}F.output=F.output.slice(0,-z.output.length),z.type=`globstar`,z.output=M(f),z.value+=B,F.output+=z.output,F.globstar=!0,G(B);continue}let n={type:`star`,value:B,output:P};if(f.bash===!0){n.output=`.*?`,(z.type===`bos`||z.type===`slash`)&&(n.output=N+n.output),X(n);continue}if(z&&(z.type===`bracket`||z.type===`paren`)&&f.regex===!0){n.output=B,X(n);continue}(F.index===F.start||z.type===`slash`||z.type===`dot`)&&(z.type===`dot`?(F.output+=E,z.output+=E):f.dot===!0?(F.output+=D,z.output+=D):(F.output+=N,z.output+=N),H()!==`*`&&(F.output+=C,z.output+=C)),X(n)}for(;F.brackets>0;){if(f.strictBrackets===!0)throw SyntaxError(u(`closing`,`]`));F.output=r.escapeLast(F.output,`[`),Y(`brackets`)}for(;F.parens>0;){if(f.strictBrackets===!0)throw SyntaxError(u(`closing`,`)`));F.output=r.escapeLast(F.output,`(`),Y(`parens`)}for(;F.braces>0;){if(f.strictBrackets===!0)throw SyntaxError(u(`closing`,`}`));F.output=r.escapeLast(F.output,`{`),Y(`braces`)}if(f.strictSlashes!==!0&&(z.type===`star`||z.type===`bracket`)&&X({type:`maybe_slash`,value:``,output:`${S}?`}),F.backtrack===!0){F.output=``;for(let e of F.tokens)F.output+=e.output==null?e.value:e.output,e.suffix&&(F.output+=e.suffix)}return F};d.fastpaths=(e,t)=>{let a={...t},o=typeof a.maxLength==`number`?Math.min(i,a.maxLength):i,s=e.length;if(s>o)throw SyntaxError(`Input length: ${s}, exceeds maximum allowed length: ${o}`);e=c[e]||e;let{DOT_LITERAL:l,SLASH_LITERAL:u,ONE_CHAR:d,DOTS_SLASH:f,NO_DOT:p,NO_DOTS:m,NO_DOTS_SLASH:h,STAR:g,START_ANCHOR:_}=n.globChars(a.windows),v=a.dot?m:p,y=a.dot?h:p,b=a.capture?``:`?:`,x={negated:!1,prefix:``},S=a.bash===!0?`.*?`:g;a.capture&&(S=`(${S})`);let C=e=>e.noglobstar===!0?S:`(${b}(?:(?!${_}${e.dot?f:l}).)*?)`,w=e=>{switch(e){case`*`:return`${v}${d}${S}`;case`.*`:return`${l}${d}${S}`;case`*.*`:return`${v}${S}${l}${d}${S}`;case`*/*`:return`${v}${S}${u}${d}${y}${S}`;case`**`:return v+C(a);case`**/*`:return`(?:${v}${C(a)}${u})?${y}${d}${S}`;case`**/*.*`:return`(?:${v}${C(a)}${u})?${y}${S}${l}${d}${S}`;case`**/.*`:return`(?:${v}${C(a)}${u})?${l}${d}${S}`;default:{let t=/^(.*?)\.(\w+)$/.exec(e);if(!t)return;let n=w(t[1]);return n?n+l+t[2]:void 0}}},T=w(r.removePrefix(e,x));return T&&a.strictSlashes!==!0&&(T+=`${u}?`),T},t.exports=d})),ye=F(((e,t)=>{let n=_e(),r=ve(),i=ge(),a=Q(),o=e=>e&&typeof e==`object`&&!Array.isArray(e),s=(e,t,n=!1)=>{if(Array.isArray(e)){let r=e.map(e=>s(e,t,n));return e=>{for(let t of r){let n=t(e);if(n)return n}return!1}}let r=o(e)&&e.tokens&&e.input;if(e===``||typeof e!=`string`&&!r)throw TypeError(`Expected pattern to be a non-empty string`);let i=t||{},a=i.windows,c=r?s.compileRe(e,t):s.makeRe(e,t,!1,!0),l=c.state;delete c.state;let u=()=>!1;if(i.ignore){let e={...t,ignore:null,onMatch:null,onResult:null};u=s(i.ignore,e,n)}let d=(n,r=!1)=>{let{isMatch:o,match:d,output:f}=s.test(n,c,t,{glob:e,posix:a}),p={glob:e,state:l,regex:c,posix:a,input:n,output:f,match:d,isMatch:o};return typeof i.onResult==`function`&&i.onResult(p),o===!1?(p.isMatch=!1,r?p:!1):u(n)?(typeof i.onIgnore==`function`&&i.onIgnore(p),p.isMatch=!1,r?p:!1):(typeof i.onMatch==`function`&&i.onMatch(p),r?p:!0)};return n&&(d.state=l),d};s.test=(e,t,n,{glob:r,posix:a}={})=>{if(typeof e!=`string`)throw TypeError(`Expected input to be a string`);if(e===``)return{isMatch:!1,output:``};let o=n||{},c=o.format||(a?i.toPosixSlashes:null),l=e===r,u=l&&c?c(e):e;return l===!1&&(u=c?c(e):e,l=u===r),(l===!1||o.capture===!0)&&(l=o.matchBase===!0||o.basename===!0?s.matchBase(e,t,n,a):t.exec(u)),{isMatch:!!l,match:l,output:u}},s.matchBase=(e,t,n)=>(t instanceof RegExp?t:s.makeRe(t,n)).test(i.basename(e)),s.isMatch=(e,t,n)=>s(t,n)(e),s.parse=(e,t)=>Array.isArray(e)?e.map(e=>s.parse(e,t)):r(e,{...t,fastpaths:!1}),s.scan=(e,t)=>n(e,t),s.compileRe=(e,t,n=!1,r=!1)=>{if(n===!0)return e.output;let i=t||{},a=i.contains?``:`^`,o=i.contains?``:`$`,c=`${a}(?:${e.output})${o}`;e&&e.negated===!0&&(c=`^(?!${c}).*$`);let l=s.toRegex(c,t);return r===!0&&(l.state=e),l},s.makeRe=(e,t={},n=!1,i=!1)=>{if(!e||typeof e!=`string`)throw TypeError(`Expected a non-empty string`);let a={negated:!1,fastpaths:!0};return t.fastpaths!==!1&&(e[0]===`.`||e[0]===`*`)&&(a.output=r.fastpaths(e,t)),a.output||(a=r(e,t)),s.compileRe(a,t,n,i)},s.toRegex=(e,t)=>{try{let n=t||{};return new RegExp(e,n.flags||(n.nocase?`i`:``))}catch(e){if(t&&t.debug===!0)throw e;return/$^/}},s.constants=a,t.exports=s})),be=L(F(((e,t)=>{let n=ye(),r=ge();function i(e,t,i=!1){return t&&(t.windows===null||t.windows===void 0)&&(t={...t,windows:r.isWindows()}),n(e,t,i)}Object.assign(i,n),t.exports=i}))(),1);const xe=`13.0.5`,Se=[`**.gz`,`**.br`,`**.zst`],Ce=S?.()??C().length??4;D?.uv&&Ce>4&&(T.UV_THREADPOOL_SIZE=String(Ce));const $=(0,R.default)(w.slice(2),{boolean:[`d`,`delete`,`E`,`extensionless`,`f`,`follow`,`h`,`help`,`m`,`mtime`,`s`,`silent`,`S`,`sensitive`,`v`,`version`,`V`,`verbose`],string:[`b`,`basedir`,`o`,`outdir`,`t`,`types`,`_`],number:[`c`,`concurrency`],alias:{b:`basedir`,c:`concurrency`,d:`delete`,e:`exclude`,E:`extensionless`,h:`help`,i:`include`,o:`outdir`,m:`mtime`,s:`silent`,S:`sensitive`,t:`types`,v:`version`,V:`verbose`}});function we(e){e&&console.error(e.stack||e.message||e),E(e?1:0)}$.version&&(console.info(xe),we()),(!$._.length||$.help)&&(console.info(`usage: precompress [options] <files,dirs,...> Options: -t, --types <type,...> Types of files to generate. Default: gz,br,zst -i, --include <glob,...> Only include given globs. Default: unset -e, --exclude <glob,...> Exclude given globs. Default: ${Se} -m, --mtime Skip creating existing files when source file is newer -f, --follow Follow symbolic links -d, --delete Delete source file after compression -o, --outdir Output directory, will preserve relative path structure -b, --basedir Base directory to derive output path, use with --outdir -E, --extensionless Do not output a extension, use with single --type and --outdir -s, --silent Do not print anything -S, --sensitive Treat include and exclude patterns case-sensitively -c, --concurrency <num> Number of concurrent operations. Default: auto -V, --verbose Print individual file compression times -h, --help Show this text -v, --version Show the version Examples: $ precompress ./build`),we());const{Z_BEST_COMPRESSION:Te,BROTLI_PARAM_QUALITY:Ee,BROTLI_MAX_QUALITY:De,BROTLI_PARAM_MODE:Oe,BROTLI_MODE_FONT:ke,BROTLI_MODE_GENERIC:Ae,BROTLI_MODE_TEXT:je,ZSTD_c_strategy:Me,ZSTD_btultra2:Ne}=y;function Pe(e,t){return p(t).toLowerCase()===`.woff2`?ke:fe(e)?Ae:je}function Fe(e,t){let n=t.byteLength/e.byteLength*100;return n<=80?`(${k(`green`,`${n.toPrecision(3)}%`)} size)`:n<100?`(${k(`yellow`,`${n.toPrecision(3)}%`)} size)`:`(${k(`red`,`${n.toPrecision(3)}%`)} size)`}const Ie=$.types?$.types.split(`,`):[`gz`,`br`,`zst`],Le=Ie.includes(`gz`)&&(e=>O(b)(e,{level:Te})),Re=Ie.includes(`br`)&&((e,t)=>O(v)(e,{params:{[Oe]:Pe(e,t),[Ee]:De}})),ze=Ie.includes(`zst`)&&(e=>O(x)(e,{params:{[Me]:Ne}}));function Be(e){return typeof e==`boolean`||!e?[]:(Array.isArray(e)?e:[e]).flatMap(e=>e.split(`,`)).filter(Boolean)}function Ve(e,t){let n=$.basedir?h($.basedir,e):e,r=$.outdir?m($.outdir,n):n;return $.extensionless?r:`${r}.${t}`}async function He(e,n,r,i){let a=Ve(n,i),c;if(i===`gz`?c=await Le(e):i===`br`?c=await Re(e,n):i===`zst`&&(c=await ze(e)),await t(f(a),{recursive:!0}),await s(a,c),$.delete&&await o(n),r){let t=Math.round(performance.now()-r),n=Fe(e,c);console.info(`✓ compressed ${k(`magenta`,a)} in ${t}ms ${n}`)}}async function Ue(e){let t=$.silent||!$.verbose?null:performance.now(),r=!1,i=!1,o=!1;if($.mtime&&Le)try{let[t,n]=await Promise.all([a(e),a(`${e}.gz`)]);t&&n&&n.mtime>t.mtime&&(r=!0)}catch{}if($.mtime&&Re)try{let[t,n]=await Promise.all([a(e),a(`${e}.br`)]);t&&n&&n.mtime>t.mtime&&(i=!0)}catch{}if($.mtime&&ze)try{let[t,n]=await Promise.all([a(e),a(`${e}.zst`)]);t&&n&&n.mtime>t.mtime&&(o=!0)}catch{}if(!(r&&i&&o))try{let a=await n(e);!r&&Le&&await He(a,e,t,`gz`),!i&&Re&&await He(a,e,t,`br`),!o&&ze&&await He(a,e,t,`zst`)}catch(t){console.info(`Error on ${e}: ${t.code} ${t.message}`)}}function We(e,t,n){return n?.(e)?!1:t?t(e):!0}async function Ge(){let e=$.silent?null:performance.now(),t=new Set(Be($.include)),n=new Set([...Se,...Be($.exclude)]),r={include:t.size?Array.from(t):void 0,exclude:n.size?Array.from(n):void 0,followSymlinks:$.follow,insensitive:!$.sensitive},o={dot:!0,flags:$.sensitive?`i`:void 0},s=t.size&&(0,be.default)(Array.from(t),o)||void 0,c=n.size&&(0,be.default)(Array.from(n),o)||void 0,l=[];for(let e of $._)if((await a(e)).isDirectory())for await(let t of ae(e,r))t.directory||l.push(t.path);else We(e,s,c)&&l.push($.follow?await i(e):e);let u=`${l.length} file${l.length>1?`s`:``}`;if(!l.length)throw Error(`No matching files found`);$.silent||console.info(`precompress ${xe} compressing ${u}...`),await z(l,Ue,{concurrency:$.concurrency>0?$.concurrency:Math.min(l.length,Ce)}),e&&console.info(k(`green`,`✓ ${u} done in ${Math.round(performance.now()-e)}ms`))}Ge().then(we).catch(we);export{};