turbo-ignore 2.10.1 → 2.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/dist/cli.js +1 -1
  2. package/package.json +3 -3
package/dist/cli.js CHANGED
@@ -106,7 +106,7 @@ ${e.format(t)}
106
106
  `).reverse(),r=t.stack.slice(t.stack.indexOf(t.message)+t.message.length).split(`
107
107
  `).reverse();for(;r.length!==0&&r[0]===n[0];)n.shift();this.stack=`${this.stack.slice(0,e)}${n.reverse().join(`
108
108
  `)}${r.reverse().join(`
109
- `)}`}}};exports.RequestError=W;var le=class extends W{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name=`MaxRedirectsError`,this.code=`ERR_TOO_MANY_REDIRECTS`}};exports.MaxRedirectsError=le;var ue=class extends W{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name=`HTTPError`,this.code=`ERR_NON_2XX_3XX_RESPONSE`}};exports.HTTPError=ue;var de=class extends W{constructor(e,t){super(e.message,e,t),this.name=`CacheError`,this.code=this.code===`ERR_GOT_REQUEST_ERROR`?`ERR_CACHE_ACCESS`:this.code}};exports.CacheError=de;var fe=class extends W{constructor(e,t){super(e.message,e,t),this.name=`UploadError`,this.code=this.code===`ERR_GOT_REQUEST_ERROR`?`ERR_UPLOAD`:this.code}};exports.UploadError=fe;var pe=class extends W{constructor(e,t,n){super(e.message,e,n),this.name=`TimeoutError`,this.event=e.event,this.timings=t}};exports.TimeoutError=pe;var me=class extends W{constructor(e,t){super(e.message,e,t),this.name=`ReadError`,this.code=this.code===`ERR_GOT_REQUEST_ERROR`?`ERR_READING_RESPONSE_STREAM`:this.code}};exports.ReadError=me;var he=class extends W{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),this.name=`UnsupportedProtocolError`,this.code=`ERR_UNSUPPORTED_PROTOCOL`}};exports.UnsupportedProtocolError=he;let ge=[`socket`,`connect`,`continue`,`information`,`upgrade`,`timeout`];var _e=class extends n.Duplex{constructor(t,n={},i){super({autoDestroy:!1,highWaterMark:0}),this[M]=0,this[N]=0,this.requestInitialized=!1,this[P]=new Set,this.redirects=[],this[L]=!1,this[re]=!1,this[z]=[],this.retryCount=0,this._progressCallbacks=[];let a=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on(`pipe`,e=>{e.prependListener(`data`,a),e.on(`data`,s),e.prependListener(`end`,a),e.on(`end`,s)}),this.on(`unpipe`,e=>{e.off(`data`,a),e.off(`data`,s),e.off(`end`,a),e.off(`end`,s)}),this.on(`pipe`,e=>{e instanceof o.IncomingMessage&&(this.options.headers={...e.headers,...this.options.headers})});let{json:c,body:l,form:u}=n;if((c||l||u)&&this._lockWrite(),exports.kIsNormalizedAlready in n)this.options=n;else try{this.options=this.constructor.normalizeArguments(t,n,i)}catch(e){m.default.nodeStream(n.body)&&n.body.destroy(),this.destroy(e);return}(async()=>{var e;try{this.options.body instanceof r.ReadStream&&await U(this.options.body);let{url:t}=this.options;if(!t)throw TypeError("Missing `url` property");if(this.requestUrl=t.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(e=this[k])==null||e.destroy();return}for(let e of this[z])e();this[z].length=0,this.requestInitialized=!0}catch(e){if(e instanceof W){this._beforeError(e);return}this.destroyed||this.destroy(e)}})()}static normalizeArguments(n,r,a){var o,s,c,d,f;let h=r;if(m.default.object(n)&&!m.default.urlInstance(n))r={...a,...n,...r};else{if(n&&r&&r.url!==void 0)throw TypeError("The `url` option is mutually exclusive with the `input` argument");r={...a,...r},n!==void 0&&(r.url=n),m.default.urlInstance(r.url)&&(r.url=new i.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),m.assert.any([m.default.string,m.default.undefined],r.method),m.assert.any([m.default.object,m.default.undefined],r.headers),m.assert.any([m.default.string,m.default.urlInstance,m.default.undefined],r.prefixUrl),m.assert.any([m.default.object,m.default.undefined],r.cookieJar),m.assert.any([m.default.object,m.default.string,m.default.undefined],r.searchParams),m.assert.any([m.default.object,m.default.string,m.default.undefined],r.cache),m.assert.any([m.default.object,m.default.number,m.default.undefined],r.timeout),m.assert.any([m.default.object,m.default.undefined],r.context),m.assert.any([m.default.object,m.default.undefined],r.hooks),m.assert.any([m.default.boolean,m.default.undefined],r.decompress),m.assert.any([m.default.boolean,m.default.undefined],r.ignoreInvalidCookies),m.assert.any([m.default.boolean,m.default.undefined],r.followRedirect),m.assert.any([m.default.number,m.default.undefined],r.maxRedirects),m.assert.any([m.default.boolean,m.default.undefined],r.throwHttpErrors),m.assert.any([m.default.boolean,m.default.undefined],r.http2),m.assert.any([m.default.boolean,m.default.undefined],r.allowGetBody),m.assert.any([m.default.string,m.default.undefined],r.localAddress),m.assert.any([C.isDnsLookupIpVersion,m.default.undefined],r.dnsLookupIpVersion),m.assert.any([m.default.object,m.default.undefined],r.https),m.assert.any([m.default.boolean,m.default.undefined],r.rejectUnauthorized),r.https&&(m.assert.any([m.default.boolean,m.default.undefined],r.https.rejectUnauthorized),m.assert.any([m.default.function_,m.default.undefined],r.https.checkServerIdentity),m.assert.any([m.default.string,m.default.object,m.default.array,m.default.undefined],r.https.certificateAuthority),m.assert.any([m.default.string,m.default.object,m.default.array,m.default.undefined],r.https.key),m.assert.any([m.default.string,m.default.object,m.default.array,m.default.undefined],r.https.certificate),m.assert.any([m.default.string,m.default.undefined],r.https.passphrase),m.assert.any([m.default.string,m.default.buffer,m.default.array,m.default.undefined],r.https.pfx)),m.assert.any([m.default.object,m.default.undefined],r.cacheOptions),m.default.string(r.method)?r.method=r.method.toUpperCase():r.method=`GET`,r.headers===a?.headers?r.headers={...r.headers}:r.headers=p({...a?.headers,...r.headers}),`slashes`in r)throw TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if(`auth`in r)throw TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if(`searchParams`in r&&r.searchParams&&r.searchParams!==a?.searchParams){let e;if(m.default.string(r.searchParams)||r.searchParams instanceof i.URLSearchParams)e=new i.URLSearchParams(r.searchParams);else for(let t in H(r.searchParams),e=new i.URLSearchParams,r.searchParams){let n=r.searchParams[t];n===null?e.append(t,``):n!==void 0&&e.append(t,n)}(o=a?.searchParams)==null||o.forEach((t,n)=>{e.has(n)||e.append(n,t)}),r.searchParams=e}if(r.username=(s=r.username)??``,r.password=(c=r.password)??``,m.default.undefined(r.prefixUrl)?r.prefixUrl=(d=a?.prefixUrl)??``:(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==``&&!r.prefixUrl.endsWith(`/`)&&(r.prefixUrl+=`/`)),m.default.string(r.url)){if(r.url.startsWith(`/`))throw Error("`input` must not start with a slash when using `prefixUrl`");r.url=b.default(r.prefixUrl+r.url,r)}else (m.default.undefined(r.url)&&r.prefixUrl!==``||r.protocol)&&(r.url=b.default(r.prefixUrl,r));if(r.url){`port`in r&&delete r.port;let{prefixUrl:e}=r;Object.defineProperty(r,`prefixUrl`,{set:t=>{let n=r.url;if(!n.href.startsWith(t))throw Error(`Cannot change \`prefixUrl\` from ${e} to ${t}: ${n.href}`);r.url=new i.URL(t+n.href.slice(e.length)),e=t},get:()=>e});let{protocol:t}=r.url;if(t===`unix:`&&(t=`http:`,r.url=new i.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),t!==`http:`&&t!==`https:`)throw new he(r);r.username===``?r.username=r.url.username:r.url.username=r.username,r.password===``?r.password=r.url.password:r.url.password=r.password}let{cookieJar:g}=r;if(g){let{setCookie:e,getCookieString:n}=g;m.assert.function_(e),m.assert.function_(n),e.length===4&&n.length===0&&(e=t.promisify(e.bind(r.cookieJar)),n=t.promisify(n.bind(r.cookieJar)),r.cookieJar={setCookie:e,getCookieString:n})}let{cache:_}=r;if(_&&(oe.has(_)||oe.set(_,new u((e,t)=>{let n=e[k](e,t);return m.default.promise(n)&&(n.once=(e,t)=>{if(e===`error`)n.catch(t);else if(e===`abort`)(async()=>{try{let e=await n;e.once(`abort`,t)}catch{}})();else throw Error(`Unknown HTTP2 promise event: ${e}`);return n}),n},_))),r.cacheOptions={...r.cacheOptions},r.dnsCache===!0)O||=new l.default,r.dnsCache=O;else if(!m.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${m.default(r.dnsCache)}`);m.default.number(r.timeout)?r.timeout={request:r.timeout}:a&&r.timeout!==a.timeout?r.timeout={...a.timeout,...r.timeout}:r.timeout={...r.timeout},r.context||={};let v=r.hooks===a?.hooks;r.hooks={...r.hooks};for(let t of exports.knownHookEvents)if(t in r.hooks)if(m.default.array(r.hooks[t]))r.hooks[t]=[...r.hooks[t]];else throw TypeError(`Parameter \`${t}\` must be an Array, got ${m.default(r.hooks[t])}`);else r.hooks[t]=[];if(a&&!v)for(let t of exports.knownHookEvents){let e=a.hooks[t];e.length>0&&(r.hooks[t]=[...a.hooks[t],...r.hooks[t]])}if(`family`in r&&T.default(`"options.family" was never documented, please use "options.dnsLookupIpVersion"`),a?.https&&(r.https={...a.https,...r.https}),`rejectUnauthorized`in r&&T.default(`"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"`),`checkServerIdentity`in r&&T.default(`"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"`),`ca`in r&&T.default(`"options.ca" was never documented, please use "options.https.certificateAuthority"`),`key`in r&&T.default(`"options.key" was never documented, please use "options.https.key"`),`cert`in r&&T.default(`"options.cert" was never documented, please use "options.https.certificate"`),`passphrase`in r&&T.default(`"options.passphrase" was never documented, please use "options.https.passphrase"`),`pfx`in r&&T.default(`"options.pfx" was never documented, please use "options.https.pfx"`),`followRedirects`in r)throw TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let e in r.agent)if(e!==`http`&&e!==`https`&&e!==`http2`)throw TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${e}\``)}return r.maxRedirects=(f=r.maxRedirects)??0,exports.setNonEnumerableProperties([a,h],r),E.default(r,a)}_lockWrite(){let e=()=>{throw TypeError(`The payload has been already provided`)};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:t}=this,{headers:r}=t,a=!m.default.undefined(t.form),o=!m.default.undefined(t.json),s=!m.default.undefined(t.body),c=a||o||s,l=exports.withoutBody.has(t.method)&&!(t.method===`GET`&&t.allowGetBody);if(this._cannotHaveBody=l,c){if(l)throw TypeError(`The \`${t.method}\` method cannot be used with a body`);if([s,a,o].filter(e=>e).length>1)throw TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(t.body instanceof n.Readable)&&!m.default.string(t.body)&&!m.default.buffer(t.body)&&!g.default(t.body))throw TypeError("The `body` option must be a stream.Readable, string or Buffer");if(a&&!m.default.object(t.form))throw TypeError("The `form` option must be an Object");{let e=!m.default.string(r[`content-type`]);s?(g.default(t.body)&&e&&(r[`content-type`]=`multipart/form-data; boundary=${t.body.getBoundary()}`),this[R]=t.body):a?(e&&(r[`content-type`]=`application/x-www-form-urlencoded`),this[R]=new i.URLSearchParams(t.form).toString()):(e&&(r[`content-type`]=`application/json`),this[R]=t.stringifyJson(t.json));let n=await h.default(this[R],t.headers);m.default.undefined(r[`content-length`])&&m.default.undefined(r[`transfer-encoding`])&&!l&&!m.default.undefined(n)&&(r[`content-length`]=String(n))}}else l?this._lockWrite():this._unlockWrite();this[ee]=Number(r[`content-length`])||void 0}async _onResponseBase(e){let{options:t}=this,{url:n}=t;this[ie]=e,t.decompress&&(e=d(e));let r=e.statusCode,o=e;o.statusMessage=o.statusMessage?o.statusMessage:a.STATUS_CODES[r],o.url=t.url.toString(),o.requestUrl=this.requestUrl,o.redirectUrls=this.redirects,o.request=this,o.isFromCache=e.fromCache||!1,o.ip=this.ip,o.retryCount=this.retryCount,this[ne]=o.isFromCache,this[j]=Number(e.headers[`content-length`])||void 0,this[A]=e,e.once(`end`,()=>{this[j]=this[M],this.emit(`downloadProgress`,this.downloadProgress)}),e.once(`error`,t=>{e.destroy(),this._beforeError(new me(t,this))}),e.once(`aborted`,()=>{this._beforeError(new me({name:`Error`,message:`The server aborted pending request`,code:`ECONNRESET`},this))}),this.emit(`downloadProgress`,this.downloadProgress);let s=e.headers[`set-cookie`];if(m.default.object(t.cookieJar)&&s){let e=s.map(async e=>t.cookieJar.setCookie(e,n.toString()));t.ignoreInvalidCookies&&(e=e.map(async e=>e.catch(()=>{})));try{await Promise.all(e)}catch(e){this._beforeError(e);return}}if(t.followRedirect&&e.headers.location&&se.has(r)){e.resume(),this[k]&&(this[F](),delete this[k],this[te]());let a=r===303&&t.method!==`GET`&&t.method!==`HEAD`;if((a||!t.methodRewriting)&&(t.method=`GET`,`body`in t&&delete t.body,`json`in t&&delete t.json,`form`in t&&delete t.form,this[R]=void 0,delete t.headers[`content-length`]),this.redirects.length>=t.maxRedirects){this._beforeError(new le(this));return}try{let r=Buffer.from(e.headers.location,`binary`).toString(),a=new i.URL(r,n),s=a.toString();decodeURI(s);function c(e){return e.protocol===`unix:`||e.hostname===`unix`}if(!c(n)&&c(a)){this._beforeError(new W(`Cannot redirect to UNIX socket`,{},this));return}a.hostname!==n.hostname||a.port!==n.port?(`host`in t.headers&&delete t.headers.host,`cookie`in t.headers&&delete t.headers.cookie,`authorization`in t.headers&&delete t.headers.authorization,(t.username||t.password)&&(t.username=``,t.password=``)):(a.username=t.username,a.password=t.password),this.redirects.push(s),t.url=a;for(let e of t.hooks.beforeRedirect)await e(t,o);this.emit(`redirect`,o,t),await this._makeRequest()}catch(e){this._beforeError(e);return}return}if(t.isStream&&t.throwHttpErrors&&!w.isResponseOk(o)){this._beforeError(new ue(o));return}e.on(`readable`,()=>{this[re]&&this._read()}),this.on(`resume`,()=>{e.resume()}),this.on(`pause`,()=>{e.pause()}),e.once(`end`,()=>{this.push(null)}),this.emit(`response`,e);for(let n of this[P]){if(n.headersSent)continue;for(let r in e.headers){let i=t.decompress?r!==`content-encoding`:!0,a=e.headers[r];i&&n.setHeader(r,a)}n.statusCode=r}}async _onResponse(e){try{await this._onResponseBase(e)}catch(e){this._beforeError(e)}}_onRequest(e){let{options:t}=this,{timeout:n,url:r}=t;c.default(e),this[F]=v.default(e,n,r);let i=t.cache?`cacheableResponse`:`response`;e.once(i,e=>{this._onResponse(e)}),e.once(`error`,t=>{var n;e.destroy(),(n=e.res)==null||n.removeAllListeners(`end`),t=t instanceof v.TimeoutError?new pe(t,this.timings,this):new W(t.message,t,this),this._beforeError(t)}),this[te]=_.default(e,this,ge),this[k]=e,this.emit(`uploadProgress`,this.uploadProgress);let a=this[R],o=this.redirects.length===0?this:e;m.default.nodeStream(a)?(a.pipe(o),a.once(`error`,e=>{this._beforeError(new fe(e,this))})):(this._unlockWrite(),m.default.undefined(a)?(this._cannotHaveBody||this._noPipe)&&(o.end(),this._lockWrite()):(this._writeRequest(a,void 0,()=>{}),o.end(),this._lockWrite())),this.emit(`request`,e)}async _createCacheableRequest(e,t){return new Promise((n,r)=>{Object.assign(t,y.default(e)),delete t.url;let i,a=oe.get(t.cache)(t,async e=>{e._readableState.autoDestroy=!1,i&&(await i).emit(`cacheableResponse`,e),n(e)});t.url=e,a.once(`error`,r),a.once(`request`,async e=>{i=e,n(i)})})}async _makeRequest(){var e,t,n,r,i;let{options:o}=this,{headers:c}=o;for(let e in c)if(m.default.undefined(c[e]))delete c[e];else if(m.default.null_(c[e]))throw TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${e}\` header`);if(o.decompress&&m.default.undefined(c[`accept-encoding`])&&(c[`accept-encoding`]=V?`gzip, deflate, br`:`gzip, deflate`),o.cookieJar){let e=await o.cookieJar.getCookieString(o.url.toString());m.default.nonEmptyString(e)&&(o.headers.cookie=e)}for(let e of o.hooks.beforeRequest){let t=await e(o);if(!m.default.undefined(t)){o.request=()=>t;break}}o.body&&this[R]!==o.body&&(this[R]=o.body);let{agent:l,request:d,timeout:p,url:h}=o;if(o.dnsCache&&!(`lookup`in o)&&(o.lookup=o.dnsCache.lookup),h.hostname===`unix`){let e=/(?<socketPath>.+?):(?<path>.+)/.exec(`${h.pathname}${h.search}`);if(e?.groups){let{socketPath:t,path:n}=e.groups;Object.assign(o,{socketPath:t,path:n,host:``})}}let g=h.protocol===`https:`,_;_=o.http2?f.auto:g?s.request:a.request;let v=(e=o.request)??_,y=o.cache?this._createCacheableRequest:v;l&&!o.http2&&(o.agent=l[g?`https`:`http`]),o[k]=v,delete o.request,delete o.timeout;let b=o;if(b.shared=(t=o.cacheOptions)?.shared,b.cacheHeuristic=(n=o.cacheOptions)?.cacheHeuristic,b.immutableMinTimeToLive=(r=o.cacheOptions)?.immutableMinTimeToLive,b.ignoreCargoCult=(i=o.cacheOptions)?.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{b.family=C.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch{throw Error("Invalid `dnsLookupIpVersion` option value")}o.https&&(`rejectUnauthorized`in o.https&&(b.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(b.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(b.ca=o.https.certificateAuthority),o.https.certificate&&(b.cert=o.https.certificate),o.https.key&&(b.key=o.https.key),o.https.passphrase&&(b.passphrase=o.https.passphrase),o.https.pfx&&(b.pfx=o.https.pfx));try{let e=await y(h,b);m.default.undefined(e)&&(e=_(h,b)),o.request=d,o.timeout=p,o.agent=l,o.https&&(`rejectUnauthorized`in o.https&&delete b.rejectUnauthorized,o.https.checkServerIdentity&&delete b.checkServerIdentity,o.https.certificateAuthority&&delete b.ca,o.https.certificate&&delete b.cert,o.https.key&&delete b.key,o.https.passphrase&&delete b.passphrase,o.https.pfx&&delete b.pfx),ae(e)?this._onRequest(e):this.writable?(this.once(`finish`,()=>{this._onResponse(e)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(e)}catch(e){throw e instanceof u.CacheError?new de(e,this):new W(e.message,e,this)}}async _error(e){try{for(let t of this.options.hooks.beforeError)e=await t(e)}catch(t){e=new W(t.message,t,this)}this.destroy(e)}_beforeError(e){if(this[L])return;let{options:t}=this,n=this.retryCount+1;this[L]=!0,e instanceof W||(e=new W(e.message,e,this));let r=e,{response:i}=r;(async()=>{if(i&&!i.body){i.setEncoding(this._readableState.encoding);try{i.rawBody=await S.default(i),i.body=i.rawBody.toString()}catch{}}if(this.listenerCount(`retry`)!==0){let a;try{let e;i&&`retry-after`in i.headers&&(e=Number(i.headers[`retry-after`]),Number.isNaN(e)?(e=Date.parse(i.headers[`retry-after`])-Date.now(),e<=0&&(e=1)):e*=1e3),a=await t.retry.calculateDelay({attemptCount:n,retryOptions:t.retry,error:r,retryAfter:e,computedValue:D.default({attemptCount:n,retryOptions:t.retry,error:r,retryAfter:e,computedValue:0})})}catch(e){this._error(new W(e.message,e,this));return}if(a){let t=async()=>{try{for(let e of this.options.hooks.beforeRetry)await e(this.options,r,n)}catch(t){this._error(new W(t.message,e,this));return}this.destroyed||(this.destroy(),this.emit(`retry`,n,e))};this[B]=setTimeout(t,a);return}}this._error(r)})()}_read(){this[re]=!0;let e=this[A];if(e&&!this[L]){e.readableLength&&(this[re]=!1);let t;for(;(t=e.read())!==null;){this[M]+=t.length,this[I]=!0;let e=this.downloadProgress;e.percent<1&&this.emit(`downloadProgress`,e),this.push(t)}}}_write(e,t,n){let r=()=>{this._writeRequest(e,t,n)};this.requestInitialized?r():this[z].push(r)}_writeRequest(e,t,n){this[k].destroyed||(this._progressCallbacks.push(()=>{this[N]+=Buffer.byteLength(e,t);let n=this.uploadProgress;n.percent<1&&this.emit(`uploadProgress`,n)}),this[k].write(e,t,e=>{!e&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),n(e)}))}_final(e){let t=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(k in this)){e();return}if(this[k].destroyed){e();return}this[k].end(t=>{t||(this[ee]=this[N],this.emit(`uploadProgress`,this.uploadProgress),this[k].emit(`upload-complete`)),e(t)})};this.requestInitialized?t():this[z].push(t)}_destroy(e,t){var n;this[L]=!0,clearTimeout(this[B]),k in this&&(this[F](),(n=this[A])?.complete||this[k].destroy()),e!==null&&!m.default.undefined(e)&&!(e instanceof W)&&(e=new W(e.message,e,this)),t(e)}get _isAboutToError(){return this[L]}get ip(){var e;return(e=this.socket)?.remoteAddress}get aborted(){var e,t,n;return((t=(e=this[k])?.destroyed)??this.destroyed)&&!(n=this[ie])?.complete}get socket(){var e,t;return(t=(e=this[k])?.socket)??void 0}get downloadProgress(){let e;return e=this[j]?this[M]/this[j]:this[j]===this[M]?1:0,{percent:e,transferred:this[M],total:this[j]}}get uploadProgress(){let e;return e=this[ee]?this[N]/this[ee]:this[ee]===this[N]?1:0,{percent:e,transferred:this[N],total:this[ee]}}get timings(){var e;return(e=this[k])?.timings}get isFromCache(){return this[ne]}pipe(e,t){if(this[I])throw Error(`Failed to pipe. The response has been emitted already.`);return e instanceof o.ServerResponse&&this[P].add(e),super.pipe(e,t)}unpipe(e){return e instanceof o.ServerResponse&&this[P].delete(e),super.unpipe(e),this}};exports.default=_e}),yb=o(exports=>{var t=Object.create?function(e,t,n,r){r===void 0&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]},n=function(e,n){for(var r in e)r!==`default`&&!Object.prototype.hasOwnProperty.call(n,r)&&t(n,e,r)};Object.defineProperty(exports,`__esModule`,{value:!0}),exports.CancelError=exports.ParseError=void 0;let r=vb();var i=class extends r.RequestError{constructor(e,t){let{options:n}=t.request;super(`${e.message} in "${n.url.toString()}"`,e,t.request),this.name=`ParseError`,this.code=this.code===`ERR_GOT_REQUEST_ERROR`?`ERR_BODY_PARSE_FAILURE`:this.code}};exports.ParseError=i;var a=class extends r.RequestError{constructor(e){super(`Promise was canceled`,{},e),this.name=`CancelError`,this.code=`ERR_CANCELED`}get isCanceled(){return!0}};exports.CancelError=a,n(vb(),exports)}),bb=o(exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let t=yb(),n=(e,n,r,i)=>{let{rawBody:a}=e;try{if(n===`text`)return a.toString(i);if(n===`json`)return a.length===0?``:r(a.toString());if(n===`buffer`)return a;throw new t.ParseError({message:`Unknown body type '${n}'`,name:`Error`},e)}catch(n){throw new t.ParseError(n,e)}};exports.default=n}),xb=o(exports=>{var t=Object.create?function(e,t,n,r){r===void 0&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]},n=function(e,n){for(var r in e)r!==`default`&&!Object.prototype.hasOwnProperty.call(n,r)&&t(n,e,r)};Object.defineProperty(exports,`__esModule`,{value:!0});let r=require(`events`),i=wy(),a=Ty(),o=yb(),s=bb(),c=vb(),l=ob(),u=fb(),d=mb(),f=[`request`,`response`,`redirect`,`uploadProgress`,`downloadProgress`];function p(e){let t,n,m=new r.EventEmitter,h=new a((r,a,g)=>{let _=v=>{let y=new c.default(void 0,e);y.retryCount=v,y._noPipe=!0,g(()=>y.destroy()),g.shouldReject=!1,g(()=>a(new o.CancelError(y))),t=y,y.once(`response`,async e=>{var t;if(e.retryCount=v,e.request.aborted)return;let i;try{i=await u.default(y),e.rawBody=i}catch{return}if(y._isAboutToError)return;let a=((t=e.headers[`content-encoding`])??``).toLowerCase(),l=[`gzip`,`deflate`,`br`].includes(a),{options:f}=y;if(l&&!f.decompress)e.body=i;else try{e.body=s.default(e,f.responseType,f.parseJson,f.encoding)}catch(t){if(e.body=i.toString(),d.isResponseOk(e)){y._beforeError(t);return}}try{for(let[t,n]of f.hooks.afterResponse.entries())e=await n(e,async e=>{let n=c.default.normalizeArguments(void 0,{...e,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},f);n.hooks.afterResponse=n.hooks.afterResponse.slice(0,t);for(let e of n.hooks.beforeRetry)await e(n);let r=p(n);return g(()=>{r.catch(()=>{}),r.cancel()}),r})}catch(e){y._beforeError(new o.RequestError(e.message,e,y));return}if(n=e,!d.isResponseOk(e)){y._beforeError(new o.HTTPError(e));return}y.destroy(),r(y.options.resolveBodyOnly?e.body:e)});let b=e=>{if(h.isCanceled)return;let{options:t}=y;if(e instanceof o.HTTPError&&!t.throwHttpErrors){let{response:t}=e;r(y.options.resolveBodyOnly?t.body:t);return}a(e)};y.once(`error`,b);let x=y.options.body;y.once(`retry`,(e,t)=>{var n,r;if(x===(n=t.request)?.options.body&&i.default.nodeStream((r=t.request)?.options.body)){b(t);return}_(e)}),l.default(y,m,f)};_(0)});h.on=(e,t)=>(m.on(e,t),h);let g=e=>{let t=(async()=>{await h;let{options:t}=n.request;return s.default(n,e,t.parseJson,t.encoding)})();return Object.defineProperties(t,Object.getOwnPropertyDescriptors(h)),t};return h.json=()=>{let{headers:e}=t.options;return!t.writableFinished&&e.accept===void 0&&(e.accept=`application/json`),g(`json`)},h.buffer=()=>g(`buffer`),h.text=()=>g(`text`),h}exports.default=p,n(yb(),exports)}),Sb=o(exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let t=yb();function n(e,...n){let r=(async()=>{if(e instanceof t.RequestError)try{for(let t of n)if(t)for(let n of t)e=await n(e)}catch(t){e=t}throw e})(),i=()=>r;return r.json=i,r.text=i,r.buffer=i,r.on=i,r}exports.default=n}),Cb=o(exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let t=wy();function n(e){for(let r of Object.values(e))(t.default.plainObject(r)||t.default.array(r))&&n(r);return Object.freeze(e)}exports.default=n}),wb=o(exports=>{Object.defineProperty(exports,`__esModule`,{value:!0})}),Tb=o(exports=>{var t=Object.create?function(e,t,n,r){r===void 0&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]},n=function(e,n){for(var r in e)r!==`default`&&!Object.prototype.hasOwnProperty.call(n,r)&&t(n,e,r)};Object.defineProperty(exports,`__esModule`,{value:!0}),exports.defaultHandler=void 0;let r=wy(),i=xb(),a=Sb(),o=vb(),s=Cb(),c={RequestError:i.RequestError,CacheError:i.CacheError,ReadError:i.ReadError,HTTPError:i.HTTPError,MaxRedirectsError:i.MaxRedirectsError,TimeoutError:i.TimeoutError,ParseError:i.ParseError,CancelError:i.CancelError,UnsupportedProtocolError:i.UnsupportedProtocolError,UploadError:i.UploadError},l=async e=>new Promise(t=>{setTimeout(t,e)}),{normalizeArguments:u}=o.default,d=(...e)=>{let t;for(let n of e)t=u(void 0,n,t);return t},f=e=>e.isStream?new o.default(void 0,e):i.default(e),p=e=>`defaults`in e&&`options`in e.defaults,m=[`get`,`post`,`put`,`patch`,`head`,`delete`];exports.defaultHandler=(e,t)=>t(e);let h=(e,t)=>{if(e)for(let n of e)n(t)},g=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(e=>(t,n)=>{let r,i=e(t,e=>(r=n(e),r));if(i!==r&&!t.isStream&&r){let e=i,{then:t,catch:n,finally:a}=e;Object.setPrototypeOf(e,Object.getPrototypeOf(r)),Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)),e.then=t,e.catch=n,e.finally=a}return i});let n=(e,n={},s)=>{var c,l;let d=0,p=e=>t.handlers[d++](e,d===t.handlers.length?f:p);if(r.default.plainObject(e)){let t={...e,...n};o.setNonEnumerableProperties([e,n],t),n=t,e=void 0}try{let r;try{h(t.options.hooks.init,n),h((c=n.hooks)?.init,n)}catch(e){r=e}let a=u(e,n,s??t.options);if(a[o.kIsNormalizedAlready]=!0,r)throw new i.RequestError(r.message,r,a);return p(a)}catch(e){if(n.isStream)throw e;return a.default(e,t.options.hooks.beforeError,(l=n.hooks)?.beforeError)}};n.extend=(...n)=>{let r=[t.options],i=[...t._rawHandlers],a;for(let e of n)p(e)?(r.push(e.defaults.options),i.push(...e.defaults._rawHandlers),a=e.defaults.mutableDefaults):(r.push(e),`handlers`in e&&i.push(...e.handlers),a=e.mutableDefaults);return i=i.filter(t=>t!==exports.defaultHandler),i.length===0&&i.push(exports.defaultHandler),g({options:d(...r),handlers:i,mutableDefaults:!!a})};let _=async function*(e,i){let a=u(e,i,t.options);a.resolveBodyOnly=!1;let o=a.pagination;if(!r.default.object(o))throw TypeError("`options.pagination` must be implemented");let s=[],{countLimit:c}=o,d=0;for(;d<o.requestLimit;){d!==0&&await l(o.backoff);let e=await n(void 0,void 0,a),t=await o.transform(e),r=[];for(let e of t)if(o.filter(e,s,r)&&(!o.shouldContinue(e,s,r)||(yield e,o.stackAllItems&&s.push(e),r.push(e),--c<=0)))return;let i=o.paginate(e,s,r);if(i===!1)return;i===e.request.options?a=e.request.options:i!==void 0&&(a=u(void 0,i,a)),d++}};n.paginate=_,n.paginate.all=async(e,t)=>{let n=[];for await(let r of _(e,t))n.push(r);return n},n.paginate.each=_,n.stream=(e,t)=>n(e,{...t,isStream:!0});for(let e of m)n[e]=(t,r)=>n(t,{...r,method:e}),n.stream[e]=(t,r)=>n(t,{...r,method:e,isStream:!0});return Object.assign(n,c),Object.defineProperty(n,`defaults`,{value:t.mutableDefaults?t:s.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),n.mergeOptions=d,n};exports.default=g,n(wb(),exports)}),Eb=o((exports,t)=>{var n=Object.create?function(e,t,n,r){r===void 0&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]},r=function(e,t){for(var r in e)r!==`default`&&!Object.prototype.hasOwnProperty.call(t,r)&&n(t,e,r)};Object.defineProperty(exports,`__esModule`,{value:!0});let i=require(`url`),a=Tb(),o={options:{method:`GET`,retry:{limit:2,methods:[`GET`,`PUT`,`HEAD`,`DELETE`,`OPTIONS`,`TRACE`],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:[`ETIMEDOUT`,`ECONNRESET`,`EADDRINUSE`,`ECONNREFUSED`,`EPIPE`,`ENOTFOUND`,`ENETUNREACH`,`EAI_AGAIN`],maxRetryAfter:void 0,calculateDelay:({computedValue:e})=>e},timeout:{},headers:{"user-agent":`got (https://github.com/sindresorhus/got)`},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:`text`,resolveBodyOnly:!1,maxRedirects:10,prefixUrl:``,methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:e=>e.request.options.responseType===`json`?e.body:JSON.parse(e.body),paginate:e=>{if(!Reflect.has(e.headers,`link`))return!1;let t=e.headers.link.split(`,`),n;for(let e of t){let t=e.split(`;`);if(t[1].includes(`next`)){n=t[0].trimStart().trim(),n=n.slice(1,-1);break}}if(n){let e={url:new i.URL(n)};return e}return!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:e=>JSON.parse(e),stringifyJson:e=>JSON.stringify(e),cacheOptions:{}},handlers:[a.defaultHandler],mutableDefaults:!1},s=a.default(o);exports.default=s,t.exports=s,t.exports.default=s,t.exports.__esModule=!0,r(Tb(),exports),r(xb(),exports)}),Db=c(Eb());const Ob=20,kb=`/api/turborepo/v1/events`;var Ab=class{api;packageInfo;batchSize=Ob;timeout=250;sessionId=(0,p.randomUUID)();eventBatches=[];events=[];config;constructor({api:e,packageInfo:t,config:n,opts:r}){let i=new URL(kb,e);this.api=i.toString(),this.packageInfo=t,this.config=n,r?.timeout&&(this.timeout=r.timeout),r?.batchSize&&(this.batchSize=r.batchSize)}hasPendingEvents(){return this.events.length!==0}async waitForFlush(){await Promise.all(this.eventBatches)}flushEvents(){let e=this.events.splice(0,this.batchSize);this.config.isEnabled()&&this.eventBatches.push(Db.default.post(this.api,{timeout:this.timeout,json:e,headers:{"x-turbo-telemetry-id":this.config.id,"x-turbo-session-id":this.sessionId,"User-Agent":gy.buildUserAgent(this.packageInfo)}}))}track({key:e,value:t,parentId:n,isSensitive:r}){let i={id:(0,p.randomUUID)(),key:e,value:r?this.config.oneWayHash(t):t,package_name:this.packageInfo.name,package_version:this.packageInfo.version,parent_id:n};return Cy.isDebug()&&(Qs(),Js(`[telemetry event]`),Xs(JSON.stringify(i,null,2)),Qs()),this.config.isEnabled()&&(this.events.push({package:i}),this.events.length>=this.batchSize&&this.flushEvents()),i}async close(){for(;this.hasPendingEvents();)this.flushEvents();try{await this.waitForFlush()}catch{}}trackCliOption({option:e,value:t}){return this.track({key:`option:${e}`,value:t})}trackCliArgument({argument:e,value:t}){return this.track({key:`argument:${e}`,value:t})}trackCliCommand({command:e,value:t}){return this.track({key:`command:${e}`,value:t})}trackCommandStatus({command:e,status:t}){return this.trackCliCommand({command:e,value:t})}trackCommandWarning(e){return this.track({key:`warning`,value:e})}trackCommandError(e){return this.track({key:`error`,value:e})}};function jb(e){if(e===`default`)return`default`;try{let t=new URL(e);return t.hostname===`github.com`?`github_url`:`other_url`}catch{return`official`}}var Mb=class extends Ab{trackOptionExample(e){if(e)return this.trackCliOption({option:`example`,value:jb(e)})}trackOptionPackageManager(e){if(e)return this.trackCliOption({option:`package_manager`,value:e})}trackOptionSkipInstall(e){if(e)return this.trackCliOption({option:`skip_install`,value:e.toString()})}trackOptionSkipTransforms(e){if(e)return this.trackCliOption({option:`skip_transforms`,value:e.toString()})}trackOptionTurboVersion(e){if(e)return this.trackCliOption({option:`turbo_version`,value:e})}trackOptionExamplePath(e){if(e)return this.trackCliOption({option:`example_path`,value:`provided`})}trackArgumentDirectory(e){if(e)return this.trackCliArgument({argument:`project_directory`,value:`provided`})}trackArgumentPackageManager(e){if(e)return this.trackCliArgument({argument:`package_manager`,value:e})}},Nb=o((exports,t)=>{t.exports=[{name:`Agola CI`,constant:`AGOLA`,env:`AGOLA_GIT_REF`,pr:`AGOLA_PULL_REQUEST_ID`},{name:`Appcircle`,constant:`APPCIRCLE`,env:`AC_APPCIRCLE`},{name:`AppVeyor`,constant:`APPVEYOR`,env:`APPVEYOR`,pr:`APPVEYOR_PULL_REQUEST_NUMBER`},{name:`AWS CodeBuild`,constant:`CODEBUILD`,env:`CODEBUILD_BUILD_ARN`},{name:`Azure Pipelines`,constant:`AZURE_PIPELINES`,env:`TF_BUILD`,pr:{BUILD_REASON:`PullRequest`}},{name:`Bamboo`,constant:`BAMBOO`,env:`bamboo_planKey`},{name:`Bitbucket Pipelines`,constant:`BITBUCKET`,env:`BITBUCKET_COMMIT`,pr:`BITBUCKET_PR_ID`},{name:`Bitrise`,constant:`BITRISE`,env:`BITRISE_IO`,pr:`BITRISE_PULL_REQUEST`},{name:`Buddy`,constant:`BUDDY`,env:`BUDDY_WORKSPACE_ID`,pr:`BUDDY_EXECUTION_PULL_REQUEST_ID`},{name:`Buildkite`,constant:`BUILDKITE`,env:`BUILDKITE`,pr:{env:`BUILDKITE_PULL_REQUEST`,ne:`false`}},{name:`CircleCI`,constant:`CIRCLE`,env:`CIRCLECI`,pr:`CIRCLE_PULL_REQUEST`},{name:`Cirrus CI`,constant:`CIRRUS`,env:`CIRRUS_CI`,pr:`CIRRUS_PR`},{name:`Codefresh`,constant:`CODEFRESH`,env:`CF_BUILD_ID`,pr:{any:[`CF_PULL_REQUEST_NUMBER`,`CF_PULL_REQUEST_ID`]}},{name:`Codemagic`,constant:`CODEMAGIC`,env:`CM_BUILD_ID`,pr:`CM_PULL_REQUEST`},{name:`Codeship`,constant:`CODESHIP`,env:{CI_NAME:`codeship`}},{name:`Drone`,constant:`DRONE`,env:`DRONE`,pr:{DRONE_BUILD_EVENT:`pull_request`}},{name:`dsari`,constant:`DSARI`,env:`DSARI`},{name:`Earthly`,constant:`EARTHLY`,env:`EARTHLY_CI`},{name:`Expo Application Services`,constant:`EAS`,env:`EAS_BUILD`},{name:`Gerrit`,constant:`GERRIT`,env:`GERRIT_PROJECT`},{name:`Gitea Actions`,constant:`GITEA_ACTIONS`,env:`GITEA_ACTIONS`},{name:`GitHub Actions`,constant:`GITHUB_ACTIONS`,env:`GITHUB_ACTIONS`,pr:{GITHUB_EVENT_NAME:`pull_request`}},{name:`GitLab CI`,constant:`GITLAB`,env:`GITLAB_CI`,pr:`CI_MERGE_REQUEST_ID`},{name:`GoCD`,constant:`GOCD`,env:`GO_PIPELINE_LABEL`},{name:`Google Cloud Build`,constant:`GOOGLE_CLOUD_BUILD`,env:`BUILDER_OUTPUT`},{name:`Harness CI`,constant:`HARNESS`,env:`HARNESS_BUILD_ID`},{name:`Heroku`,constant:`HEROKU`,env:{env:`NODE`,includes:`/app/.heroku/node/bin/node`}},{name:`Hudson`,constant:`HUDSON`,env:`HUDSON_URL`},{name:`Jenkins`,constant:`JENKINS`,env:[`JENKINS_URL`,`BUILD_ID`],pr:{any:[`ghprbPullId`,`CHANGE_ID`]}},{name:`LayerCI`,constant:`LAYERCI`,env:`LAYERCI`,pr:`LAYERCI_PULL_REQUEST`},{name:`Magnum CI`,constant:`MAGNUM`,env:`MAGNUM`},{name:`Netlify CI`,constant:`NETLIFY`,env:`NETLIFY`,pr:{env:`PULL_REQUEST`,ne:`false`}},{name:`Nevercode`,constant:`NEVERCODE`,env:`NEVERCODE`,pr:{env:`NEVERCODE_PULL_REQUEST`,ne:`false`}},{name:`Prow`,constant:`PROW`,env:`PROW_JOB_ID`},{name:`ReleaseHub`,constant:`RELEASEHUB`,env:`RELEASE_BUILD_ID`},{name:`Render`,constant:`RENDER`,env:`RENDER`,pr:{IS_PULL_REQUEST:`true`}},{name:`Sail CI`,constant:`SAIL`,env:`SAILCI`,pr:`SAIL_PULL_REQUEST_NUMBER`},{name:`Screwdriver`,constant:`SCREWDRIVER`,env:`SCREWDRIVER`,pr:{env:`SD_PULL_REQUEST`,ne:`false`}},{name:`Semaphore`,constant:`SEMAPHORE`,env:`SEMAPHORE`,pr:`PULL_REQUEST_NUMBER`},{name:`Sourcehut`,constant:`SOURCEHUT`,env:{CI_NAME:`sourcehut`}},{name:`Strider CD`,constant:`STRIDER`,env:`STRIDER`},{name:`TaskCluster`,constant:`TASKCLUSTER`,env:[`TASK_ID`,`RUN_ID`]},{name:`TeamCity`,constant:`TEAMCITY`,env:`TEAMCITY_VERSION`},{name:`Travis CI`,constant:`TRAVIS`,env:`TRAVIS`,pr:{env:`TRAVIS_PULL_REQUEST`,ne:`false`}},{name:`Vela`,constant:`VELA`,env:`VELA`,pr:{VELA_PULL_REQUEST:`1`}},{name:`Vercel`,constant:`VERCEL`,env:{any:[`NOW_BUILDER`,`VERCEL`]},pr:`VERCEL_GIT_PULL_REQUEST_ID`},{name:`Visual Studio App Center`,constant:`APPCENTER`,env:`APPCENTER_BUILD_ID`},{name:`Woodpecker`,constant:`WOODPECKER`,env:{CI:`woodpecker`},pr:{CI_BUILD_EVENT:`pull_request`}},{name:`Xcode Cloud`,constant:`XCODE_CLOUD`,env:`CI_XCODE_PROJECT`,pr:`CI_PULL_REQUEST_NUMBER`},{name:`Xcode Server`,constant:`XCODE_SERVER`,env:`XCS`}]}),Pb=o(exports=>{let t=Nb(),n=process.env;Object.defineProperty(exports,`_vendors`,{value:t.map(function(e){return e.constant})}),exports.name=null,exports.isPR=null,t.forEach(function(t){let i=Array.isArray(t.env)?t.env:[t.env],a=i.every(function(e){return r(e)});if(exports[t.constant]=a,a)switch(exports.name=t.name,typeof t.pr){case`string`:exports.isPR=!!n[t.pr];break;case`object`:`env`in t.pr?exports.isPR=t.pr.env in n&&n[t.pr.env]!==t.pr.ne:`any`in t.pr?exports.isPR=t.pr.any.some(function(e){return!!n[e]}):exports.isPR=r(t.pr);break;default:exports.isPR=null}}),exports.isCI=!!(n.CI!==`false`&&(n.BUILD_ID||n.BUILD_NUMBER||n.CI||n.CI_APP_ID||n.CI_BUILD_ID||n.CI_BUILD_NUMBER||n.CI_NAME||n.CONTINUOUS_INTEGRATION||n.RUN_ID||exports.name));function r(e){return typeof e==`string`?!!n[e]:`env`in e?n[e.env]&&n[e.env].includes(e.includes):`any`in e?e.any.some(function(e){return!!n[e]}):Object.keys(e).every(function(t){return n[t]===e[t]})}}),Fb=c(Pb());const Ib=[`build`,`test`,`lint`,`typecheck`,`checktypes`,`check-types`,`type-check`,`check`];var Lb=class extends Ab{trackCI(){return this.track({key:`ci`,value:Fb.name??`unknown`})}trackArgumentWorkspace(e){if(e)return this.trackCliArgument({argument:`workspace`,value:`provided`})}trackOptionTask(e){if(e)return this.trackCliOption({option:`task`,value:Ib.includes(e)?e:`other`})}trackOptionFallback(e){if(e)return this.trackCliOption({option:`fallback`,value:e})}trackOptionDirectory(e){if(e)return this.trackCliOption({option:`directory`,value:`custom`})}trackOptionMaxBuffer(e){if(e!==void 0)return this.trackCliOption({option:`max_buffer`,value:e.toString()})}};const Rb={"create-turbo":Mb,"turbo-ignore":Lb},zb=`https://telemetry.vercel.com`;async function Bb({packageInfo:e,opts:t}){let n=Rb[e.name],r=await Cy.fromDefaultConfig();if(r){r.showAlert();let i=new n({api:zb,packageInfo:e,config:r,opts:t});return{telemetry:i}}return{telemetry:void 0}}var Vb=c(Wo());const Hb=`status`,Ub=[`enable`,`disable`,Hb];function Wb(e){let t=e.telemetry?.config.isEnabled();Qs(`Status: ${t?Vb.default.bold(Vb.default.green(`Enabled`)):Vb.default.bold(Vb.default.red(`Disabled`))}`),Qs(),Qs(t?`Turborepo telemetry is completely anonymous. Thank you for participating!`:`You have opted-out of Turborepo anonymous telemetry. No data will be collected from your machine.`),Qs(`Learn more: https://turborepo.dev/docs/telemetry`)}function Gb(e,t){if(!t.telemetry){$s(`Telemetry could not be initialized`);return}e===`enable`?(t.telemetry.config.enable(),Js(`Success!`)):e===`disable`&&(t.telemetry.config.disable(),Js(`Success!`)),Qs(),Wb(t)}function Kb(e){e.command(`telemetry`).description(`Manage telemetry settings`).addArgument(new R(`[action]`,`Action to perform`).choices(Ub).default(Hb)).action(Gb)}var qb=`turbo-ignore`,Jb=`2.10.1`,Yb=``,Xb=[],Zb=`https://turborepo.dev`,Qb={url:`https://github.com/vercel/turborepo/issues`},$b=`MIT`,ex=`Jared Palmer`,tx={type:`git`,url:`https://github.com/vercel/turborepo`,directory:`packages/turbo-ignore`},nx=`dist/cli.js`,rx=[`dist`],ix={build:`tsdown`,test:`jest`,"check-types":`tsc --noEmit`,"lint:prettier":`prettier -c . --cache --ignore-path=../../.prettierignore`},ax={json5:`2.2.3`},ox={"@jest/globals":`30.3.0`,"@turbo/telemetry":`workspace:*`,"@turbo/test-utils":`workspace:*`,"@turbo/tsconfig":`workspace:*`,"@turbo/types":`workspace:*`,"@turbo/utils":`workspace:*`,"@types/node":`18.17.4`,commander:`11.0.0`,jest:`30.3.0`,"ts-jest":`29.4.9`,tsdown:`0.12.0`,typescript:`5.5.4`},sx={name:qb,version:Jb,description:Yb,keywords:Xb,homepage:Zb,bugs:Qb,license:$b,author:ex,repository:tx,bin:nx,files:rx,scripts:ix,dependencies:ax,devDependencies:ox};const cx=`≫ `;function lx(...e){console.log(cx,...e)}function ux(...e){console.error(cx,...e)}function dx(...e){console.warn(cx,...e)}function fx(...e){console.log(...e)}function px(e){try{return(0,x.execFileSync)(`git`,[`cat-file`,`-t`,e],{stdio:`ignore`}),!0}catch{return!1}}function mx(e){return e.fallback?(lx(`Falling back to ref ${e.fallback}`),{ref:e.fallback,type:`customFallback`}):null}function hx(e){let{workspace:t}=e;return process.env.VERCEL===`1`?process.env.VERCEL_GIT_PREVIOUS_SHA?px(process.env.VERCEL_GIT_PREVIOUS_SHA)?(lx(`Found previous deployment ("${process.env.VERCEL_GIT_PREVIOUS_SHA}") for "${t}"${process.env.VERCEL_GIT_COMMIT_REF?` on branch "${process.env.VERCEL_GIT_COMMIT_REF}"`:``}`),{ref:process.env.VERCEL_GIT_PREVIOUS_SHA,type:`previousDeploy`}):(lx(`Previous deployment ("${process.env.VERCEL_GIT_PREVIOUS_SHA}") for "${t}"${process.env.VERCEL_GIT_COMMIT_REF?` on branch "${process.env.VERCEL_GIT_COMMIT_REF}"`:``} is unreachable.`),mx(e)):(lx(`No previous deployments found for "${t}"${process.env.VERCEL_GIT_COMMIT_REF?` on branch "${process.env.VERCEL_GIT_COMMIT_REF}"`:``}`),mx(e)):e.fallback?mx(e):{ref:`HEAD^`,type:`headRelative`}}function gx(e){return e.task?(lx(`Using "${e.task}" as the task from the arguments`),e.task):(lx(`Using "build" as the task as it was unspecified`),`build`)}function _x(e){let{directory:t=process.cwd(),workspace:n}=e;if(n)return lx(`Using "${n}" as workspace from arguments`),n;let r=m.default.join(t,`package.json`);try{let e=f.default.readFileSync(r,`utf8`),t=JSON.parse(e);return t.name?(lx(`Inferred "${t.name}" as workspace from "package.json"`),t.name):(ux(`"${r}" is missing the "name" field (required).`),null)}catch{return ux(`"${r}" could not be found. turbo-ignore inferencing failed`),null}}function vx(e,t){let{turboVersion:n}=e;if(n)return lx(`Using turbo version "${n}" from arguments`),n;let r=m.default.join(t,`package.json`);try{let e=f.default.readFileSync(r,`utf8`),t=JSON.parse(e),i=t.dependencies?.turbo,a=t.devDependencies?.turbo;if(n=i||a,n!==void 0){if(!n.startsWith(`catalog:`))return lx(`Inferred turbo version "${n}" from "package.json"`),n;dx("Cannot infer turbo version due to use of `catalog` protocol. Remove `turbo` from your PNPM catalog to ensure correct turbo version is used")}}catch{return ux(`"${r}" could not be read. turbo-ignore turbo version inference failed`),null}let i=m.default.join(t,`turbo.json`);try{let e=f.default.readFileSync(i,`utf8`),t=(0,g.parse)(e);return`tasks`in t?(lx(`Inferred turbo version ^2 based on "tasks" in "turbo.json"`),`^2`):`pipeline`in t?(lx(`Inferred turbo version ^1 based on "pipeline" in "turbo.json"`),`^1`):null}catch{return ux(`"${i}" could not be read. turbo-ignore turbo version inference failed`),null}}const yx={MISSING_LOCKFILE:{regex:[/reading (?:yarn.lock|package-lock.json|pnpm-lock.yaml):.*?no such file or directory/i],message:`turbo-ignore could not complete - no lockfile found, please commit one to your repository`},NO_PACKAGE_MANAGER:{regex:[/run failed: We did not detect an in-use package manager for your project/i],message:`turbo-ignore could not complete - no package manager detected, please commit a lockfile, or set "packageManager" in your root "package.json"`},UNREACHABLE_PARENT:{regex:[/failed to resolve packages to run: commit HEAD\^ does not exist/i],message:`turbo-ignore could not complete - parent commit does not exist or is unreachable`},INVALID_COMPARISON:{regex:[/commit \S+ does not exist/i,/unknown revision/i,/invalid symmetric difference expression/i],message:`turbo-ignore could not complete - a ref or SHA is invalid. It could have been removed from the branch history via a force push, or this could be a shallow clone with insufficient history`}};function bx({err:e}){let t=Object.keys(yx).find(t=>{let{regex:n}=yx[t];return n.some(t=>t.test(e))});return t?{level:`warn`,message:yx[t].message,code:t}:{level:`error`,message:e,code:`UNKNOWN_ERROR`}}const xx=[`[skip ci]`,`[ci skip]`,`[no ci]`,`[skip vercel]`,`[vercel skip]`],Sx=[`[vercel deploy]`,`[vercel build]`];function Cx({workspace:e}){return[`[vercel skip ${e}]`]}function wx({workspace:e}){return[`[vercel deploy ${e}]`,`[vercel build ${e}]`]}const Tx=/\[vercel only .+\]/;function Ex({workspace:e}){return[`[vercel only ${e}]`]}function Dx(){return process.env.VERCEL===`1`&&process.env.VERCEL_GIT_COMMIT_MESSAGE?process.env.VERCEL_GIT_COMMIT_MESSAGE:(0,x.execSync)(`git show -s --format=%B`).toString()}function Ox({workspace:e}){let t=Dx(),n=e=>t.includes(e),r=Tx.exec(t)?.[0];if(r)return Ex({workspace:e}).some(e=>e===r)?{result:`deploy`,scope:`workspace`,reason:`Found commit message: ${r}`}:{result:`skip`,scope:`workspace`,reason:`Found commit message: ${r}`};let i=wx({workspace:e}).find(n),a=Cx({workspace:e}).find(n);if(i&&a)return{result:`conflict`,scope:`workspace`,reason:`Conflicting commit messages found: ${i} and ${a}`};if(i)return{result:`deploy`,scope:`workspace`,reason:`Found commit message: ${i}`};if(a)return{result:`skip`,scope:`workspace`,reason:`Found commit message: ${a}`};let o=Sx.find(n),s=xx.find(n);return o&&s?{result:`conflict`,scope:`global`,reason:`Conflicting commit messages found: ${o} and ${s}`}:o?{result:`deploy`,scope:`global`,reason:`Found commit message: ${o}`}:s?{result:`skip`,scope:`global`,reason:`Found commit message: ${s}`}:{result:`continue`,scope:`global`,reason:`No deploy or skip string found in commit message.`}}function kx(e){e.telemetry?.trackOptionTask(e.task),e.telemetry?.trackOptionFallback(e.fallback),e.telemetry?.trackOptionDirectory(e.directory),e.telemetry?.trackOptionMaxBuffer(e.maxBuffer)}function Ax(){return fx(`⏭ Ignoring the change`),process.exit(0)}function jx(){return fx(`✓ Proceeding with deployment`),process.exit(1)}function Mx(e,t){t.telemetry?.trackCommandStatus({command:`ignore`,status:`start`}),t.telemetry?.trackArgumentWorkspace(e!==void 0),kx(t);let n={workspace:e,...t};if(process.env.VERCEL===`1`?(dx(`\x1B[33m"turbo-ignore" is deprecated. Use Vercel's built-in project skipping instead.\x1B[39m`),dx(`\x1B[33mLearn more: https://vercel.com/docs/monorepos#skipping-unaffected-projects\x1B[39m
109
+ `)}`}}};exports.RequestError=W;var le=class extends W{constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborting.`,{},e),this.name=`MaxRedirectsError`,this.code=`ERR_TOO_MANY_REDIRECTS`}};exports.MaxRedirectsError=le;var ue=class extends W{constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},e.request),this.name=`HTTPError`,this.code=`ERR_NON_2XX_3XX_RESPONSE`}};exports.HTTPError=ue;var de=class extends W{constructor(e,t){super(e.message,e,t),this.name=`CacheError`,this.code=this.code===`ERR_GOT_REQUEST_ERROR`?`ERR_CACHE_ACCESS`:this.code}};exports.CacheError=de;var fe=class extends W{constructor(e,t){super(e.message,e,t),this.name=`UploadError`,this.code=this.code===`ERR_GOT_REQUEST_ERROR`?`ERR_UPLOAD`:this.code}};exports.UploadError=fe;var pe=class extends W{constructor(e,t,n){super(e.message,e,n),this.name=`TimeoutError`,this.event=e.event,this.timings=t}};exports.TimeoutError=pe;var me=class extends W{constructor(e,t){super(e.message,e,t),this.name=`ReadError`,this.code=this.code===`ERR_GOT_REQUEST_ERROR`?`ERR_READING_RESPONSE_STREAM`:this.code}};exports.ReadError=me;var he=class extends W{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),this.name=`UnsupportedProtocolError`,this.code=`ERR_UNSUPPORTED_PROTOCOL`}};exports.UnsupportedProtocolError=he;let ge=[`socket`,`connect`,`continue`,`information`,`upgrade`,`timeout`];var _e=class extends n.Duplex{constructor(t,n={},i){super({autoDestroy:!1,highWaterMark:0}),this[M]=0,this[N]=0,this.requestInitialized=!1,this[P]=new Set,this.redirects=[],this[L]=!1,this[re]=!1,this[z]=[],this.retryCount=0,this._progressCallbacks=[];let a=()=>this._unlockWrite(),s=()=>this._lockWrite();this.on(`pipe`,e=>{e.prependListener(`data`,a),e.on(`data`,s),e.prependListener(`end`,a),e.on(`end`,s)}),this.on(`unpipe`,e=>{e.off(`data`,a),e.off(`data`,s),e.off(`end`,a),e.off(`end`,s)}),this.on(`pipe`,e=>{e instanceof o.IncomingMessage&&(this.options.headers={...e.headers,...this.options.headers})});let{json:c,body:l,form:u}=n;if((c||l||u)&&this._lockWrite(),exports.kIsNormalizedAlready in n)this.options=n;else try{this.options=this.constructor.normalizeArguments(t,n,i)}catch(e){m.default.nodeStream(n.body)&&n.body.destroy(),this.destroy(e);return}(async()=>{var e;try{this.options.body instanceof r.ReadStream&&await U(this.options.body);let{url:t}=this.options;if(!t)throw TypeError("Missing `url` property");if(this.requestUrl=t.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.destroyed){(e=this[k])==null||e.destroy();return}for(let e of this[z])e();this[z].length=0,this.requestInitialized=!0}catch(e){if(e instanceof W){this._beforeError(e);return}this.destroyed||this.destroy(e)}})()}static normalizeArguments(n,r,a){var o,s,c,d,f;let h=r;if(m.default.object(n)&&!m.default.urlInstance(n))r={...a,...n,...r};else{if(n&&r&&r.url!==void 0)throw TypeError("The `url` option is mutually exclusive with the `input` argument");r={...a,...r},n!==void 0&&(r.url=n),m.default.urlInstance(r.url)&&(r.url=new i.URL(r.url.toString()))}if(r.cache===!1&&(r.cache=void 0),r.dnsCache===!1&&(r.dnsCache=void 0),m.assert.any([m.default.string,m.default.undefined],r.method),m.assert.any([m.default.object,m.default.undefined],r.headers),m.assert.any([m.default.string,m.default.urlInstance,m.default.undefined],r.prefixUrl),m.assert.any([m.default.object,m.default.undefined],r.cookieJar),m.assert.any([m.default.object,m.default.string,m.default.undefined],r.searchParams),m.assert.any([m.default.object,m.default.string,m.default.undefined],r.cache),m.assert.any([m.default.object,m.default.number,m.default.undefined],r.timeout),m.assert.any([m.default.object,m.default.undefined],r.context),m.assert.any([m.default.object,m.default.undefined],r.hooks),m.assert.any([m.default.boolean,m.default.undefined],r.decompress),m.assert.any([m.default.boolean,m.default.undefined],r.ignoreInvalidCookies),m.assert.any([m.default.boolean,m.default.undefined],r.followRedirect),m.assert.any([m.default.number,m.default.undefined],r.maxRedirects),m.assert.any([m.default.boolean,m.default.undefined],r.throwHttpErrors),m.assert.any([m.default.boolean,m.default.undefined],r.http2),m.assert.any([m.default.boolean,m.default.undefined],r.allowGetBody),m.assert.any([m.default.string,m.default.undefined],r.localAddress),m.assert.any([C.isDnsLookupIpVersion,m.default.undefined],r.dnsLookupIpVersion),m.assert.any([m.default.object,m.default.undefined],r.https),m.assert.any([m.default.boolean,m.default.undefined],r.rejectUnauthorized),r.https&&(m.assert.any([m.default.boolean,m.default.undefined],r.https.rejectUnauthorized),m.assert.any([m.default.function_,m.default.undefined],r.https.checkServerIdentity),m.assert.any([m.default.string,m.default.object,m.default.array,m.default.undefined],r.https.certificateAuthority),m.assert.any([m.default.string,m.default.object,m.default.array,m.default.undefined],r.https.key),m.assert.any([m.default.string,m.default.object,m.default.array,m.default.undefined],r.https.certificate),m.assert.any([m.default.string,m.default.undefined],r.https.passphrase),m.assert.any([m.default.string,m.default.buffer,m.default.array,m.default.undefined],r.https.pfx)),m.assert.any([m.default.object,m.default.undefined],r.cacheOptions),m.default.string(r.method)?r.method=r.method.toUpperCase():r.method=`GET`,r.headers===a?.headers?r.headers={...r.headers}:r.headers=p({...a?.headers,...r.headers}),`slashes`in r)throw TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if(`auth`in r)throw TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if(`searchParams`in r&&r.searchParams&&r.searchParams!==a?.searchParams){let e;if(m.default.string(r.searchParams)||r.searchParams instanceof i.URLSearchParams)e=new i.URLSearchParams(r.searchParams);else for(let t in H(r.searchParams),e=new i.URLSearchParams,r.searchParams){let n=r.searchParams[t];n===null?e.append(t,``):n!==void 0&&e.append(t,n)}(o=a?.searchParams)==null||o.forEach((t,n)=>{e.has(n)||e.append(n,t)}),r.searchParams=e}if(r.username=(s=r.username)??``,r.password=(c=r.password)??``,m.default.undefined(r.prefixUrl)?r.prefixUrl=(d=a?.prefixUrl)??``:(r.prefixUrl=r.prefixUrl.toString(),r.prefixUrl!==``&&!r.prefixUrl.endsWith(`/`)&&(r.prefixUrl+=`/`)),m.default.string(r.url)){if(r.url.startsWith(`/`))throw Error("`input` must not start with a slash when using `prefixUrl`");r.url=b.default(r.prefixUrl+r.url,r)}else (m.default.undefined(r.url)&&r.prefixUrl!==``||r.protocol)&&(r.url=b.default(r.prefixUrl,r));if(r.url){`port`in r&&delete r.port;let{prefixUrl:e}=r;Object.defineProperty(r,`prefixUrl`,{set:t=>{let n=r.url;if(!n.href.startsWith(t))throw Error(`Cannot change \`prefixUrl\` from ${e} to ${t}: ${n.href}`);r.url=new i.URL(t+n.href.slice(e.length)),e=t},get:()=>e});let{protocol:t}=r.url;if(t===`unix:`&&(t=`http:`,r.url=new i.URL(`http://unix${r.url.pathname}${r.url.search}`)),r.searchParams&&(r.url.search=r.searchParams.toString()),t!==`http:`&&t!==`https:`)throw new he(r);r.username===``?r.username=r.url.username:r.url.username=r.username,r.password===``?r.password=r.url.password:r.url.password=r.password}let{cookieJar:g}=r;if(g){let{setCookie:e,getCookieString:n}=g;m.assert.function_(e),m.assert.function_(n),e.length===4&&n.length===0&&(e=t.promisify(e.bind(r.cookieJar)),n=t.promisify(n.bind(r.cookieJar)),r.cookieJar={setCookie:e,getCookieString:n})}let{cache:_}=r;if(_&&(oe.has(_)||oe.set(_,new u((e,t)=>{let n=e[k](e,t);return m.default.promise(n)&&(n.once=(e,t)=>{if(e===`error`)n.catch(t);else if(e===`abort`)(async()=>{try{let e=await n;e.once(`abort`,t)}catch{}})();else throw Error(`Unknown HTTP2 promise event: ${e}`);return n}),n},_))),r.cacheOptions={...r.cacheOptions},r.dnsCache===!0)O||=new l.default,r.dnsCache=O;else if(!m.default.undefined(r.dnsCache)&&!r.dnsCache.lookup)throw TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${m.default(r.dnsCache)}`);m.default.number(r.timeout)?r.timeout={request:r.timeout}:a&&r.timeout!==a.timeout?r.timeout={...a.timeout,...r.timeout}:r.timeout={...r.timeout},r.context||={};let v=r.hooks===a?.hooks;r.hooks={...r.hooks};for(let t of exports.knownHookEvents)if(t in r.hooks)if(m.default.array(r.hooks[t]))r.hooks[t]=[...r.hooks[t]];else throw TypeError(`Parameter \`${t}\` must be an Array, got ${m.default(r.hooks[t])}`);else r.hooks[t]=[];if(a&&!v)for(let t of exports.knownHookEvents){let e=a.hooks[t];e.length>0&&(r.hooks[t]=[...a.hooks[t],...r.hooks[t]])}if(`family`in r&&T.default(`"options.family" was never documented, please use "options.dnsLookupIpVersion"`),a?.https&&(r.https={...a.https,...r.https}),`rejectUnauthorized`in r&&T.default(`"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"`),`checkServerIdentity`in r&&T.default(`"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"`),`ca`in r&&T.default(`"options.ca" was never documented, please use "options.https.certificateAuthority"`),`key`in r&&T.default(`"options.key" was never documented, please use "options.https.key"`),`cert`in r&&T.default(`"options.cert" was never documented, please use "options.https.certificate"`),`passphrase`in r&&T.default(`"options.passphrase" was never documented, please use "options.https.passphrase"`),`pfx`in r&&T.default(`"options.pfx" was never documented, please use "options.https.pfx"`),`followRedirects`in r)throw TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(r.agent){for(let e in r.agent)if(e!==`http`&&e!==`https`&&e!==`http2`)throw TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${e}\``)}return r.maxRedirects=(f=r.maxRedirects)??0,exports.setNonEnumerableProperties([a,h],r),E.default(r,a)}_lockWrite(){let e=()=>{throw TypeError(`The payload has been already provided`)};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){let{options:t}=this,{headers:r}=t,a=!m.default.undefined(t.form),o=!m.default.undefined(t.json),s=!m.default.undefined(t.body),c=a||o||s,l=exports.withoutBody.has(t.method)&&!(t.method===`GET`&&t.allowGetBody);if(this._cannotHaveBody=l,c){if(l)throw TypeError(`The \`${t.method}\` method cannot be used with a body`);if([s,a,o].filter(e=>e).length>1)throw TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(t.body instanceof n.Readable)&&!m.default.string(t.body)&&!m.default.buffer(t.body)&&!g.default(t.body))throw TypeError("The `body` option must be a stream.Readable, string or Buffer");if(a&&!m.default.object(t.form))throw TypeError("The `form` option must be an Object");{let e=!m.default.string(r[`content-type`]);s?(g.default(t.body)&&e&&(r[`content-type`]=`multipart/form-data; boundary=${t.body.getBoundary()}`),this[R]=t.body):a?(e&&(r[`content-type`]=`application/x-www-form-urlencoded`),this[R]=new i.URLSearchParams(t.form).toString()):(e&&(r[`content-type`]=`application/json`),this[R]=t.stringifyJson(t.json));let n=await h.default(this[R],t.headers);m.default.undefined(r[`content-length`])&&m.default.undefined(r[`transfer-encoding`])&&!l&&!m.default.undefined(n)&&(r[`content-length`]=String(n))}}else l?this._lockWrite():this._unlockWrite();this[ee]=Number(r[`content-length`])||void 0}async _onResponseBase(e){let{options:t}=this,{url:n}=t;this[ie]=e,t.decompress&&(e=d(e));let r=e.statusCode,o=e;o.statusMessage=o.statusMessage?o.statusMessage:a.STATUS_CODES[r],o.url=t.url.toString(),o.requestUrl=this.requestUrl,o.redirectUrls=this.redirects,o.request=this,o.isFromCache=e.fromCache||!1,o.ip=this.ip,o.retryCount=this.retryCount,this[ne]=o.isFromCache,this[j]=Number(e.headers[`content-length`])||void 0,this[A]=e,e.once(`end`,()=>{this[j]=this[M],this.emit(`downloadProgress`,this.downloadProgress)}),e.once(`error`,t=>{e.destroy(),this._beforeError(new me(t,this))}),e.once(`aborted`,()=>{this._beforeError(new me({name:`Error`,message:`The server aborted pending request`,code:`ECONNRESET`},this))}),this.emit(`downloadProgress`,this.downloadProgress);let s=e.headers[`set-cookie`];if(m.default.object(t.cookieJar)&&s){let e=s.map(async e=>t.cookieJar.setCookie(e,n.toString()));t.ignoreInvalidCookies&&(e=e.map(async e=>e.catch(()=>{})));try{await Promise.all(e)}catch(e){this._beforeError(e);return}}if(t.followRedirect&&e.headers.location&&se.has(r)){e.resume(),this[k]&&(this[F](),delete this[k],this[te]());let a=r===303&&t.method!==`GET`&&t.method!==`HEAD`;if((a||!t.methodRewriting)&&(t.method=`GET`,`body`in t&&delete t.body,`json`in t&&delete t.json,`form`in t&&delete t.form,this[R]=void 0,delete t.headers[`content-length`]),this.redirects.length>=t.maxRedirects){this._beforeError(new le(this));return}try{let r=Buffer.from(e.headers.location,`binary`).toString(),a=new i.URL(r,n),s=a.toString();decodeURI(s);function c(e){return e.protocol===`unix:`||e.hostname===`unix`}if(!c(n)&&c(a)){this._beforeError(new W(`Cannot redirect to UNIX socket`,{},this));return}a.hostname!==n.hostname||a.port!==n.port?(`host`in t.headers&&delete t.headers.host,`cookie`in t.headers&&delete t.headers.cookie,`authorization`in t.headers&&delete t.headers.authorization,(t.username||t.password)&&(t.username=``,t.password=``)):(a.username=t.username,a.password=t.password),this.redirects.push(s),t.url=a;for(let e of t.hooks.beforeRedirect)await e(t,o);this.emit(`redirect`,o,t),await this._makeRequest()}catch(e){this._beforeError(e);return}return}if(t.isStream&&t.throwHttpErrors&&!w.isResponseOk(o)){this._beforeError(new ue(o));return}e.on(`readable`,()=>{this[re]&&this._read()}),this.on(`resume`,()=>{e.resume()}),this.on(`pause`,()=>{e.pause()}),e.once(`end`,()=>{this.push(null)}),this.emit(`response`,e);for(let n of this[P]){if(n.headersSent)continue;for(let r in e.headers){let i=t.decompress?r!==`content-encoding`:!0,a=e.headers[r];i&&n.setHeader(r,a)}n.statusCode=r}}async _onResponse(e){try{await this._onResponseBase(e)}catch(e){this._beforeError(e)}}_onRequest(e){let{options:t}=this,{timeout:n,url:r}=t;c.default(e),this[F]=v.default(e,n,r);let i=t.cache?`cacheableResponse`:`response`;e.once(i,e=>{this._onResponse(e)}),e.once(`error`,t=>{var n;e.destroy(),(n=e.res)==null||n.removeAllListeners(`end`),t=t instanceof v.TimeoutError?new pe(t,this.timings,this):new W(t.message,t,this),this._beforeError(t)}),this[te]=_.default(e,this,ge),this[k]=e,this.emit(`uploadProgress`,this.uploadProgress);let a=this[R],o=this.redirects.length===0?this:e;m.default.nodeStream(a)?(a.pipe(o),a.once(`error`,e=>{this._beforeError(new fe(e,this))})):(this._unlockWrite(),m.default.undefined(a)?(this._cannotHaveBody||this._noPipe)&&(o.end(),this._lockWrite()):(this._writeRequest(a,void 0,()=>{}),o.end(),this._lockWrite())),this.emit(`request`,e)}async _createCacheableRequest(e,t){return new Promise((n,r)=>{Object.assign(t,y.default(e)),delete t.url;let i,a=oe.get(t.cache)(t,async e=>{e._readableState.autoDestroy=!1,i&&(await i).emit(`cacheableResponse`,e),n(e)});t.url=e,a.once(`error`,r),a.once(`request`,async e=>{i=e,n(i)})})}async _makeRequest(){var e,t,n,r,i;let{options:o}=this,{headers:c}=o;for(let e in c)if(m.default.undefined(c[e]))delete c[e];else if(m.default.null_(c[e]))throw TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${e}\` header`);if(o.decompress&&m.default.undefined(c[`accept-encoding`])&&(c[`accept-encoding`]=V?`gzip, deflate, br`:`gzip, deflate`),o.cookieJar){let e=await o.cookieJar.getCookieString(o.url.toString());m.default.nonEmptyString(e)&&(o.headers.cookie=e)}for(let e of o.hooks.beforeRequest){let t=await e(o);if(!m.default.undefined(t)){o.request=()=>t;break}}o.body&&this[R]!==o.body&&(this[R]=o.body);let{agent:l,request:d,timeout:p,url:h}=o;if(o.dnsCache&&!(`lookup`in o)&&(o.lookup=o.dnsCache.lookup),h.hostname===`unix`){let e=/(?<socketPath>.+?):(?<path>.+)/.exec(`${h.pathname}${h.search}`);if(e?.groups){let{socketPath:t,path:n}=e.groups;Object.assign(o,{socketPath:t,path:n,host:``})}}let g=h.protocol===`https:`,_;_=o.http2?f.auto:g?s.request:a.request;let v=(e=o.request)??_,y=o.cache?this._createCacheableRequest:v;l&&!o.http2&&(o.agent=l[g?`https`:`http`]),o[k]=v,delete o.request,delete o.timeout;let b=o;if(b.shared=(t=o.cacheOptions)?.shared,b.cacheHeuristic=(n=o.cacheOptions)?.cacheHeuristic,b.immutableMinTimeToLive=(r=o.cacheOptions)?.immutableMinTimeToLive,b.ignoreCargoCult=(i=o.cacheOptions)?.ignoreCargoCult,o.dnsLookupIpVersion!==void 0)try{b.family=C.dnsLookupIpVersionToFamily(o.dnsLookupIpVersion)}catch{throw Error("Invalid `dnsLookupIpVersion` option value")}o.https&&(`rejectUnauthorized`in o.https&&(b.rejectUnauthorized=o.https.rejectUnauthorized),o.https.checkServerIdentity&&(b.checkServerIdentity=o.https.checkServerIdentity),o.https.certificateAuthority&&(b.ca=o.https.certificateAuthority),o.https.certificate&&(b.cert=o.https.certificate),o.https.key&&(b.key=o.https.key),o.https.passphrase&&(b.passphrase=o.https.passphrase),o.https.pfx&&(b.pfx=o.https.pfx));try{let e=await y(h,b);m.default.undefined(e)&&(e=_(h,b)),o.request=d,o.timeout=p,o.agent=l,o.https&&(`rejectUnauthorized`in o.https&&delete b.rejectUnauthorized,o.https.checkServerIdentity&&delete b.checkServerIdentity,o.https.certificateAuthority&&delete b.ca,o.https.certificate&&delete b.cert,o.https.key&&delete b.key,o.https.passphrase&&delete b.passphrase,o.https.pfx&&delete b.pfx),ae(e)?this._onRequest(e):this.writable?(this.once(`finish`,()=>{this._onResponse(e)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(e)}catch(e){throw e instanceof u.CacheError?new de(e,this):new W(e.message,e,this)}}async _error(e){try{for(let t of this.options.hooks.beforeError)e=await t(e)}catch(t){e=new W(t.message,t,this)}this.destroy(e)}_beforeError(e){if(this[L])return;let{options:t}=this,n=this.retryCount+1;this[L]=!0,e instanceof W||(e=new W(e.message,e,this));let r=e,{response:i}=r;(async()=>{if(i&&!i.body){i.setEncoding(this._readableState.encoding);try{i.rawBody=await S.default(i),i.body=i.rawBody.toString()}catch{}}if(this.listenerCount(`retry`)!==0){let a;try{let e;i&&`retry-after`in i.headers&&(e=Number(i.headers[`retry-after`]),Number.isNaN(e)?(e=Date.parse(i.headers[`retry-after`])-Date.now(),e<=0&&(e=1)):e*=1e3),a=await t.retry.calculateDelay({attemptCount:n,retryOptions:t.retry,error:r,retryAfter:e,computedValue:D.default({attemptCount:n,retryOptions:t.retry,error:r,retryAfter:e,computedValue:0})})}catch(e){this._error(new W(e.message,e,this));return}if(a){let t=async()=>{try{for(let e of this.options.hooks.beforeRetry)await e(this.options,r,n)}catch(t){this._error(new W(t.message,e,this));return}this.destroyed||(this.destroy(),this.emit(`retry`,n,e))};this[B]=setTimeout(t,a);return}}this._error(r)})()}_read(){this[re]=!0;let e=this[A];if(e&&!this[L]){e.readableLength&&(this[re]=!1);let t;for(;(t=e.read())!==null;){this[M]+=t.length,this[I]=!0;let e=this.downloadProgress;e.percent<1&&this.emit(`downloadProgress`,e),this.push(t)}}}_write(e,t,n){let r=()=>{this._writeRequest(e,t,n)};this.requestInitialized?r():this[z].push(r)}_writeRequest(e,t,n){this[k].destroyed||(this._progressCallbacks.push(()=>{this[N]+=Buffer.byteLength(e,t);let n=this.uploadProgress;n.percent<1&&this.emit(`uploadProgress`,n)}),this[k].write(e,t,e=>{!e&&this._progressCallbacks.length>0&&this._progressCallbacks.shift()(),n(e)}))}_final(e){let t=()=>{for(;this._progressCallbacks.length!==0;)this._progressCallbacks.shift()();if(!(k in this)){e();return}if(this[k].destroyed){e();return}this[k].end(t=>{t||(this[ee]=this[N],this.emit(`uploadProgress`,this.uploadProgress),this[k].emit(`upload-complete`)),e(t)})};this.requestInitialized?t():this[z].push(t)}_destroy(e,t){var n;this[L]=!0,clearTimeout(this[B]),k in this&&(this[F](),(n=this[A])?.complete||this[k].destroy()),e!==null&&!m.default.undefined(e)&&!(e instanceof W)&&(e=new W(e.message,e,this)),t(e)}get _isAboutToError(){return this[L]}get ip(){var e;return(e=this.socket)?.remoteAddress}get aborted(){var e,t,n;return((t=(e=this[k])?.destroyed)??this.destroyed)&&!(n=this[ie])?.complete}get socket(){var e,t;return(t=(e=this[k])?.socket)??void 0}get downloadProgress(){let e;return e=this[j]?this[M]/this[j]:this[j]===this[M]?1:0,{percent:e,transferred:this[M],total:this[j]}}get uploadProgress(){let e;return e=this[ee]?this[N]/this[ee]:this[ee]===this[N]?1:0,{percent:e,transferred:this[N],total:this[ee]}}get timings(){var e;return(e=this[k])?.timings}get isFromCache(){return this[ne]}pipe(e,t){if(this[I])throw Error(`Failed to pipe. The response has been emitted already.`);return e instanceof o.ServerResponse&&this[P].add(e),super.pipe(e,t)}unpipe(e){return e instanceof o.ServerResponse&&this[P].delete(e),super.unpipe(e),this}};exports.default=_e}),yb=o(exports=>{var t=Object.create?function(e,t,n,r){r===void 0&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]},n=function(e,n){for(var r in e)r!==`default`&&!Object.prototype.hasOwnProperty.call(n,r)&&t(n,e,r)};Object.defineProperty(exports,`__esModule`,{value:!0}),exports.CancelError=exports.ParseError=void 0;let r=vb();var i=class extends r.RequestError{constructor(e,t){let{options:n}=t.request;super(`${e.message} in "${n.url.toString()}"`,e,t.request),this.name=`ParseError`,this.code=this.code===`ERR_GOT_REQUEST_ERROR`?`ERR_BODY_PARSE_FAILURE`:this.code}};exports.ParseError=i;var a=class extends r.RequestError{constructor(e){super(`Promise was canceled`,{},e),this.name=`CancelError`,this.code=`ERR_CANCELED`}get isCanceled(){return!0}};exports.CancelError=a,n(vb(),exports)}),bb=o(exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let t=yb(),n=(e,n,r,i)=>{let{rawBody:a}=e;try{if(n===`text`)return a.toString(i);if(n===`json`)return a.length===0?``:r(a.toString());if(n===`buffer`)return a;throw new t.ParseError({message:`Unknown body type '${n}'`,name:`Error`},e)}catch(n){throw new t.ParseError(n,e)}};exports.default=n}),xb=o(exports=>{var t=Object.create?function(e,t,n,r){r===void 0&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]},n=function(e,n){for(var r in e)r!==`default`&&!Object.prototype.hasOwnProperty.call(n,r)&&t(n,e,r)};Object.defineProperty(exports,`__esModule`,{value:!0});let r=require(`events`),i=wy(),a=Ty(),o=yb(),s=bb(),c=vb(),l=ob(),u=fb(),d=mb(),f=[`request`,`response`,`redirect`,`uploadProgress`,`downloadProgress`];function p(e){let t,n,m=new r.EventEmitter,h=new a((r,a,g)=>{let _=v=>{let y=new c.default(void 0,e);y.retryCount=v,y._noPipe=!0,g(()=>y.destroy()),g.shouldReject=!1,g(()=>a(new o.CancelError(y))),t=y,y.once(`response`,async e=>{var t;if(e.retryCount=v,e.request.aborted)return;let i;try{i=await u.default(y),e.rawBody=i}catch{return}if(y._isAboutToError)return;let a=((t=e.headers[`content-encoding`])??``).toLowerCase(),l=[`gzip`,`deflate`,`br`].includes(a),{options:f}=y;if(l&&!f.decompress)e.body=i;else try{e.body=s.default(e,f.responseType,f.parseJson,f.encoding)}catch(t){if(e.body=i.toString(),d.isResponseOk(e)){y._beforeError(t);return}}try{for(let[t,n]of f.hooks.afterResponse.entries())e=await n(e,async e=>{let n=c.default.normalizeArguments(void 0,{...e,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},f);n.hooks.afterResponse=n.hooks.afterResponse.slice(0,t);for(let e of n.hooks.beforeRetry)await e(n);let r=p(n);return g(()=>{r.catch(()=>{}),r.cancel()}),r})}catch(e){y._beforeError(new o.RequestError(e.message,e,y));return}if(n=e,!d.isResponseOk(e)){y._beforeError(new o.HTTPError(e));return}y.destroy(),r(y.options.resolveBodyOnly?e.body:e)});let b=e=>{if(h.isCanceled)return;let{options:t}=y;if(e instanceof o.HTTPError&&!t.throwHttpErrors){let{response:t}=e;r(y.options.resolveBodyOnly?t.body:t);return}a(e)};y.once(`error`,b);let x=y.options.body;y.once(`retry`,(e,t)=>{var n,r;if(x===(n=t.request)?.options.body&&i.default.nodeStream((r=t.request)?.options.body)){b(t);return}_(e)}),l.default(y,m,f)};_(0)});h.on=(e,t)=>(m.on(e,t),h);let g=e=>{let t=(async()=>{await h;let{options:t}=n.request;return s.default(n,e,t.parseJson,t.encoding)})();return Object.defineProperties(t,Object.getOwnPropertyDescriptors(h)),t};return h.json=()=>{let{headers:e}=t.options;return!t.writableFinished&&e.accept===void 0&&(e.accept=`application/json`),g(`json`)},h.buffer=()=>g(`buffer`),h.text=()=>g(`text`),h}exports.default=p,n(yb(),exports)}),Sb=o(exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let t=yb();function n(e,...n){let r=(async()=>{if(e instanceof t.RequestError)try{for(let t of n)if(t)for(let n of t)e=await n(e)}catch(t){e=t}throw e})(),i=()=>r;return r.json=i,r.text=i,r.buffer=i,r.on=i,r}exports.default=n}),Cb=o(exports=>{Object.defineProperty(exports,`__esModule`,{value:!0});let t=wy();function n(e){for(let r of Object.values(e))(t.default.plainObject(r)||t.default.array(r))&&n(r);return Object.freeze(e)}exports.default=n}),wb=o(exports=>{Object.defineProperty(exports,`__esModule`,{value:!0})}),Tb=o(exports=>{var t=Object.create?function(e,t,n,r){r===void 0&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]},n=function(e,n){for(var r in e)r!==`default`&&!Object.prototype.hasOwnProperty.call(n,r)&&t(n,e,r)};Object.defineProperty(exports,`__esModule`,{value:!0}),exports.defaultHandler=void 0;let r=wy(),i=xb(),a=Sb(),o=vb(),s=Cb(),c={RequestError:i.RequestError,CacheError:i.CacheError,ReadError:i.ReadError,HTTPError:i.HTTPError,MaxRedirectsError:i.MaxRedirectsError,TimeoutError:i.TimeoutError,ParseError:i.ParseError,CancelError:i.CancelError,UnsupportedProtocolError:i.UnsupportedProtocolError,UploadError:i.UploadError},l=async e=>new Promise(t=>{setTimeout(t,e)}),{normalizeArguments:u}=o.default,d=(...e)=>{let t;for(let n of e)t=u(void 0,n,t);return t},f=e=>e.isStream?new o.default(void 0,e):i.default(e),p=e=>`defaults`in e&&`options`in e.defaults,m=[`get`,`post`,`put`,`patch`,`head`,`delete`];exports.defaultHandler=(e,t)=>t(e);let h=(e,t)=>{if(e)for(let n of e)n(t)},g=t=>{t._rawHandlers=t.handlers,t.handlers=t.handlers.map(e=>(t,n)=>{let r,i=e(t,e=>(r=n(e),r));if(i!==r&&!t.isStream&&r){let e=i,{then:t,catch:n,finally:a}=e;Object.setPrototypeOf(e,Object.getPrototypeOf(r)),Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)),e.then=t,e.catch=n,e.finally=a}return i});let n=(e,n={},s)=>{var c,l;let d=0,p=e=>t.handlers[d++](e,d===t.handlers.length?f:p);if(r.default.plainObject(e)){let t={...e,...n};o.setNonEnumerableProperties([e,n],t),n=t,e=void 0}try{let r;try{h(t.options.hooks.init,n),h((c=n.hooks)?.init,n)}catch(e){r=e}let a=u(e,n,s??t.options);if(a[o.kIsNormalizedAlready]=!0,r)throw new i.RequestError(r.message,r,a);return p(a)}catch(e){if(n.isStream)throw e;return a.default(e,t.options.hooks.beforeError,(l=n.hooks)?.beforeError)}};n.extend=(...n)=>{let r=[t.options],i=[...t._rawHandlers],a;for(let e of n)p(e)?(r.push(e.defaults.options),i.push(...e.defaults._rawHandlers),a=e.defaults.mutableDefaults):(r.push(e),`handlers`in e&&i.push(...e.handlers),a=e.mutableDefaults);return i=i.filter(t=>t!==exports.defaultHandler),i.length===0&&i.push(exports.defaultHandler),g({options:d(...r),handlers:i,mutableDefaults:!!a})};let _=async function*(e,i){let a=u(e,i,t.options);a.resolveBodyOnly=!1;let o=a.pagination;if(!r.default.object(o))throw TypeError("`options.pagination` must be implemented");let s=[],{countLimit:c}=o,d=0;for(;d<o.requestLimit;){d!==0&&await l(o.backoff);let e=await n(void 0,void 0,a),t=await o.transform(e),r=[];for(let e of t)if(o.filter(e,s,r)&&(!o.shouldContinue(e,s,r)||(yield e,o.stackAllItems&&s.push(e),r.push(e),--c<=0)))return;let i=o.paginate(e,s,r);if(i===!1)return;i===e.request.options?a=e.request.options:i!==void 0&&(a=u(void 0,i,a)),d++}};n.paginate=_,n.paginate.all=async(e,t)=>{let n=[];for await(let r of _(e,t))n.push(r);return n},n.paginate.each=_,n.stream=(e,t)=>n(e,{...t,isStream:!0});for(let e of m)n[e]=(t,r)=>n(t,{...r,method:e}),n.stream[e]=(t,r)=>n(t,{...r,method:e,isStream:!0});return Object.assign(n,c),Object.defineProperty(n,`defaults`,{value:t.mutableDefaults?t:s.default(t),writable:t.mutableDefaults,configurable:t.mutableDefaults,enumerable:!0}),n.mergeOptions=d,n};exports.default=g,n(wb(),exports)}),Eb=o((exports,t)=>{var n=Object.create?function(e,t,n,r){r===void 0&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]},r=function(e,t){for(var r in e)r!==`default`&&!Object.prototype.hasOwnProperty.call(t,r)&&n(t,e,r)};Object.defineProperty(exports,`__esModule`,{value:!0});let i=require(`url`),a=Tb(),o={options:{method:`GET`,retry:{limit:2,methods:[`GET`,`PUT`,`HEAD`,`DELETE`,`OPTIONS`,`TRACE`],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:[`ETIMEDOUT`,`ECONNRESET`,`EADDRINUSE`,`ECONNREFUSED`,`EPIPE`,`ENOTFOUND`,`ENETUNREACH`,`EAI_AGAIN`],maxRetryAfter:void 0,calculateDelay:({computedValue:e})=>e},timeout:{},headers:{"user-agent":`got (https://github.com/sindresorhus/got)`},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:void 0,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:`text`,resolveBodyOnly:!1,maxRedirects:10,prefixUrl:``,methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,https:void 0,pagination:{transform:e=>e.request.options.responseType===`json`?e.body:JSON.parse(e.body),paginate:e=>{if(!Reflect.has(e.headers,`link`))return!1;let t=e.headers.link.split(`,`),n;for(let e of t){let t=e.split(`;`);if(t[1].includes(`next`)){n=t[0].trimStart().trim(),n=n.slice(1,-1);break}}if(n){let e={url:new i.URL(n)};return e}return!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0,backoff:0,requestLimit:1e4,stackAllItems:!0},parseJson:e=>JSON.parse(e),stringifyJson:e=>JSON.stringify(e),cacheOptions:{}},handlers:[a.defaultHandler],mutableDefaults:!1},s=a.default(o);exports.default=s,t.exports=s,t.exports.default=s,t.exports.__esModule=!0,r(Tb(),exports),r(xb(),exports)}),Db=c(Eb());const Ob=20,kb=`/api/turborepo/v1/events`;var Ab=class{api;packageInfo;batchSize=Ob;timeout=250;sessionId=(0,p.randomUUID)();eventBatches=[];events=[];config;constructor({api:e,packageInfo:t,config:n,opts:r}){let i=new URL(kb,e);this.api=i.toString(),this.packageInfo=t,this.config=n,r?.timeout&&(this.timeout=r.timeout),r?.batchSize&&(this.batchSize=r.batchSize)}hasPendingEvents(){return this.events.length!==0}async waitForFlush(){await Promise.all(this.eventBatches)}flushEvents(){let e=this.events.splice(0,this.batchSize);this.config.isEnabled()&&this.eventBatches.push(Db.default.post(this.api,{timeout:this.timeout,json:e,headers:{"x-turbo-telemetry-id":this.config.id,"x-turbo-session-id":this.sessionId,"User-Agent":gy.buildUserAgent(this.packageInfo)}}))}track({key:e,value:t,parentId:n,isSensitive:r}){let i={id:(0,p.randomUUID)(),key:e,value:r?this.config.oneWayHash(t):t,package_name:this.packageInfo.name,package_version:this.packageInfo.version,parent_id:n};return Cy.isDebug()&&(Qs(),Js(`[telemetry event]`),Xs(JSON.stringify(i,null,2)),Qs()),this.config.isEnabled()&&(this.events.push({package:i}),this.events.length>=this.batchSize&&this.flushEvents()),i}async close(){for(;this.hasPendingEvents();)this.flushEvents();try{await this.waitForFlush()}catch{}}trackCliOption({option:e,value:t}){return this.track({key:`option:${e}`,value:t})}trackCliArgument({argument:e,value:t}){return this.track({key:`argument:${e}`,value:t})}trackCliCommand({command:e,value:t}){return this.track({key:`command:${e}`,value:t})}trackCommandStatus({command:e,status:t}){return this.trackCliCommand({command:e,value:t})}trackCommandWarning(e){return this.track({key:`warning`,value:e})}trackCommandError(e){return this.track({key:`error`,value:e})}};function jb(e){if(e===`default`)return`default`;try{let t=new URL(e);return t.hostname===`github.com`?`github_url`:`other_url`}catch{return`official`}}var Mb=class extends Ab{trackOptionExample(e){if(e)return this.trackCliOption({option:`example`,value:jb(e)})}trackOptionPackageManager(e){if(e)return this.trackCliOption({option:`package_manager`,value:e})}trackOptionSkipInstall(e){if(e)return this.trackCliOption({option:`skip_install`,value:e.toString()})}trackOptionSkipTransforms(e){if(e)return this.trackCliOption({option:`skip_transforms`,value:e.toString()})}trackOptionTurboVersion(e){if(e)return this.trackCliOption({option:`turbo_version`,value:e})}trackOptionExamplePath(e){if(e)return this.trackCliOption({option:`example_path`,value:`provided`})}trackArgumentDirectory(e){if(e)return this.trackCliArgument({argument:`project_directory`,value:`provided`})}trackArgumentPackageManager(e){if(e)return this.trackCliArgument({argument:`package_manager`,value:e})}},Nb=o((exports,t)=>{t.exports=[{name:`Agola CI`,constant:`AGOLA`,env:`AGOLA_GIT_REF`,pr:`AGOLA_PULL_REQUEST_ID`},{name:`Appcircle`,constant:`APPCIRCLE`,env:`AC_APPCIRCLE`},{name:`AppVeyor`,constant:`APPVEYOR`,env:`APPVEYOR`,pr:`APPVEYOR_PULL_REQUEST_NUMBER`},{name:`AWS CodeBuild`,constant:`CODEBUILD`,env:`CODEBUILD_BUILD_ARN`},{name:`Azure Pipelines`,constant:`AZURE_PIPELINES`,env:`TF_BUILD`,pr:{BUILD_REASON:`PullRequest`}},{name:`Bamboo`,constant:`BAMBOO`,env:`bamboo_planKey`},{name:`Bitbucket Pipelines`,constant:`BITBUCKET`,env:`BITBUCKET_COMMIT`,pr:`BITBUCKET_PR_ID`},{name:`Bitrise`,constant:`BITRISE`,env:`BITRISE_IO`,pr:`BITRISE_PULL_REQUEST`},{name:`Buddy`,constant:`BUDDY`,env:`BUDDY_WORKSPACE_ID`,pr:`BUDDY_EXECUTION_PULL_REQUEST_ID`},{name:`Buildkite`,constant:`BUILDKITE`,env:`BUILDKITE`,pr:{env:`BUILDKITE_PULL_REQUEST`,ne:`false`}},{name:`CircleCI`,constant:`CIRCLE`,env:`CIRCLECI`,pr:`CIRCLE_PULL_REQUEST`},{name:`Cirrus CI`,constant:`CIRRUS`,env:`CIRRUS_CI`,pr:`CIRRUS_PR`},{name:`Codefresh`,constant:`CODEFRESH`,env:`CF_BUILD_ID`,pr:{any:[`CF_PULL_REQUEST_NUMBER`,`CF_PULL_REQUEST_ID`]}},{name:`Codemagic`,constant:`CODEMAGIC`,env:`CM_BUILD_ID`,pr:`CM_PULL_REQUEST`},{name:`Codeship`,constant:`CODESHIP`,env:{CI_NAME:`codeship`}},{name:`Drone`,constant:`DRONE`,env:`DRONE`,pr:{DRONE_BUILD_EVENT:`pull_request`}},{name:`dsari`,constant:`DSARI`,env:`DSARI`},{name:`Earthly`,constant:`EARTHLY`,env:`EARTHLY_CI`},{name:`Expo Application Services`,constant:`EAS`,env:`EAS_BUILD`},{name:`Gerrit`,constant:`GERRIT`,env:`GERRIT_PROJECT`},{name:`Gitea Actions`,constant:`GITEA_ACTIONS`,env:`GITEA_ACTIONS`},{name:`GitHub Actions`,constant:`GITHUB_ACTIONS`,env:`GITHUB_ACTIONS`,pr:{GITHUB_EVENT_NAME:`pull_request`}},{name:`GitLab CI`,constant:`GITLAB`,env:`GITLAB_CI`,pr:`CI_MERGE_REQUEST_ID`},{name:`GoCD`,constant:`GOCD`,env:`GO_PIPELINE_LABEL`},{name:`Google Cloud Build`,constant:`GOOGLE_CLOUD_BUILD`,env:`BUILDER_OUTPUT`},{name:`Harness CI`,constant:`HARNESS`,env:`HARNESS_BUILD_ID`},{name:`Heroku`,constant:`HEROKU`,env:{env:`NODE`,includes:`/app/.heroku/node/bin/node`}},{name:`Hudson`,constant:`HUDSON`,env:`HUDSON_URL`},{name:`Jenkins`,constant:`JENKINS`,env:[`JENKINS_URL`,`BUILD_ID`],pr:{any:[`ghprbPullId`,`CHANGE_ID`]}},{name:`LayerCI`,constant:`LAYERCI`,env:`LAYERCI`,pr:`LAYERCI_PULL_REQUEST`},{name:`Magnum CI`,constant:`MAGNUM`,env:`MAGNUM`},{name:`Netlify CI`,constant:`NETLIFY`,env:`NETLIFY`,pr:{env:`PULL_REQUEST`,ne:`false`}},{name:`Nevercode`,constant:`NEVERCODE`,env:`NEVERCODE`,pr:{env:`NEVERCODE_PULL_REQUEST`,ne:`false`}},{name:`Prow`,constant:`PROW`,env:`PROW_JOB_ID`},{name:`ReleaseHub`,constant:`RELEASEHUB`,env:`RELEASE_BUILD_ID`},{name:`Render`,constant:`RENDER`,env:`RENDER`,pr:{IS_PULL_REQUEST:`true`}},{name:`Sail CI`,constant:`SAIL`,env:`SAILCI`,pr:`SAIL_PULL_REQUEST_NUMBER`},{name:`Screwdriver`,constant:`SCREWDRIVER`,env:`SCREWDRIVER`,pr:{env:`SD_PULL_REQUEST`,ne:`false`}},{name:`Semaphore`,constant:`SEMAPHORE`,env:`SEMAPHORE`,pr:`PULL_REQUEST_NUMBER`},{name:`Sourcehut`,constant:`SOURCEHUT`,env:{CI_NAME:`sourcehut`}},{name:`Strider CD`,constant:`STRIDER`,env:`STRIDER`},{name:`TaskCluster`,constant:`TASKCLUSTER`,env:[`TASK_ID`,`RUN_ID`]},{name:`TeamCity`,constant:`TEAMCITY`,env:`TEAMCITY_VERSION`},{name:`Travis CI`,constant:`TRAVIS`,env:`TRAVIS`,pr:{env:`TRAVIS_PULL_REQUEST`,ne:`false`}},{name:`Vela`,constant:`VELA`,env:`VELA`,pr:{VELA_PULL_REQUEST:`1`}},{name:`Vercel`,constant:`VERCEL`,env:{any:[`NOW_BUILDER`,`VERCEL`]},pr:`VERCEL_GIT_PULL_REQUEST_ID`},{name:`Visual Studio App Center`,constant:`APPCENTER`,env:`APPCENTER_BUILD_ID`},{name:`Woodpecker`,constant:`WOODPECKER`,env:{CI:`woodpecker`},pr:{CI_BUILD_EVENT:`pull_request`}},{name:`Xcode Cloud`,constant:`XCODE_CLOUD`,env:`CI_XCODE_PROJECT`,pr:`CI_PULL_REQUEST_NUMBER`},{name:`Xcode Server`,constant:`XCODE_SERVER`,env:`XCS`}]}),Pb=o(exports=>{let t=Nb(),n=process.env;Object.defineProperty(exports,`_vendors`,{value:t.map(function(e){return e.constant})}),exports.name=null,exports.isPR=null,t.forEach(function(t){let i=Array.isArray(t.env)?t.env:[t.env],a=i.every(function(e){return r(e)});if(exports[t.constant]=a,a)switch(exports.name=t.name,typeof t.pr){case`string`:exports.isPR=!!n[t.pr];break;case`object`:`env`in t.pr?exports.isPR=t.pr.env in n&&n[t.pr.env]!==t.pr.ne:`any`in t.pr?exports.isPR=t.pr.any.some(function(e){return!!n[e]}):exports.isPR=r(t.pr);break;default:exports.isPR=null}}),exports.isCI=!!(n.CI!==`false`&&(n.BUILD_ID||n.BUILD_NUMBER||n.CI||n.CI_APP_ID||n.CI_BUILD_ID||n.CI_BUILD_NUMBER||n.CI_NAME||n.CONTINUOUS_INTEGRATION||n.RUN_ID||exports.name));function r(e){return typeof e==`string`?!!n[e]:`env`in e?n[e.env]&&n[e.env].includes(e.includes):`any`in e?e.any.some(function(e){return!!n[e]}):Object.keys(e).every(function(t){return n[t]===e[t]})}}),Fb=c(Pb());const Ib=[`build`,`test`,`lint`,`typecheck`,`checktypes`,`check-types`,`type-check`,`check`];var Lb=class extends Ab{trackCI(){return this.track({key:`ci`,value:Fb.name??`unknown`})}trackArgumentWorkspace(e){if(e)return this.trackCliArgument({argument:`workspace`,value:`provided`})}trackOptionTask(e){if(e)return this.trackCliOption({option:`task`,value:Ib.includes(e)?e:`other`})}trackOptionFallback(e){if(e)return this.trackCliOption({option:`fallback`,value:e})}trackOptionDirectory(e){if(e)return this.trackCliOption({option:`directory`,value:`custom`})}trackOptionMaxBuffer(e){if(e!==void 0)return this.trackCliOption({option:`max_buffer`,value:e.toString()})}};const Rb={"create-turbo":Mb,"turbo-ignore":Lb},zb=`https://telemetry.vercel.com`;async function Bb({packageInfo:e,opts:t}){let n=Rb[e.name],r=await Cy.fromDefaultConfig();if(r){r.showAlert();let i=new n({api:zb,packageInfo:e,config:r,opts:t});return{telemetry:i}}return{telemetry:void 0}}var Vb=c(Wo());const Hb=`status`,Ub=[`enable`,`disable`,Hb];function Wb(e){let t=e.telemetry?.config.isEnabled();Qs(`Status: ${t?Vb.default.bold(Vb.default.green(`Enabled`)):Vb.default.bold(Vb.default.red(`Disabled`))}`),Qs(),Qs(t?`Turborepo telemetry is completely anonymous. Thank you for participating!`:`You have opted-out of Turborepo anonymous telemetry. No data will be collected from your machine.`),Qs(`Learn more: https://turborepo.dev/docs/telemetry`)}function Gb(e,t){if(!t.telemetry){$s(`Telemetry could not be initialized`);return}e===`enable`?(t.telemetry.config.enable(),Js(`Success!`)):e===`disable`&&(t.telemetry.config.disable(),Js(`Success!`)),Qs(),Wb(t)}function Kb(e){e.command(`telemetry`).description(`Manage telemetry settings`).addArgument(new R(`[action]`,`Action to perform`).choices(Ub).default(Hb)).action(Gb)}var qb=`turbo-ignore`,Jb=`2.10.2`,Yb=``,Xb=[],Zb=`https://turborepo.dev`,Qb={url:`https://github.com/vercel/turborepo/issues`},$b=`MIT`,ex=`Jared Palmer`,tx={type:`git`,url:`https://github.com/vercel/turborepo`,directory:`packages/turbo-ignore`},nx=`dist/cli.js`,rx=[`dist`],ix={build:`tsdown`,test:`jest`,"check-types":`tsc --noEmit`,"lint:prettier":`prettier -c . --cache --ignore-path=../../.prettierignore`},ax={json5:`2.2.3`},ox={"@jest/globals":`30.3.0`,"@turbo/telemetry":`workspace:*`,"@turbo/test-utils":`workspace:*`,"@turbo/tsconfig":`workspace:*`,"@turbo/types":`workspace:*`,"@turbo/utils":`workspace:*`,"@types/node":`18.17.4`,commander:`11.0.0`,jest:`30.3.0`,"ts-jest":`29.4.9`,tsdown:`0.12.0`,typescript:`5.5.4`},sx={name:qb,version:Jb,description:Yb,keywords:Xb,homepage:Zb,bugs:Qb,license:$b,author:ex,repository:tx,bin:nx,files:rx,scripts:ix,dependencies:ax,devDependencies:ox};const cx=`≫ `;function lx(...e){console.log(cx,...e)}function ux(...e){console.error(cx,...e)}function dx(...e){console.warn(cx,...e)}function fx(...e){console.log(...e)}function px(e){try{return(0,x.execFileSync)(`git`,[`cat-file`,`-t`,e],{stdio:`ignore`}),!0}catch{return!1}}function mx(e){return e.fallback?(lx(`Falling back to ref ${e.fallback}`),{ref:e.fallback,type:`customFallback`}):null}function hx(e){let{workspace:t}=e;return process.env.VERCEL===`1`?process.env.VERCEL_GIT_PREVIOUS_SHA?px(process.env.VERCEL_GIT_PREVIOUS_SHA)?(lx(`Found previous deployment ("${process.env.VERCEL_GIT_PREVIOUS_SHA}") for "${t}"${process.env.VERCEL_GIT_COMMIT_REF?` on branch "${process.env.VERCEL_GIT_COMMIT_REF}"`:``}`),{ref:process.env.VERCEL_GIT_PREVIOUS_SHA,type:`previousDeploy`}):(lx(`Previous deployment ("${process.env.VERCEL_GIT_PREVIOUS_SHA}") for "${t}"${process.env.VERCEL_GIT_COMMIT_REF?` on branch "${process.env.VERCEL_GIT_COMMIT_REF}"`:``} is unreachable.`),mx(e)):(lx(`No previous deployments found for "${t}"${process.env.VERCEL_GIT_COMMIT_REF?` on branch "${process.env.VERCEL_GIT_COMMIT_REF}"`:``}`),mx(e)):e.fallback?mx(e):{ref:`HEAD^`,type:`headRelative`}}function gx(e){return e.task?(lx(`Using "${e.task}" as the task from the arguments`),e.task):(lx(`Using "build" as the task as it was unspecified`),`build`)}function _x(e){let{directory:t=process.cwd(),workspace:n}=e;if(n)return lx(`Using "${n}" as workspace from arguments`),n;let r=m.default.join(t,`package.json`);try{let e=f.default.readFileSync(r,`utf8`),t=JSON.parse(e);return t.name?(lx(`Inferred "${t.name}" as workspace from "package.json"`),t.name):(ux(`"${r}" is missing the "name" field (required).`),null)}catch{return ux(`"${r}" could not be found. turbo-ignore inferencing failed`),null}}function vx(e,t){let{turboVersion:n}=e;if(n)return lx(`Using turbo version "${n}" from arguments`),n;let r=m.default.join(t,`package.json`);try{let e=f.default.readFileSync(r,`utf8`),t=JSON.parse(e),i=t.dependencies?.turbo,a=t.devDependencies?.turbo;if(n=i||a,n!==void 0){if(!n.startsWith(`catalog:`))return lx(`Inferred turbo version "${n}" from "package.json"`),n;dx("Cannot infer turbo version due to use of `catalog` protocol. Remove `turbo` from your PNPM catalog to ensure correct turbo version is used")}}catch{return ux(`"${r}" could not be read. turbo-ignore turbo version inference failed`),null}let i=m.default.join(t,`turbo.json`);try{let e=f.default.readFileSync(i,`utf8`),t=(0,g.parse)(e);return`tasks`in t?(lx(`Inferred turbo version ^2 based on "tasks" in "turbo.json"`),`^2`):`pipeline`in t?(lx(`Inferred turbo version ^1 based on "pipeline" in "turbo.json"`),`^1`):null}catch{return ux(`"${i}" could not be read. turbo-ignore turbo version inference failed`),null}}const yx={MISSING_LOCKFILE:{regex:[/reading (?:yarn.lock|package-lock.json|pnpm-lock.yaml):.*?no such file or directory/i],message:`turbo-ignore could not complete - no lockfile found, please commit one to your repository`},NO_PACKAGE_MANAGER:{regex:[/run failed: We did not detect an in-use package manager for your project/i,/run failed: We did not find a package manager specified in your root package.json/i],message:`turbo-ignore could not complete - no package manager detected, please commit a lockfile, or set "devEngines.packageManager" in your root "package.json"`},UNREACHABLE_PARENT:{regex:[/failed to resolve packages to run: commit HEAD\^ does not exist/i],message:`turbo-ignore could not complete - parent commit does not exist or is unreachable`},INVALID_COMPARISON:{regex:[/commit \S+ does not exist/i,/unknown revision/i,/invalid symmetric difference expression/i],message:`turbo-ignore could not complete - a ref or SHA is invalid. It could have been removed from the branch history via a force push, or this could be a shallow clone with insufficient history`}};function bx({err:e}){let t=Object.keys(yx).find(t=>{let{regex:n}=yx[t];return n.some(t=>t.test(e))});return t?{level:`warn`,message:yx[t].message,code:t}:{level:`error`,message:e,code:`UNKNOWN_ERROR`}}const xx=[`[skip ci]`,`[ci skip]`,`[no ci]`,`[skip vercel]`,`[vercel skip]`],Sx=[`[vercel deploy]`,`[vercel build]`];function Cx({workspace:e}){return[`[vercel skip ${e}]`]}function wx({workspace:e}){return[`[vercel deploy ${e}]`,`[vercel build ${e}]`]}const Tx=/\[vercel only .+\]/;function Ex({workspace:e}){return[`[vercel only ${e}]`]}function Dx(){return process.env.VERCEL===`1`&&process.env.VERCEL_GIT_COMMIT_MESSAGE?process.env.VERCEL_GIT_COMMIT_MESSAGE:(0,x.execSync)(`git show -s --format=%B`).toString()}function Ox({workspace:e}){let t=Dx(),n=e=>t.includes(e),r=Tx.exec(t)?.[0];if(r)return Ex({workspace:e}).some(e=>e===r)?{result:`deploy`,scope:`workspace`,reason:`Found commit message: ${r}`}:{result:`skip`,scope:`workspace`,reason:`Found commit message: ${r}`};let i=wx({workspace:e}).find(n),a=Cx({workspace:e}).find(n);if(i&&a)return{result:`conflict`,scope:`workspace`,reason:`Conflicting commit messages found: ${i} and ${a}`};if(i)return{result:`deploy`,scope:`workspace`,reason:`Found commit message: ${i}`};if(a)return{result:`skip`,scope:`workspace`,reason:`Found commit message: ${a}`};let o=Sx.find(n),s=xx.find(n);return o&&s?{result:`conflict`,scope:`global`,reason:`Conflicting commit messages found: ${o} and ${s}`}:o?{result:`deploy`,scope:`global`,reason:`Found commit message: ${o}`}:s?{result:`skip`,scope:`global`,reason:`Found commit message: ${s}`}:{result:`continue`,scope:`global`,reason:`No deploy or skip string found in commit message.`}}function kx(e){e.telemetry?.trackOptionTask(e.task),e.telemetry?.trackOptionFallback(e.fallback),e.telemetry?.trackOptionDirectory(e.directory),e.telemetry?.trackOptionMaxBuffer(e.maxBuffer)}function Ax(){return fx(`⏭ Ignoring the change`),process.exit(0)}function jx(){return fx(`✓ Proceeding with deployment`),process.exit(1)}function Mx(e,t){t.telemetry?.trackCommandStatus({command:`ignore`,status:`start`}),t.telemetry?.trackArgumentWorkspace(e!==void 0),kx(t);let n={workspace:e,...t};if(process.env.VERCEL===`1`?(dx(`\x1B[33m"turbo-ignore" is deprecated. Use Vercel's built-in project skipping instead.\x1B[39m`),dx(`\x1B[33mLearn more: https://vercel.com/docs/monorepos#skipping-unaffected-projects\x1B[39m
110
110
  `)):(dx(`\x1B[33m"turbo-ignore" is deprecated. Use "turbo query affected" instead.\x1B[39m`),dx(`\x1B[33mLearn more: https://turborepo.dev/docs/reference/query#migrating-from-turbo-ignore\x1B[39m
111
111
  `)),lx(`Using Turborepo to determine if this project is affected by the commit...
112
112
  `),t.directory){let e=m.default.resolve(t.directory);(0,f.existsSync)(e)?n.directory=e:(dx(`Directory "${t.directory}" does not exist, using current directory`),n.directory=process.cwd())}else n.directory=process.cwd();if(process.env.TURBO_FORCE===`true`)return lx("`TURBO_FORCE` detected"),jx();let r=bt(n.directory);if(!r)return ux(`Monorepo root not found. turbo-ignore inferencing failed`),jx();let i=_x(n);if(!i)return jx();let a=vx(n,r),o=gx(n),s=Ox({workspace:i});if(s.result===`skip`)return lx(s.reason),Ax();if(s.result===`deploy`)return lx(s.reason),jx();s.result===`conflict`&&lx(s.reason);let c=hx({workspace:i,fallback:n.fallback});if(!c)return jx();let l=a?`turbo@${a}`:`turbo`,u=`${i}...[${c.ref}]`,d=[`-y`,l,`run`,o,`--filter=${u}`,`--dry=json`],p=o.includes(`#`)?`"${o}"`:o,h=`npx -y ${l} run ${p} --filter="${u}" --dry=json`;lx(`Analyzing results of \`${h}\``);let g={cwd:r};t.maxBuffer&&(g.maxBuffer=t.maxBuffer),(0,x.execFile)(`npx`,d,g,(e,n)=>{if(e){let{level:n,code:r,message:i}=bx({err:e.message});return n===`warn`?(t.telemetry?.trackCommandWarning(i),dx(i)):ux(`${r}: ${e.message}`),jx()}try{let e=JSON.parse(n);if(e===null)return ux(`Failed to parse JSON output from \`${h}\`.`),jx();let{packages:t}=e;return t?t.length>0?(t.length===1?lx(`This commit affects "${i}"`):lx(`This commit affects "${i}" and ${t.length-1} ${t.length-1==1?`dependency`:`dependencies`} (${t.slice(1).join(`, `)})`),jx()):(lx(`This project and its dependencies are not affected`),Ax()):(lx(`Detected single package repo`),jx())}catch(e){return ux(`Failed to parse JSON output from \`${h}\`.`),ux(e),jx()}finally{t.telemetry?.trackCommandStatus({command:`ignore`,status:`end`})}})}let Nx;const Px=new re;Px.name(sx.name).description(`Only proceed with deployment if the workspace or any of its dependencies have changed`).hook(`preAction`,async(e,t)=>{let{telemetry:n}=await Bb({packageInfo:{name:`turbo-ignore`,version:sx.version}});t.addOption(new z(`--telemetry`).default(n).hideHelp()),Nx=n}).hook(`postAction`,async()=>{await Nx?.close()}).argument(`[workspace]`,`The workspace being deployed. If [workspace] is not provided, it will be inferred from the "name" field of the "package.json" located at the current working directory.`).addOption(new z(`-t, --task <name>`,`The task to execute`).default(`build`)).addOption(new z(`-f, --fallback <ref>`,`On Vercel, if no previously deployed SHA is available to compare against, fallback to comparing against the provided ref`)).addOption(new z(`-d, --directory <path>`,`The directory to run in (default: cwd)`)).addOption(new z(`--turbo-version <version>`,`Explicitly set which version of turbo to invoke`)).addOption(new z(`-b, --max-buffer <number>`,`maxBuffer for the child process in KB (default: 1024 KB)`).argParser(e=>Number.parseInt(e,10)*1024)).version(sx.version,`-v, --version`,`Output the current version`).helpOption(`-h, --help`,`Display help for command`).showHelpAfterError(!1).action(Mx),Kb(Px),Px.parse();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "turbo-ignore",
3
- "version": "2.10.1",
3
+ "version": "2.10.2",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "homepage": "https://turborepo.dev",
@@ -30,9 +30,9 @@
30
30
  "tsdown": "0.12.0",
31
31
  "typescript": "5.5.4",
32
32
  "@turbo/telemetry": "0.0.0",
33
- "@turbo/tsconfig": "0.0.0",
34
- "@turbo/types": "2.10.1",
35
33
  "@turbo/test-utils": "0.0.0",
34
+ "@turbo/tsconfig": "0.0.0",
35
+ "@turbo/types": "2.10.2",
36
36
  "@turbo/utils": "0.0.0"
37
37
  },
38
38
  "scripts": {