Skip to content

CLI crashes in Node 25 #125

@waziers

Description

@waziers

What happens?

When you install the CLI in node version 25 and then try to run it you get an exception.

To Reproduce

  • npm -g install @malloydata/cli
  • run it
malloy-cli --help
/opt/homebrew/lib/node_modules/@malloydata/cli/dist/cli.js:877
`);let{connect:l,buffered:p}=await u;if(e.emit("proxyConnect",l),this.emit("proxyConnect",l,e),l.statusCode===200){if(e.once("socket",_Gr),r.secureEndpoint){nk("Upgrading socket connection to TLS");let f=r.servername||r.host;return _ft.connect({...Eft(r,"host","path","port"),socket:s,servername:rk.isIP(f)?void 0:f})}return s}s.destroy();let d=new rk.Socket({writable:!1});return d.readable=!0,e.once("socket",f=>{nk("Replaying proxy buffer for failed request"),(0,OGr.default)(f.listenerCount("data")>0),f.push(p),f.push(null)}),d}};vie.protocols=["http","https"];ff.HttpsProxyAgent=vie;function _Gr(t){t.resume()}function Eft(t,...e){let r={},i;for(i in t)e.includes(i)||(r[i]=t[i]);return r}});var Lft=x(jw=>{"use strict";var Eie=jw&&jw.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(jw,"__esModule",{value:!0});jw.Gaxios=void 0;var EGr=Eie(Ma()),SGr=require("https"),RGr=Eie(X_()),CGr=Eie(require("querystring")),qGr=Eie(pM()),wft=require("url"),_ie=H5e(),wGr=bft(),TGr=Cft(),NGr=PGr()?window.fetch:RGr.default;function LGr(){return typeof window<"u"&&!!window}function PGr(){return LGr()&&!!window.fetch}function DGr(){return typeof Buffer<"u"}function qft(t,e){return!!Tft(t,e)}function Tft(t,e){e=e.toLowerCase();for(let r of Object.keys(t?.headers||{}))if(e===r.toLowerCase())return t.headers[r]}var G5e;function Nft(){var t,e,r,i;let s=((t=process==null?void 0:process.env)===null||t===void 0?void 0:t.HTTPS_PROXY)||((e=process==null?void 0:process.env)===null||e===void 0?void 0:e.https_proxy)||((r=process==null?void 0:process.env)===null||r===void 0?void 0:r.HTTP_PROXY)||((i=process==null?void 0:process.env)===null||i===void 0?void 0:i.http_proxy);return s&&(G5e=TGr.HttpsProxyAgent),s}Nft();function IGr(t){var e;let r=(e=process.env.NO_PROXY)!==null&&e!==void 0?e:process.env.no_proxy;if(!r)return!1;let i=r.split(","),s=new wft.URL(t);return!!i.find(o=>o.startsWith("*.")||o.startsWith(".")?(o=o.replace(/^\*\./,"."),s.hostname.endsWith(o)):o===s.origin||o===s.hostname)}function BGr(t){if(!IGr(t))return Nft()}var V5e=class{constructor(e){this.agentCache=new Map,this.defaults=e||{}}async request(e={}){return e=this.validateOpts(e),this._request(e)}async _defaultAdapter(e){let i=await(e.fetchImplementation||NGr)(e.url,e),s=await this.getResponseData(e,i);return this.translateResponse(e,i,s)}async _request(e={}){try{let r;if(e.adapter?r=await e.adapter(e,this._defaultAdapter.bind(this)):r=await this._defaultAdapter(e),!e.validateStatus(r.status)){if(e.responseType==="stream"){let i="";await new Promise(s=>{(r?.data).on("data",o=>{i+=o}),(r?.data).on("end",s)}),r.data=i}throw new _ie.GaxiosError(`Request failed with status code ${r.status}`,e,r)}return r}catch(r){let i=r instanceof _ie.GaxiosError?r:new _ie.GaxiosError(r.message,e,void 0,r),{shouldRetry:s,config:o}=await(0,wGr.getRetryConfig)(i);if(s&&o)return i.config.retryConfig.currentRetryAttempt=o.retryConfig.currentRetryAttempt,this._request(i.config);throw i}}async getResponseData(e,r){switch(e.responseType){case"stream":return r.body;case"json":{let i=await r.text();try{i=JSON.parse(i)}catch{}return i}case"arraybuffer":return r.arrayBuffer();case"blob":return r.blob();case"text":return r.text();default:return this.getResponseDataFromContentType(r)}}validateOpts(e){let r=(0,EGr.default)(!0,{},this.defaults,e);if(!r.url)throw new Error("URL is required.");let i=r.baseUrl||r.baseURL;if(i&&(r.url=i+r.url),r.paramsSerializer=r.paramsSerializer||this.paramsSerializer,r.params&&Object.keys(r.params).length>0){let o=r.paramsSerializer(r.params);o.startsWith("?")&&(o=o.slice(1));let a=r.url.includes("?")?"&":"?";r.url=r.url+a+o}if(typeof e.maxContentLength=="number"&&(r.size=e.maxContentLength),typeof e.maxRedirects=="number"&&(r.follow=e.maxRedirects),r.headers=r.headers||{},r.data){let o=typeof FormData>"u"?!1:r?.data instanceof FormData;qGr.default.readable(r.data)?r.body=r.data:DGr()&&Buffer.isBuffer(r.data)?(r.body=r.data,qft(r,"Content-Type")||(r.headers["Content-Type"]="application/json")):typeof r.data=="object"?o||(Tft(r,"content-type")==="application/x-www-form-urlencoded"?r.body=r.paramsSerializer(r.data):(qft(r,"Content-Type")||(r.headers["Content-Type"]="application/json"),r.body=JSON.stringify(r.data))):r.body=r.data}r.validateStatus=r.validateStatus||this.validateStatus,r.responseType=r.responseType||"unknown",!r.headers.Accept&&r.responseType==="json"&&(r.headers.Accept="application/json"),r.method=r.method||"GET";let s=BGr(r.url);if(s)if(this.agentCache.has(s))r.agent=this.agentCache.get(s);else{if(r.cert&&r.key){let o=new wft.URL(s);r.agent=new G5e({port:o.port,host:o.host,protocol:o.protocol,cert:r.cert,key:r.key})}else r.agent=new G5e(s);this.agentCache.set(s,r.agent)}else r.cert&&r.key&&(this.agentCache.has(r.key)?r.agent=this.agentCache.get(r.key):(r.agent=new SGr.Agent({cert:r.cert,key:r.key}),this.agentCache.set(r.key,r.agent)));return typeof r.errorRedactor!="function"&&r.errorRedactor!==!1&&(r.errorRedactor=_ie.defaultErrorRedactor),r}validateStatus(e){return e>=200&&e<300}paramsSerializer(e){return CGr.default.stringify(e)}translateResponse(e,r,i){let s={};return r.headers.forEach((o,a)=>{s[a]=o}),{config:e,data:i,headers:s,status:r.status,statusText:r.statusText,request:{responseURL:r.url}}}async getResponseDataFromContentType(e){let r=e.headers.get("Content-Type");if(r===null)return e.text();if(r=r.toLowerCase(),r.includes("application/json")){let i=await e.text();try{i=JSON.parse(i)}catch{}return i}else return r.includes("text/plain")||r.includes("text/html")?e.text():e.blob()}};jw.Gaxios=V5e});var Dft=x(bh=>{"use strict";Object.defineProperty(bh,"__esModule",{value:!0});bh.request=bh.instance=bh.Gaxios=bh.GaxiosError=void 0;var Pft=Lft();Object.defineProperty(bh,"Gaxios",{enumerable:!0,get:function(){return Pft.Gaxios}});var FGr=H5e();Object.defineProperty(bh,"GaxiosError",{enumerable:!0,get:function(){return FGr.GaxiosError}});bh.instance=new Pft.Gaxios;async function kGr(t){return bh.instance.request(t)}bh.request=kGr});var X5e=x((nEi,Ift)=>{var Sie=T2().Buffer,WGr=require("stream"),UGr=require("util");function Rie(t){if(this.buffer=null,this.writable=!0,this.readable=!0,!t)return this.buffer=Sie.alloc(0),this;if(typeof t.pipe=="function")return this.buffer=Sie.alloc(0),t.pipe(this),this;if(t.length||typeof t=="object")return this.buffer=t,this.writable=!1,process.nextTick(function(){this.emit("end",t),this.readable=!1,this.emit("close")}.bind(this)),this;throw new TypeError("Unexpected data type ("+typeof t+")")}UGr.inherits(Rie,WGr);Rie.prototype.write=function(e){this.buffer=Sie.concat([this.buffer,Sie.from(e)]),this.emit("data",e)};Rie.prototype.end=function(e){e&&this.write(e),this.emit("end",e),this.emit("close"),this.writable=!1,this.readable=!1};Ift.exports=Rie});var K5e=x((iEi,Bft)=>{"use strict";var ik=require("buffer").Buffer,Q5e=require("buffer").SlowBuffer;Bft.exports=Cie;function Cie(t,e){if(!ik.isBuffer(t)||!ik.isBuffer(e)||t.length!==e.length)return!1;for(var r=0,i=0;i<t.length;i++)r|=t[i]^e[i];return r===0}Cie.install=function(){ik.prototype.equal=Q5e.prototype.equal=function(e){return Cie(this,e)}};var jGr=ik.prototype.equal,HGr=Q5e.prototype.equal;Cie.restore=function(){ik.prototype.equal=jGr,Q5e.prototype.equal=HGr}});var Z5e=x((sEi,Vft)=>{var $Gr=K5e(),$w=T2().Buffer,eb=require("crypto"),kft=gie(),Fft=require("util"),GGr=`"%s" is not a valid algorithm.


TypeError: Cannot read properties of undefined (reading 'prototype')
    at /opt/homebrew/lib/node_modules/@malloydata/cli/dist/cli.js:877:7191
    at /opt/homebrew/lib/node_modules/@malloydata/cli/dist/cli.js:1:263
    at /opt/homebrew/lib/node_modules/@malloydata/cli/dist/cli.js:877:7310
    at /opt/homebrew/lib/node_modules/@malloydata/cli/dist/cli.js:1:263
    at /opt/homebrew/lib/node_modules/@malloydata/cli/dist/cli.js:879:3004
    at /opt/homebrew/lib/node_modules/@malloydata/cli/dist/cli.js:1:263
    at /opt/homebrew/lib/node_modules/@malloydata/cli/dist/cli.js:879:6031
    at /opt/homebrew/lib/node_modules/@malloydata/cli/dist/cli.js:1:263
    at /opt/homebrew/lib/node_modules/@malloydata/cli/dist/cli.js:879:6482
    at /opt/homebrew/lib/node_modules/@malloydata/cli/dist/cli.js:1:263

Node.js v25.2.1```

### OS:

macOs

### Malloy Client:

CLI tool

### Malloy Client Version:

N/A

### Database Connection:

N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions