@storybook/core-server 8.0.0-alpha.7 → 8.0.0-alpha.8
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.
- package/dist/index.js +6 -7
- package/dist/index.mjs +6 -7
- package/dist/presets/common-preset.d.ts +1 -1
- package/dist/presets/common-preset.js +2 -2
- package/package.json +12 -12
package/dist/index.js
CHANGED
|
@@ -47,22 +47,21 @@ ${error.message}`:execaMessage,message=[shortMessage,stderr,stdout].filter(Boole
|
|
|
47
47
|
`)):typeof readline=="function"&&(result=readline(),result!==null&&(result+=`
|
|
48
48
|
`));if(!result)return null;tty.input=intArrayFromString(result,!0)}return tty.input.shift()},put_char:function(tty,val){val===null||val===10?(out(UTF8ArrayToString(tty.output,0)),tty.output=[]):val!=0&&tty.output.push(val)},flush:function(tty){tty.output&&tty.output.length>0&&(out(UTF8ArrayToString(tty.output,0)),tty.output=[])}},default_tty1_ops:{put_char:function(tty,val){val===null||val===10?(err(UTF8ArrayToString(tty.output,0)),tty.output=[]):val!=0&&tty.output.push(val)},flush:function(tty){tty.output&&tty.output.length>0&&(err(UTF8ArrayToString(tty.output,0)),tty.output=[])}}};function mmapAlloc(size){for(var alignedSize=alignMemory(size,65536),ptr=_malloc(alignedSize);size<alignedSize;)HEAP8[ptr+size++]=0;return ptr}var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16895,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode))throw new FS.ErrnoError(63);MEMFS.ops_table||(MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}});var node=FS.createNode(parent,name,mode,dev);return FS.isDir(node.mode)?(node.node_ops=MEMFS.ops_table.dir.node,node.stream_ops=MEMFS.ops_table.dir.stream,node.contents={}):FS.isFile(node.mode)?(node.node_ops=MEMFS.ops_table.file.node,node.stream_ops=MEMFS.ops_table.file.stream,node.usedBytes=0,node.contents=null):FS.isLink(node.mode)?(node.node_ops=MEMFS.ops_table.link.node,node.stream_ops=MEMFS.ops_table.link.stream):FS.isChrdev(node.mode)&&(node.node_ops=MEMFS.ops_table.chrdev.node,node.stream_ops=MEMFS.ops_table.chrdev.stream),node.timestamp=Date.now(),parent&&(parent.contents[name]=node,parent.timestamp=node.timestamp),node},getFileDataAsTypedArray:function(node){return node.contents?node.contents.subarray?node.contents.subarray(0,node.usedBytes):new Uint8Array(node.contents):new Uint8Array(0)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(!(prevCapacity>=newCapacity)){var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)>>>0),prevCapacity!=0&&(newCapacity=Math.max(newCapacity,256));var oldContents=node.contents;node.contents=new Uint8Array(newCapacity),node.usedBytes>0&&node.contents.set(oldContents.subarray(0,node.usedBytes),0)}},resizeFileStorage:function(node,newSize){if(node.usedBytes!=newSize)if(newSize==0)node.contents=null,node.usedBytes=0;else{var oldContents=node.contents;node.contents=new Uint8Array(newSize),oldContents&&node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes))),node.usedBytes=newSize}},node_ops:{getattr:function(node){var attr={};return attr.dev=FS.isChrdev(node.mode)?node.id:1,attr.ino=node.id,attr.mode=node.mode,attr.nlink=1,attr.uid=0,attr.gid=0,attr.rdev=node.rdev,FS.isDir(node.mode)?attr.size=4096:FS.isFile(node.mode)?attr.size=node.usedBytes:FS.isLink(node.mode)?attr.size=node.link.length:attr.size=0,attr.atime=new Date(node.timestamp),attr.mtime=new Date(node.timestamp),attr.ctime=new Date(node.timestamp),attr.blksize=4096,attr.blocks=Math.ceil(attr.size/attr.blksize),attr},setattr:function(node,attr){attr.mode!==void 0&&(node.mode=attr.mode),attr.timestamp!==void 0&&(node.timestamp=attr.timestamp),attr.size!==void 0&&MEMFS.resizeFileStorage(node,attr.size)},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch{}if(new_node)for(var i2 in new_node.contents)throw new FS.ErrnoError(55)}delete old_node.parent.contents[old_node.name],old_node.parent.timestamp=Date.now(),old_node.name=new_name,new_dir.contents[new_name]=old_node,new_dir.timestamp=old_node.parent.timestamp,old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name],parent.timestamp=Date.now()},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i2 in node.contents)throw new FS.ErrnoError(55);delete parent.contents[name],parent.timestamp=Date.now()},readdir:function(node){var entries2=[".",".."];for(var key2 in node.contents)node.contents.hasOwnProperty(key2)&&entries2.push(key2);return entries2},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,41471,0);return node.link=oldpath,node},readlink:function(node){if(!FS.isLink(node.mode))throw new FS.ErrnoError(28);return node.link}},stream_ops:{read:function(stream2,buffer2,offset,length,position){var contents=stream2.node.contents;if(position>=stream2.node.usedBytes)return 0;var size=Math.min(stream2.node.usedBytes-position,length);if(size>8&&contents.subarray)buffer2.set(contents.subarray(position,position+size),offset);else for(var i2=0;i2<size;i2++)buffer2[offset+i2]=contents[position+i2];return size},write:function(stream2,buffer2,offset,length,position,canOwn){if(buffer2.buffer===HEAP8.buffer&&(canOwn=!1),!length)return 0;var node=stream2.node;if(node.timestamp=Date.now(),buffer2.subarray&&(!node.contents||node.contents.subarray)){if(canOwn)return node.contents=buffer2.subarray(offset,offset+length),node.usedBytes=length,length;if(node.usedBytes===0&&position===0)return node.contents=buffer2.slice(offset,offset+length),node.usedBytes=length,length;if(position+length<=node.usedBytes)return node.contents.set(buffer2.subarray(offset,offset+length),position),length}if(MEMFS.expandFileStorage(node,position+length),node.contents.subarray&&buffer2.subarray)node.contents.set(buffer2.subarray(offset,offset+length),position);else for(var i2=0;i2<length;i2++)node.contents[position+i2]=buffer2[offset+i2];return node.usedBytes=Math.max(node.usedBytes,position+length),length},llseek:function(stream2,offset,whence){var position=offset;if(whence===1?position+=stream2.position:whence===2&&FS.isFile(stream2.node.mode)&&(position+=stream2.node.usedBytes),position<0)throw new FS.ErrnoError(28);return position},allocate:function(stream2,offset,length){MEMFS.expandFileStorage(stream2.node,offset+length),stream2.node.usedBytes=Math.max(stream2.node.usedBytes,offset+length)},mmap:function(stream2,address,length,position,prot,flags){if(address!==0)throw new FS.ErrnoError(28);if(!FS.isFile(stream2.node.mode))throw new FS.ErrnoError(43);var ptr,allocated,contents=stream2.node.contents;if(!(flags&2)&&contents.buffer===buffer)allocated=!1,ptr=contents.byteOffset;else{if((position>0||position+length<contents.length)&&(contents.subarray?contents=contents.subarray(position,position+length):contents=Array.prototype.slice.call(contents,position,position+length)),allocated=!0,ptr=mmapAlloc(length),!ptr)throw new FS.ErrnoError(48);HEAP8.set(contents,ptr)}return{ptr,allocated}},msync:function(stream2,buffer2,offset,length,mmapFlags){if(!FS.isFile(stream2.node.mode))throw new FS.ErrnoError(43);if(mmapFlags&2)return 0;var bytesWritten=MEMFS.stream_ops.write(stream2,buffer2,0,length,offset,!1);return 0}}},ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},NODEFS={isWindows:!1,staticInit:function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags={fs:fs9.constants};flags.fs&&(flags=flags.fs),NODEFS.flagsForNodeMap={1024:flags.O_APPEND,64:flags.O_CREAT,128:flags.O_EXCL,256:flags.O_NOCTTY,0:flags.O_RDONLY,2:flags.O_RDWR,4096:flags.O_SYNC,512:flags.O_TRUNC,1:flags.O_WRONLY}},bufferFrom:function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)},convertNodeCode:function(e2){var code=e2.code;return ERRNO_CODES[code]},mount:function(mount){return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode))throw new FS.ErrnoError(28);var node=FS.createNode(parent,name,mode);return node.node_ops=NODEFS.node_ops,node.stream_ops=NODEFS.stream_ops,node},getMode:function(path12){var stat2;try{stat2=fs9.lstatSync(path12),NODEFS.isWindows&&(stat2.mode=stat2.mode|(stat2.mode&292)>>2)}catch(e2){throw e2.code?new FS.ErrnoError(NODEFS.convertNodeCode(e2)):e2}return stat2.mode},realPath:function(node){for(var parts=[];node.parent!==node;)parts.push(node.name),node=node.parent;return parts.push(node.mount.opts.root),parts.reverse(),PATH.join.apply(null,parts)},flagsForNode:function(flags){flags&=-2097153,flags&=-2049,flags&=-32769,flags&=-524289;var newFlags=0;for(var k in NODEFS.flagsForNodeMap)flags&k&&(newFlags|=NODEFS.flagsForNodeMap[k],flags^=k);if(flags)throw new FS.ErrnoError(28);return newFlags},node_ops:{getattr:function(node){var path12=NODEFS.realPath(node),stat2;try{stat2=fs9.lstatSync(path12)}catch(e2){throw e2.code?new FS.ErrnoError(NODEFS.convertNodeCode(e2)):e2}return NODEFS.isWindows&&!stat2.blksize&&(stat2.blksize=4096),NODEFS.isWindows&&!stat2.blocks&&(stat2.blocks=(stat2.size+stat2.blksize-1)/stat2.blksize|0),{dev:stat2.dev,ino:stat2.ino,mode:stat2.mode,nlink:stat2.nlink,uid:stat2.uid,gid:stat2.gid,rdev:stat2.rdev,size:stat2.size,atime:stat2.atime,mtime:stat2.mtime,ctime:stat2.ctime,blksize:stat2.blksize,blocks:stat2.blocks}},setattr:function(node,attr){var path12=NODEFS.realPath(node);try{if(attr.mode!==void 0&&(fs9.chmodSync(path12,attr.mode),node.mode=attr.mode),attr.timestamp!==void 0){var date=new Date(attr.timestamp);fs9.utimesSync(path12,date,date)}attr.size!==void 0&&fs9.truncateSync(path12,attr.size)}catch(e2){throw e2.code?new FS.ErrnoError(NODEFS.convertNodeCode(e2)):e2}},lookup:function(parent,name){var path12=PATH.join2(NODEFS.realPath(parent),name),mode=NODEFS.getMode(path12);return NODEFS.createNode(parent,name,mode)},mknod:function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev),path12=NODEFS.realPath(node);try{FS.isDir(node.mode)?fs9.mkdirSync(path12,node.mode):fs9.writeFileSync(path12,"",{mode:node.mode})}catch(e2){throw e2.code?new FS.ErrnoError(NODEFS.convertNodeCode(e2)):e2}return node},rename:function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode),newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs9.renameSync(oldPath,newPath)}catch(e2){throw e2.code?new FS.ErrnoError(NODEFS.convertNodeCode(e2)):e2}oldNode.name=newName},unlink:function(parent,name){var path12=PATH.join2(NODEFS.realPath(parent),name);try{fs9.unlinkSync(path12)}catch(e2){throw e2.code?new FS.ErrnoError(NODEFS.convertNodeCode(e2)):e2}},rmdir:function(parent,name){var path12=PATH.join2(NODEFS.realPath(parent),name);try{fs9.rmdirSync(path12)}catch(e2){throw e2.code?new FS.ErrnoError(NODEFS.convertNodeCode(e2)):e2}},readdir:function(node){var path12=NODEFS.realPath(node);try{return fs9.readdirSync(path12)}catch(e2){throw e2.code?new FS.ErrnoError(NODEFS.convertNodeCode(e2)):e2}},symlink:function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs9.symlinkSync(oldPath,newPath)}catch(e2){throw e2.code?new FS.ErrnoError(NODEFS.convertNodeCode(e2)):e2}},readlink:function(node){var path12=NODEFS.realPath(node);try{return path12=fs9.readlinkSync(path12),path12=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path12),path12}catch(e2){throw e2.code?new FS.ErrnoError(NODEFS.convertNodeCode(e2)):e2}}},stream_ops:{open:function(stream2){var path12=NODEFS.realPath(stream2.node);try{FS.isFile(stream2.node.mode)&&(stream2.nfd=fs9.openSync(path12,NODEFS.flagsForNode(stream2.flags)))}catch(e2){throw e2.code?new FS.ErrnoError(NODEFS.convertNodeCode(e2)):e2}},close:function(stream2){try{FS.isFile(stream2.node.mode)&&stream2.nfd&&fs9.closeSync(stream2.nfd)}catch(e2){throw e2.code?new FS.ErrnoError(NODEFS.convertNodeCode(e2)):e2}},read:function(stream2,buffer2,offset,length,position){if(length===0)return 0;try{return fs9.readSync(stream2.nfd,NODEFS.bufferFrom(buffer2.buffer),offset,length,position)}catch(e2){throw new FS.ErrnoError(NODEFS.convertNodeCode(e2))}},write:function(stream2,buffer2,offset,length,position){try{return fs9.writeSync(stream2.nfd,NODEFS.bufferFrom(buffer2.buffer),offset,length,position)}catch(e2){throw new FS.ErrnoError(NODEFS.convertNodeCode(e2))}},llseek:function(stream2,offset,whence){var position=offset;if(whence===1)position+=stream2.position;else if(whence===2&&FS.isFile(stream2.node.mode))try{var stat2=fs9.fstatSync(stream2.nfd);position+=stat2.size}catch(e2){throw new FS.ErrnoError(NODEFS.convertNodeCode(e2))}if(position<0)throw new FS.ErrnoError(28);return position},mmap:function(stream2,address,length,position,prot,flags){if(address!==0)throw new FS.ErrnoError(28);if(!FS.isFile(stream2.node.mode))throw new FS.ErrnoError(43);var ptr=mmapAlloc(length);return NODEFS.stream_ops.read(stream2,HEAP8,ptr,length,position),{ptr,allocated:!0}},msync:function(stream2,buffer2,offset,length,mmapFlags){if(!FS.isFile(stream2.node.mode))throw new FS.ErrnoError(43);if(mmapFlags&2)return 0;var bytesWritten=NODEFS.stream_ops.write(stream2,buffer2,0,length,offset,!1);return 0}}},NODERAWFS={lookupPath:function(path12){return{path:path12,node:{mode:NODEFS.getMode(path12)}}},createStandardStreams:function(){FS.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var i2=1;i2<3;i2++)FS.streams[i2]={fd:i2,nfd:i2,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(path12,mode){FS.isDir(path12)?fs9.mkdirSync(path12,mode):fs9.writeFileSync(path12,"",{mode})},mkdir:function(){fs9.mkdirSync.apply(void 0,arguments)},symlink:function(){fs9.symlinkSync.apply(void 0,arguments)},rename:function(){fs9.renameSync.apply(void 0,arguments)},rmdir:function(){fs9.rmdirSync.apply(void 0,arguments)},readdir:function(){fs9.readdirSync.apply(void 0,arguments)},unlink:function(){fs9.unlinkSync.apply(void 0,arguments)},readlink:function(){return fs9.readlinkSync.apply(void 0,arguments)},stat:function(){return fs9.statSync.apply(void 0,arguments)},lstat:function(){return fs9.lstatSync.apply(void 0,arguments)},chmod:function(){fs9.chmodSync.apply(void 0,arguments)},fchmod:function(){fs9.fchmodSync.apply(void 0,arguments)},chown:function(){fs9.chownSync.apply(void 0,arguments)},fchown:function(){fs9.fchownSync.apply(void 0,arguments)},truncate:function(){fs9.truncateSync.apply(void 0,arguments)},ftruncate:function(fd,len){if(len<0)throw new FS.ErrnoError(28);fs9.ftruncateSync.apply(void 0,arguments)},utime:function(){fs9.utimesSync.apply(void 0,arguments)},open:function(path12,flags,mode,suggestFD){typeof flags=="string"&&(flags=VFS.modeStringToFlags(flags));var nfd=fs9.openSync(path12,NODEFS.flagsForNode(flags),mode),fd=suggestFD??FS.nextfd(nfd),stream2={fd,nfd,position:0,path:path12,flags,seekable:!0};return FS.streams[fd]=stream2,stream2},close:function(stream2){stream2.stream_ops||fs9.closeSync(stream2.nfd),FS.closeStream(stream2.fd)},llseek:function(stream2,offset,whence){if(stream2.stream_ops)return VFS.llseek(stream2,offset,whence);var position=offset;if(whence===1)position+=stream2.position;else if(whence===2)position+=fs9.fstatSync(stream2.nfd).size;else if(whence!==0)throw new FS.ErrnoError(ERRNO_CODES.EINVAL);if(position<0)throw new FS.ErrnoError(ERRNO_CODES.EINVAL);return stream2.position=position,position},read:function(stream2,buffer2,offset,length,position){if(stream2.stream_ops)return VFS.read(stream2,buffer2,offset,length,position);var seeking=typeof position<"u";!seeking&&stream2.seekable&&(position=stream2.position);var bytesRead=fs9.readSync(stream2.nfd,NODEFS.bufferFrom(buffer2.buffer),offset,length,position);return seeking||(stream2.position+=bytesRead),bytesRead},write:function(stream2,buffer2,offset,length,position){if(stream2.stream_ops)return VFS.write(stream2,buffer2,offset,length,position);stream2.flags&+"1024"&&FS.llseek(stream2,0,+"2");var seeking=typeof position<"u";!seeking&&stream2.seekable&&(position=stream2.position);var bytesWritten=fs9.writeSync(stream2.nfd,NODEFS.bufferFrom(buffer2.buffer),offset,length,position);return seeking||(stream2.position+=bytesWritten),bytesWritten},allocate:function(){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)},mmap:function(stream2,address,length,position,prot,flags){if(stream2.stream_ops)return VFS.mmap(stream2,address,length,position,prot,flags);if(address!==0)throw new FS.ErrnoError(28);var ptr=mmapAlloc(length);return FS.read(stream2,HEAP8,ptr,length,position),{ptr,allocated:!0}},msync:function(stream2,buffer2,offset,length,mmapFlags){return stream2.stream_ops?VFS.msync(stream2,buffer2,offset,length,mmapFlags):(mmapFlags&2||FS.write(stream2,buffer2,0,length,offset),0)},munmap:function(){return 0},ioctl:function(){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}},FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(path12,opts){if(path12=PATH_FS.resolve(FS.cwd(),path12),opts=opts||{},!path12)return{path:"",node:null};var defaults2={follow_mount:!0,recurse_count:0};for(var key2 in defaults2)opts[key2]===void 0&&(opts[key2]=defaults2[key2]);if(opts.recurse_count>8)throw new FS.ErrnoError(32);for(var parts=PATH.normalizeArray(path12.split("/").filter(function(p){return!!p}),!1),current=FS.root,current_path="/",i2=0;i2<parts.length;i2++){var islast=i2===parts.length-1;if(islast&&opts.parent)break;if(current=FS.lookupNode(current,parts[i2]),current_path=PATH.join2(current_path,parts[i2]),FS.isMountpoint(current)&&(!islast||islast&&opts.follow_mount)&&(current=current.mounted.root),!islast||opts.follow)for(var count=0;FS.isLink(current.mode);){var link=FS.readlink(current_path);current_path=PATH_FS.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});if(current=lookup.node,count++>40)throw new FS.ErrnoError(32)}}return{path:current_path,node:current}},getPath:function(node){for(var path12;;){if(FS.isRoot(node)){var mount=node.mount.mountpoint;return path12?mount[mount.length-1]!=="/"?mount+"/"+path12:mount+path12:mount}path12=path12?node.name+"/"+path12:node.name,node=node.parent}},hashName:function(parentid,name){for(var hash=0,i2=0;i2<name.length;i2++)hash=(hash<<5)-hash+name.charCodeAt(i2)|0;return(parentid+hash>>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash],FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node)FS.nameTable[hash]=node.name_next;else for(var current=FS.nameTable[hash];current;){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}},lookupNode:function(parent,name){var errCode=FS.mayLookup(parent);if(errCode)throw new FS.ErrnoError(errCode,parent);for(var hash=FS.hashName(parent.id,name),node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name)return node}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);return FS.hashAddNode(node),node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags>"u")throw new Error("Unknown file open mode: "+str);return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];return flag&512&&(perms+="w"),perms},nodePermissions:function(node,perms){return FS.ignorePermissions?0:perms.includes("r")&&!(node.mode&292)||perms.includes("w")&&!(node.mode&146)||perms.includes("x")&&!(node.mode&73)?2:0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");return errCode||(dir.node_ops.lookup?0:2)},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch{}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e2){return e2.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode)return errCode;if(isdir){if(!FS.isDir(node.mode))return 54;if(FS.isRoot(node)||FS.getPath(node)===FS.cwd())return 10}else if(FS.isDir(node.mode))return 31;return 0},mayOpen:function(node,flags){return node?FS.isLink(node.mode)?32:FS.isDir(node.mode)&&(FS.flagsToPermissionString(flags)!=="r"||flags&512)?31:FS.nodePermissions(node,FS.flagsToPermissionString(flags)):44},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0,fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++)if(!FS.streams[fd])return fd;throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream2,fd_start,fd_end){FS.FSStream||(FS.FSStream=function(){},FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}});var newStream=new FS.FSStream;for(var p in stream2)newStream[p]=stream2[p];stream2=newStream;var fd=FS.nextfd(fd_start,fd_end);return stream2.fd=fd,FS.streams[fd]=stream2,stream2},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream2){var device=FS.getDevice(stream2.node.rdev);stream2.stream_ops=device.stream_ops,stream2.stream_ops.open&&stream2.stream_ops.open(stream2)},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){for(var mounts=[],check=[mount];check.length;){var m2=check.pop();mounts.push(m2),check.push.apply(check,m2.mounts)}return mounts},syncfs:function(populate,callback){typeof populate=="function"&&(callback=populate,populate=!1),FS.syncFSRequests++,FS.syncFSRequests>1&&err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var mounts=FS.getMounts(FS.root.mount),completed=0;function doCallback(errCode){return FS.syncFSRequests--,callback(errCode)}function done(errCode){if(errCode)return done.errored?void 0:(done.errored=!0,doCallback(errCode));++completed>=mounts.length&&doCallback(null)}mounts.forEach(function(mount){if(!mount.type.syncfs)return done(null);mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/",pseudo=!mountpoint,node;if(root&&FS.root)throw new FS.ErrnoError(10);if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:!1});if(mountpoint=lookup.path,node=lookup.node,FS.isMountpoint(node))throw new FS.ErrnoError(10);if(!FS.isDir(node.mode))throw new FS.ErrnoError(54)}var mount={type,opts,mountpoint,mounts:[]},mountRoot=type.mount(mount);return mountRoot.mount=mount,mount.root=mountRoot,root?FS.root=mountRoot:node&&(node.mounted=mount,node.mount&&node.mount.mounts.push(mount)),mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:!1});if(!FS.isMountpoint(lookup.node))throw new FS.ErrnoError(28);var node=lookup.node,mount=node.mounted,mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){for(var current=FS.nameTable[hash];current;){var next=current.name_next;mounts.includes(current.mount)&&FS.destroyNode(current),current=next}}),node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path12,mode,dev){var lookup=FS.lookupPath(path12,{parent:!0}),parent=lookup.node,name=PATH.basename(path12);if(!name||name==="."||name==="..")throw new FS.ErrnoError(28);var errCode=FS.mayCreate(parent,name);if(errCode)throw new FS.ErrnoError(errCode);if(!parent.node_ops.mknod)throw new FS.ErrnoError(63);return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path12,mode){return mode=mode!==void 0?mode:438,mode&=4095,mode|=32768,FS.mknod(path12,mode,0)},mkdir:function(path12,mode){return mode=mode!==void 0?mode:511,mode&=1023,mode|=16384,FS.mknod(path12,mode,0)},mkdirTree:function(path12,mode){for(var dirs=path12.split("/"),d="",i2=0;i2<dirs.length;++i2)if(dirs[i2]){d+="/"+dirs[i2];try{FS.mkdir(d,mode)}catch(e2){if(e2.errno!=20)throw e2}}},mkdev:function(path12,mode,dev){return typeof dev>"u"&&(dev=mode,mode=438),mode|=8192,FS.mknod(path12,mode,dev)},symlink:function(oldpath,newpath){if(!PATH_FS.resolve(oldpath))throw new FS.ErrnoError(44);var lookup=FS.lookupPath(newpath,{parent:!0}),parent=lookup.node;if(!parent)throw new FS.ErrnoError(44);var newname=PATH.basename(newpath),errCode=FS.mayCreate(parent,newname);if(errCode)throw new FS.ErrnoError(errCode);if(!parent.node_ops.symlink)throw new FS.ErrnoError(63);return parent.node_ops.symlink(parent,newname,oldpath)},rename:function(old_path,new_path){var old_dirname=PATH.dirname(old_path),new_dirname=PATH.dirname(new_path),old_name=PATH.basename(old_path),new_name=PATH.basename(new_path),lookup,old_dir,new_dir;if(lookup=FS.lookupPath(old_path,{parent:!0}),old_dir=lookup.node,lookup=FS.lookupPath(new_path,{parent:!0}),new_dir=lookup.node,!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount)throw new FS.ErrnoError(75);var old_node=FS.lookupNode(old_dir,old_name),relative4=PATH_FS.relative(old_path,new_dirname);if(relative4.charAt(0)!==".")throw new FS.ErrnoError(28);if(relative4=PATH_FS.relative(new_path,old_dirname),relative4.charAt(0)!==".")throw new FS.ErrnoError(55);var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch{}if(old_node!==new_node){var isdir=FS.isDir(old_node.mode),errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode)throw new FS.ErrnoError(errCode);if(errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name),errCode)throw new FS.ErrnoError(errCode);if(!old_dir.node_ops.rename)throw new FS.ErrnoError(63);if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node))throw new FS.ErrnoError(10);if(new_dir!==old_dir&&(errCode=FS.nodePermissions(old_dir,"w"),errCode))throw new FS.ErrnoError(errCode);try{FS.trackingDelegate.willMovePath&&FS.trackingDelegate.willMovePath(old_path,new_path)}catch(e2){err("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e2.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e2){throw e2}finally{FS.hashAddNode(old_node)}try{FS.trackingDelegate.onMovePath&&FS.trackingDelegate.onMovePath(old_path,new_path)}catch(e2){err("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e2.message)}}},rmdir:function(path12){var lookup=FS.lookupPath(path12,{parent:!0}),parent=lookup.node,name=PATH.basename(path12),node=FS.lookupNode(parent,name),errCode=FS.mayDelete(parent,name,!0);if(errCode)throw new FS.ErrnoError(errCode);if(!parent.node_ops.rmdir)throw new FS.ErrnoError(63);if(FS.isMountpoint(node))throw new FS.ErrnoError(10);try{FS.trackingDelegate.willDeletePath&&FS.trackingDelegate.willDeletePath(path12)}catch(e2){err("FS.trackingDelegate['willDeletePath']('"+path12+"') threw an exception: "+e2.message)}parent.node_ops.rmdir(parent,name),FS.destroyNode(node);try{FS.trackingDelegate.onDeletePath&&FS.trackingDelegate.onDeletePath(path12)}catch(e2){err("FS.trackingDelegate['onDeletePath']('"+path12+"') threw an exception: "+e2.message)}},readdir:function(path12){var lookup=FS.lookupPath(path12,{follow:!0}),node=lookup.node;if(!node.node_ops.readdir)throw new FS.ErrnoError(54);return node.node_ops.readdir(node)},unlink:function(path12){var lookup=FS.lookupPath(path12,{parent:!0}),parent=lookup.node,name=PATH.basename(path12),node=FS.lookupNode(parent,name),errCode=FS.mayDelete(parent,name,!1);if(errCode)throw new FS.ErrnoError(errCode);if(!parent.node_ops.unlink)throw new FS.ErrnoError(63);if(FS.isMountpoint(node))throw new FS.ErrnoError(10);try{FS.trackingDelegate.willDeletePath&&FS.trackingDelegate.willDeletePath(path12)}catch(e2){err("FS.trackingDelegate['willDeletePath']('"+path12+"') threw an exception: "+e2.message)}parent.node_ops.unlink(parent,name),FS.destroyNode(node);try{FS.trackingDelegate.onDeletePath&&FS.trackingDelegate.onDeletePath(path12)}catch(e2){err("FS.trackingDelegate['onDeletePath']('"+path12+"') threw an exception: "+e2.message)}},readlink:function(path12){var lookup=FS.lookupPath(path12),link=lookup.node;if(!link)throw new FS.ErrnoError(44);if(!link.node_ops.readlink)throw new FS.ErrnoError(28);return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:function(path12,dontFollow){var lookup=FS.lookupPath(path12,{follow:!dontFollow}),node=lookup.node;if(!node)throw new FS.ErrnoError(44);if(!node.node_ops.getattr)throw new FS.ErrnoError(63);return node.node_ops.getattr(node)},lstat:function(path12){return FS.stat(path12,!0)},chmod:function(path12,mode,dontFollow){var node;if(typeof path12=="string"){var lookup=FS.lookupPath(path12,{follow:!dontFollow});node=lookup.node}else node=path12;if(!node.node_ops.setattr)throw new FS.ErrnoError(63);node.node_ops.setattr(node,{mode:mode&4095|node.mode&-4096,timestamp:Date.now()})},lchmod:function(path12,mode){FS.chmod(path12,mode,!0)},fchmod:function(fd,mode){var stream2=FS.getStream(fd);if(!stream2)throw new FS.ErrnoError(8);FS.chmod(stream2.node,mode)},chown:function(path12,uid,gid,dontFollow){var node;if(typeof path12=="string"){var lookup=FS.lookupPath(path12,{follow:!dontFollow});node=lookup.node}else node=path12;if(!node.node_ops.setattr)throw new FS.ErrnoError(63);node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:function(path12,uid,gid){FS.chown(path12,uid,gid,!0)},fchown:function(fd,uid,gid){var stream2=FS.getStream(fd);if(!stream2)throw new FS.ErrnoError(8);FS.chown(stream2.node,uid,gid)},truncate:function(path12,len){if(len<0)throw new FS.ErrnoError(28);var node;if(typeof path12=="string"){var lookup=FS.lookupPath(path12,{follow:!0});node=lookup.node}else node=path12;if(!node.node_ops.setattr)throw new FS.ErrnoError(63);if(FS.isDir(node.mode))throw new FS.ErrnoError(31);if(!FS.isFile(node.mode))throw new FS.ErrnoError(28);var errCode=FS.nodePermissions(node,"w");if(errCode)throw new FS.ErrnoError(errCode);node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:function(fd,len){var stream2=FS.getStream(fd);if(!stream2)throw new FS.ErrnoError(8);if(!(stream2.flags&2097155))throw new FS.ErrnoError(28);FS.truncate(stream2.node,len)},utime:function(path12,atime,mtime){var lookup=FS.lookupPath(path12,{follow:!0}),node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:function(path12,flags,mode,fd_start,fd_end){if(path12==="")throw new FS.ErrnoError(44);flags=typeof flags=="string"?FS.modeStringToFlags(flags):flags,mode=typeof mode>"u"?438:mode,flags&64?mode=mode&4095|32768:mode=0;var node;if(typeof path12=="object")node=path12;else{path12=PATH.normalize(path12);try{var lookup=FS.lookupPath(path12,{follow:!(flags&131072)});node=lookup.node}catch{}}var created=!1;if(flags&64)if(node){if(flags&128)throw new FS.ErrnoError(20)}else node=FS.mknod(path12,mode,0),created=!0;if(!node)throw new FS.ErrnoError(44);if(FS.isChrdev(node.mode)&&(flags&=-513),flags&65536&&!FS.isDir(node.mode))throw new FS.ErrnoError(54);if(!created){var errCode=FS.mayOpen(node,flags);if(errCode)throw new FS.ErrnoError(errCode)}flags&512&&FS.truncate(node,0),flags&=-131713;var stream2=FS.createStream({node,path:FS.getPath(node),flags,seekable:!0,position:0,stream_ops:node.stream_ops,ungotten:[],error:!1},fd_start,fd_end);stream2.stream_ops.open&&stream2.stream_ops.open(stream2),Module.logReadFiles&&!(flags&1)&&(FS.readFiles||(FS.readFiles={}),path12 in FS.readFiles||(FS.readFiles[path12]=1,err("FS.trackingDelegate error on read file: "+path12)));try{if(FS.trackingDelegate.onOpenFile){var trackingFlags=0;(flags&2097155)!==1&&(trackingFlags|=FS.tracking.openFlags.READ),flags&2097155&&(trackingFlags|=FS.tracking.openFlags.WRITE),FS.trackingDelegate.onOpenFile(path12,trackingFlags)}}catch(e2){err("FS.trackingDelegate['onOpenFile']('"+path12+"', flags) threw an exception: "+e2.message)}return stream2},close:function(stream2){if(FS.isClosed(stream2))throw new FS.ErrnoError(8);stream2.getdents&&(stream2.getdents=null);try{stream2.stream_ops.close&&stream2.stream_ops.close(stream2)}catch(e2){throw e2}finally{FS.closeStream(stream2.fd)}stream2.fd=null},isClosed:function(stream2){return stream2.fd===null},llseek:function(stream2,offset,whence){if(FS.isClosed(stream2))throw new FS.ErrnoError(8);if(!stream2.seekable||!stream2.stream_ops.llseek)throw new FS.ErrnoError(70);if(whence!=0&&whence!=1&&whence!=2)throw new FS.ErrnoError(28);return stream2.position=stream2.stream_ops.llseek(stream2,offset,whence),stream2.ungotten=[],stream2.position},read:function(stream2,buffer2,offset,length,position){if(length<0||position<0)throw new FS.ErrnoError(28);if(FS.isClosed(stream2))throw new FS.ErrnoError(8);if((stream2.flags&2097155)===1)throw new FS.ErrnoError(8);if(FS.isDir(stream2.node.mode))throw new FS.ErrnoError(31);if(!stream2.stream_ops.read)throw new FS.ErrnoError(28);var seeking=typeof position<"u";if(!seeking)position=stream2.position;else if(!stream2.seekable)throw new FS.ErrnoError(70);var bytesRead=stream2.stream_ops.read(stream2,buffer2,offset,length,position);return seeking||(stream2.position+=bytesRead),bytesRead},write:function(stream2,buffer2,offset,length,position,canOwn){if(length<0||position<0)throw new FS.ErrnoError(28);if(FS.isClosed(stream2))throw new FS.ErrnoError(8);if(!(stream2.flags&2097155))throw new FS.ErrnoError(8);if(FS.isDir(stream2.node.mode))throw new FS.ErrnoError(31);if(!stream2.stream_ops.write)throw new FS.ErrnoError(28);stream2.seekable&&stream2.flags&1024&&FS.llseek(stream2,0,2);var seeking=typeof position<"u";if(!seeking)position=stream2.position;else if(!stream2.seekable)throw new FS.ErrnoError(70);var bytesWritten=stream2.stream_ops.write(stream2,buffer2,offset,length,position,canOwn);seeking||(stream2.position+=bytesWritten);try{stream2.path&&FS.trackingDelegate.onWriteToFile&&FS.trackingDelegate.onWriteToFile(stream2.path)}catch(e2){err("FS.trackingDelegate['onWriteToFile']('"+stream2.path+"') threw an exception: "+e2.message)}return bytesWritten},allocate:function(stream2,offset,length){if(FS.isClosed(stream2))throw new FS.ErrnoError(8);if(offset<0||length<=0)throw new FS.ErrnoError(28);if(!(stream2.flags&2097155))throw new FS.ErrnoError(8);if(!FS.isFile(stream2.node.mode)&&!FS.isDir(stream2.node.mode))throw new FS.ErrnoError(43);if(!stream2.stream_ops.allocate)throw new FS.ErrnoError(138);stream2.stream_ops.allocate(stream2,offset,length)},mmap:function(stream2,address,length,position,prot,flags){if(prot&2&&!(flags&2)&&(stream2.flags&2097155)!==2)throw new FS.ErrnoError(2);if((stream2.flags&2097155)===1)throw new FS.ErrnoError(2);if(!stream2.stream_ops.mmap)throw new FS.ErrnoError(43);return stream2.stream_ops.mmap(stream2,address,length,position,prot,flags)},msync:function(stream2,buffer2,offset,length,mmapFlags){return!stream2||!stream2.stream_ops.msync?0:stream2.stream_ops.msync(stream2,buffer2,offset,length,mmapFlags)},munmap:function(stream2){return 0},ioctl:function(stream2,cmd,arg){if(!stream2.stream_ops.ioctl)throw new FS.ErrnoError(59);return stream2.stream_ops.ioctl(stream2,cmd,arg)},readFile:function(path12,opts){if(opts=opts||{},opts.flags=opts.flags||0,opts.encoding=opts.encoding||"binary",opts.encoding!=="utf8"&&opts.encoding!=="binary")throw new Error('Invalid encoding type "'+opts.encoding+'"');var ret,stream2=FS.open(path12,opts.flags),stat2=FS.stat(path12),length=stat2.size,buf=new Uint8Array(length);return FS.read(stream2,buf,0,length,0),opts.encoding==="utf8"?ret=UTF8ArrayToString(buf,0):opts.encoding==="binary"&&(ret=buf),FS.close(stream2),ret},writeFile:function(path12,data,opts){opts=opts||{},opts.flags=opts.flags||577;var stream2=FS.open(path12,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1),actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream2,buf,0,actualNumBytes,void 0,opts.canOwn)}else if(ArrayBuffer.isView(data))FS.write(stream2,data,0,data.byteLength,void 0,opts.canOwn);else throw new Error("Unsupported data type");FS.close(stream2)},cwd:function(){return FS.currentPath},chdir:function(path12){var lookup=FS.lookupPath(path12,{follow:!0});if(lookup.node===null)throw new FS.ErrnoError(44);if(!FS.isDir(lookup.node.mode))throw new FS.ErrnoError(54);var errCode=FS.nodePermissions(lookup.node,"x");if(errCode)throw new FS.ErrnoError(errCode);FS.currentPath=lookup.path},createDefaultDirectories:function(){FS.mkdir("/tmp"),FS.mkdir("/home"),FS.mkdir("/home/web_user")},createDefaultDevices:function(){FS.mkdir("/dev"),FS.registerDevice(FS.makedev(1,3),{read:function(){return 0},write:function(stream2,buffer2,offset,length,pos){return length}}),FS.mkdev("/dev/null",FS.makedev(1,3)),TTY.register(FS.makedev(5,0),TTY.default_tty_ops),TTY.register(FS.makedev(6,0),TTY.default_tty1_ops),FS.mkdev("/dev/tty",FS.makedev(5,0)),FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device=getRandomDevice();FS.createDevice("/dev","random",random_device),FS.createDevice("/dev","urandom",random_device),FS.mkdir("/dev/shm"),FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:function(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd"),FS.mount({mount:function(){var node=FS.createNode(proc_self,"fd",16895,73);return node.node_ops={lookup:function(parent,name){var fd=+name,stream2=FS.getStream(fd);if(!stream2)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:function(){return stream2.path}}};return ret.parent=ret,ret}},node}},{},"/proc/self/fd")},createStandardStreams:function(){Module.stdin?FS.createDevice("/dev","stdin",Module.stdin):FS.symlink("/dev/tty","/dev/stdin"),Module.stdout?FS.createDevice("/dev","stdout",null,Module.stdout):FS.symlink("/dev/tty","/dev/stdout"),Module.stderr?FS.createDevice("/dev","stderr",null,Module.stderr):FS.symlink("/dev/tty1","/dev/stderr");var stdin=FS.open("/dev/stdin",0),stdout=FS.open("/dev/stdout",1),stderr=FS.open("/dev/stderr",1)},ensureErrnoError:function(){FS.ErrnoError||(FS.ErrnoError=function(errno,node){this.node=node,this.setErrno=function(errno2){this.errno=errno2},this.setErrno(errno),this.message="FS error"},FS.ErrnoError.prototype=new Error,FS.ErrnoError.prototype.constructor=FS.ErrnoError,[44].forEach(function(code){FS.genericErrors[code]=new FS.ErrnoError(code),FS.genericErrors[code].stack="<generic error, no stack>"}))},staticInit:function(){FS.ensureErrnoError(),FS.nameTable=new Array(4096),FS.mount(MEMFS,{},"/"),FS.createDefaultDirectories(),FS.createDefaultDevices(),FS.createSpecialDirectories(),FS.filesystems={MEMFS,NODEFS}},init:function(input,output,error){FS.init.initialized=!0,FS.ensureErrnoError(),Module.stdin=input||Module.stdin,Module.stdout=output||Module.stdout,Module.stderr=error||Module.stderr,FS.createStandardStreams()},quit:function(){FS.init.initialized=!1;var fflush=Module._fflush;fflush&&fflush(0);for(var i2=0;i2<FS.streams.length;i2++){var stream2=FS.streams[i2];stream2&&FS.close(stream2)}},getMode:function(canRead,canWrite){var mode=0;return canRead&&(mode|=365),canWrite&&(mode|=146),mode},findObject:function(path12,dontResolveLastLink){var ret=FS.analyzePath(path12,dontResolveLastLink);return ret.exists?ret.object:null},analyzePath:function(path12,dontResolveLastLink){try{var lookup=FS.lookupPath(path12,{follow:!dontResolveLastLink});path12=lookup.path}catch{}var ret={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path12,{parent:!0});ret.parentExists=!0,ret.parentPath=lookup.path,ret.parentObject=lookup.node,ret.name=PATH.basename(path12),lookup=FS.lookupPath(path12,{follow:!dontResolveLastLink}),ret.exists=!0,ret.path=lookup.path,ret.object=lookup.node,ret.name=lookup.node.name,ret.isRoot=lookup.path==="/"}catch(e2){ret.error=e2.errno}return ret},createPath:function(parent,path12,canRead,canWrite){parent=typeof parent=="string"?parent:FS.getPath(parent);for(var parts=path12.split("/").reverse();parts.length;){var part=parts.pop();if(part){var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch{}parent=current}}return current},createFile:function(parent,name,properties,canRead,canWrite){var path12=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name),mode=FS.getMode(canRead,canWrite);return FS.create(path12,mode)},createDataFile:function(parent,name,data,canRead,canWrite,canOwn){var path12=name?PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name):parent,mode=FS.getMode(canRead,canWrite),node=FS.create(path12,mode);if(data){if(typeof data=="string"){for(var arr=new Array(data.length),i2=0,len=data.length;i2<len;++i2)arr[i2]=data.charCodeAt(i2);data=arr}FS.chmod(node,mode|146);var stream2=FS.open(node,577);FS.write(stream2,data,0,data.length,0,canOwn),FS.close(stream2),FS.chmod(node,mode)}return node},createDevice:function(parent,name,input,output){var path12=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name),mode=FS.getMode(!!input,!!output);FS.createDevice.major||(FS.createDevice.major=64);var dev=FS.makedev(FS.createDevice.major++,0);return FS.registerDevice(dev,{open:function(stream2){stream2.seekable=!1},close:function(stream2){output&&output.buffer&&output.buffer.length&&output(10)},read:function(stream2,buffer2,offset,length,pos){for(var bytesRead=0,i2=0;i2<length;i2++){var result;try{result=input()}catch{throw new FS.ErrnoError(29)}if(result===void 0&&bytesRead===0)throw new FS.ErrnoError(6);if(result==null)break;bytesRead++,buffer2[offset+i2]=result}return bytesRead&&(stream2.node.timestamp=Date.now()),bytesRead},write:function(stream2,buffer2,offset,length,pos){for(var i2=0;i2<length;i2++)try{output(buffer2[offset+i2])}catch{throw new FS.ErrnoError(29)}return length&&(stream2.node.timestamp=Date.now()),i2}}),FS.mkdev(path12,mode,dev)},forceLoadFile:function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return!0;if(typeof XMLHttpRequest<"u")throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(read_)try{obj.contents=intArrayFromString(read_(obj.url),!0),obj.usedBytes=obj.contents.length}catch{throw new FS.ErrnoError(29)}else throw new Error("Cannot load without read() or XMLHttpRequest.")},createLazyFile:function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=!1,this.chunks=[]}if(LazyUint8Array.prototype.get=function(idx){if(!(idx>this.length-1||idx<0)){var chunkOffset=idx%this.chunkSize,chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}},LazyUint8Array.prototype.setDataGetter=function(getter){this.getter=getter},LazyUint8Array.prototype.cacheLength=function(){var xhr=new XMLHttpRequest;if(xhr.open("HEAD",url,!1),xhr.send(null),!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length")),header,hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes",usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip",chunkSize=1024*1024;hasByteServing||(chunkSize=datalength);var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr2=new XMLHttpRequest;if(xhr2.open("GET",url,!1),datalength!==chunkSize&&xhr2.setRequestHeader("Range","bytes="+from+"-"+to),typeof Uint8Array<"u"&&(xhr2.responseType="arraybuffer"),xhr2.overrideMimeType&&xhr2.overrideMimeType("text/plain; charset=x-user-defined"),xhr2.send(null),!(xhr2.status>=200&&xhr2.status<300||xhr2.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr2.status);return xhr2.response!==void 0?new Uint8Array(xhr2.response||[]):intArrayFromString(xhr2.responseText||"",!0)},lazyArray2=this;lazyArray2.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize,end=(chunkNum+1)*chunkSize-1;if(end=Math.min(end,datalength-1),typeof lazyArray2.chunks[chunkNum]>"u"&&(lazyArray2.chunks[chunkNum]=doXHR(start,end)),typeof lazyArray2.chunks[chunkNum]>"u")throw new Error("doXHR failed!");return lazyArray2.chunks[chunkNum]}),(usesGzip||!datalength)&&(chunkSize=datalength=1,datalength=this.getter(0).length,chunkSize=datalength,out("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=datalength,this._chunkSize=chunkSize,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var properties={isDevice:!1,contents:lazyArray}}else var properties={isDevice:!1,url};var node=FS.createFile(parent,name,properties,canRead,canWrite);properties.contents?node.contents=properties.contents:properties.url&&(node.contents=null,node.url=properties.url),Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={},keys=Object.keys(node.stream_ops);return keys.forEach(function(key2){var fn=node.stream_ops[key2];stream_ops[key2]=function(){return FS.forceLoadFile(node),fn.apply(null,arguments)}}),stream_ops.read=function(stream2,buffer2,offset,length,position){FS.forceLoadFile(node);var contents=stream2.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice)for(var i2=0;i2<size;i2++)buffer2[offset+i2]=contents[position+i2];else for(var i2=0;i2<size;i2++)buffer2[offset+i2]=contents.get(position+i2);return size},node.stream_ops=stream_ops,node},createPreloadedFile:function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent,dep="cp "+fullname;function processData(byteArray){function finish(byteArray2){preFinish&&preFinish(),dontCreateFile||FS.createDataFile(parent,name,byteArray2,canRead,canWrite,canOwn),onload&&onload(),removeRunDependency(dep)}var handled=!1;Module.preloadPlugins.forEach(function(plugin){handled||plugin.canHandle(fullname)&&(plugin.handle(byteArray,fullname,finish,function(){onerror&&onerror(),removeRunDependency(dep)}),handled=!0)}),handled||finish(byteArray)}addRunDependency(dep),typeof url=="string"?Browser.asyncLoad(url,function(byteArray){processData(byteArray)},onerror):processData(url)},indexedDB:function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:function(){return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths,onload,onerror){onload=onload||function(){},onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e2){return onerror(e2)}openRequest.onupgradeneeded=function(){out("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)},openRequest.onsuccess=function(){var db=openRequest.result,transaction=db.transaction([FS.DB_STORE_NAME],"readwrite"),files=transaction.objectStore(FS.DB_STORE_NAME),ok=0,fail=0,total=paths.length;function finish(){fail==0?onload():onerror()}paths.forEach(function(path12){var putRequest=files.put(FS.analyzePath(path12).object.contents,path12);putRequest.onsuccess=function(){ok++,ok+fail==total&&finish()},putRequest.onerror=function(){fail++,ok+fail==total&&finish()}}),transaction.onerror=onerror},openRequest.onerror=onerror},loadFilesFromDB:function(paths,onload,onerror){onload=onload||function(){},onerror=onerror||function(){};var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e2){return onerror(e2)}openRequest.onupgradeneeded=onerror,openRequest.onsuccess=function(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e2){onerror(e2);return}var files=transaction.objectStore(FS.DB_STORE_NAME),ok=0,fail=0,total=paths.length;function finish(){fail==0?onload():onerror()}paths.forEach(function(path12){var getRequest=files.get(path12);getRequest.onsuccess=function(){FS.analyzePath(path12).exists&&FS.unlink(path12),FS.createDataFile(PATH.dirname(path12),PATH.basename(path12),getRequest.result,!0,!0,!0),ok++,ok+fail==total&&finish()},getRequest.onerror=function(){fail++,ok+fail==total&&finish()}}),transaction.onerror=onerror},openRequest.onerror=onerror}},SYSCALLS={mappings:{},DEFAULT_POLLMASK:5,umask:511,calculateAt:function(dirfd,path12,allowEmpty){if(path12[0]==="/")return path12;var dir;if(dirfd===-100)dir=FS.cwd();else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(8);dir=dirstream.path}if(path12.length==0){if(!allowEmpty)throw new FS.ErrnoError(44);return dir}return PATH.join2(dir,path12)},doStat:function(func,path12,buf){try{var stat2=func(path12)}catch(e2){if(e2&&e2.node&&PATH.normalize(path12)!==PATH.normalize(FS.getPath(e2.node)))return-54;throw e2}return HEAP32[buf>>2]=stat2.dev,HEAP32[buf+4>>2]=0,HEAP32[buf+8>>2]=stat2.ino,HEAP32[buf+12>>2]=stat2.mode,HEAP32[buf+16>>2]=stat2.nlink,HEAP32[buf+20>>2]=stat2.uid,HEAP32[buf+24>>2]=stat2.gid,HEAP32[buf+28>>2]=stat2.rdev,HEAP32[buf+32>>2]=0,tempI64=[stat2.size>>>0,(tempDouble=stat2.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1],HEAP32[buf+48>>2]=4096,HEAP32[buf+52>>2]=stat2.blocks,HEAP32[buf+56>>2]=stat2.atime.getTime()/1e3|0,HEAP32[buf+60>>2]=0,HEAP32[buf+64>>2]=stat2.mtime.getTime()/1e3|0,HEAP32[buf+68>>2]=0,HEAP32[buf+72>>2]=stat2.ctime.getTime()/1e3|0,HEAP32[buf+76>>2]=0,tempI64=[stat2.ino>>>0,(tempDouble=stat2.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1],0},doMsync:function(addr,stream2,len,flags,offset){var buffer2=HEAPU8.slice(addr,addr+len);FS.msync(stream2,buffer2,offset,len,flags)},doMkdir:function(path12,mode){return path12=PATH.normalize(path12),path12[path12.length-1]==="/"&&(path12=path12.substr(0,path12.length-1)),FS.mkdir(path12,mode,0),0},doMknod:function(path12,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return FS.mknod(path12,mode,dev),0},doReadlink:function(path12,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path12),len=Math.min(bufsize,lengthBytesUTF8(ret)),endChar=HEAP8[buf+len];return stringToUTF8(ret,buf,bufsize+1),HEAP8[buf+len]=endChar,len},doAccess:function(path12,amode){if(amode&-8)return-28;var node,lookup=FS.lookupPath(path12,{follow:!0});if(node=lookup.node,!node)return-44;var perms="";return amode&4&&(perms+="r"),amode&2&&(perms+="w"),amode&1&&(perms+="x"),perms&&FS.nodePermissions(node,perms)?-2:0},doDup:function(path12,flags,suggestFD){var suggest=FS.getStream(suggestFD);return suggest&&FS.close(suggest),FS.open(path12,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream2,iov,iovcnt,offset){for(var ret=0,i2=0;i2<iovcnt;i2++){var ptr=HEAP32[iov+i2*8>>2],len=HEAP32[iov+(i2*8+4)>>2],curr=FS.read(stream2,HEAP8,ptr,len,offset);if(curr<0)return-1;if(ret+=curr,curr<len)break}return ret},doWritev:function(stream2,iov,iovcnt,offset){for(var ret=0,i2=0;i2<iovcnt;i2++){var ptr=HEAP32[iov+i2*8>>2],len=HEAP32[iov+(i2*8+4)>>2],curr=FS.write(stream2,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:void 0,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream2=FS.getStream(fd);if(!stream2)throw new FS.ErrnoError(8);return stream2},get64:function(low,high){return low}};function ___sys_chmod(path12,mode){try{return path12=SYSCALLS.getStr(path12),FS.chmod(path12,mode),0}catch(e2){return(typeof FS>"u"||!(e2 instanceof FS.ErrnoError))&&abort(e2),-e2.errno}}function setErrNo(value){return HEAP32[___errno_location()>>2]=value,value}function ___sys_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream2=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0)return-28;var newStream;return newStream=FS.open(stream2.path,stream2.flags,0,arg),newStream.fd}case 1:case 2:return 0;case 3:return stream2.flags;case 4:{var arg=SYSCALLS.get();return stream2.flags|=arg,0}case 12:{var arg=SYSCALLS.get(),offset=0;return HEAP16[arg+offset>>1]=2,0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:return setErrNo(28),-1;default:return-28}}catch(e2){return(typeof FS>"u"||!(e2 instanceof FS.ErrnoError))&&abort(e2),-e2.errno}}function ___sys_fstat64(fd,buf){try{var stream2=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream2.path,buf)}catch(e2){return(typeof FS>"u"||!(e2 instanceof FS.ErrnoError))&&abort(e2),-e2.errno}}function ___sys_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream2=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:return stream2.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return stream2.tty?0:-59;case 21519:{if(!stream2.tty)return-59;var argp=SYSCALLS.get();return HEAP32[argp>>2]=0,0}case 21520:return stream2.tty?-28:-59;case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream2,op,argp)}case 21523:return stream2.tty?0:-59;case 21524:return stream2.tty?0:-59;default:abort("bad ioctl syscall "+op)}}catch(e2){return(typeof FS>"u"||!(e2 instanceof FS.ErrnoError))&&abort(e2),-e2.errno}}function ___sys_open(path12,flags,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path12),mode=varargs?SYSCALLS.get():0,stream2=FS.open(pathname,flags,mode);return stream2.fd}catch(e2){return(typeof FS>"u"||!(e2 instanceof FS.ErrnoError))&&abort(e2),-e2.errno}}function ___sys_rename(old_path,new_path){try{return old_path=SYSCALLS.getStr(old_path),new_path=SYSCALLS.getStr(new_path),FS.rename(old_path,new_path),0}catch(e2){return(typeof FS>"u"||!(e2 instanceof FS.ErrnoError))&&abort(e2),-e2.errno}}function ___sys_rmdir(path12){try{return path12=SYSCALLS.getStr(path12),FS.rmdir(path12),0}catch(e2){return(typeof FS>"u"||!(e2 instanceof FS.ErrnoError))&&abort(e2),-e2.errno}}function ___sys_stat64(path12,buf){try{return path12=SYSCALLS.getStr(path12),SYSCALLS.doStat(FS.stat,path12,buf)}catch(e2){return(typeof FS>"u"||!(e2 instanceof FS.ErrnoError))&&abort(e2),-e2.errno}}function ___sys_unlink(path12){try{return path12=SYSCALLS.getStr(path12),FS.unlink(path12),0}catch(e2){return(typeof FS>"u"||!(e2 instanceof FS.ErrnoError))&&abort(e2),-e2.errno}}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function emscripten_realloc_buffer(size){try{return wasmMemory.grow(size-buffer.byteLength+65535>>>16),updateGlobalBufferAndViews(wasmMemory.buffer),1}catch{}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=2147483648;if(requestedSize>maxHeapSize)return!1;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536)),replacement=emscripten_realloc_buffer(newSize);if(replacement)return!0}return!1}function _fd_close(fd){try{var stream2=SYSCALLS.getStreamFromFD(fd);return FS.close(stream2),0}catch(e2){return(typeof FS>"u"||!(e2 instanceof FS.ErrnoError))&&abort(e2),e2.errno}}function _fd_fdstat_get(fd,pbuf){try{var stream2=SYSCALLS.getStreamFromFD(fd),type=stream2.tty?2:FS.isDir(stream2.mode)?3:FS.isLink(stream2.mode)?7:4;return HEAP8[pbuf>>0]=type,0}catch(e2){return(typeof FS>"u"||!(e2 instanceof FS.ErrnoError))&&abort(e2),e2.errno}}function _fd_read(fd,iov,iovcnt,pnum){try{var stream2=SYSCALLS.getStreamFromFD(fd),num=SYSCALLS.doReadv(stream2,iov,iovcnt);return HEAP32[pnum>>2]=num,0}catch(e2){return(typeof FS>"u"||!(e2 instanceof FS.ErrnoError))&&abort(e2),e2.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream2=SYSCALLS.getStreamFromFD(fd),HIGH_OFFSET=4294967296,offset=offset_high*HIGH_OFFSET+(offset_low>>>0),DOUBLE_LIMIT=9007199254740992;return offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT?-61:(FS.llseek(stream2,offset,whence),tempI64=[stream2.position>>>0,(tempDouble=stream2.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1],stream2.getdents&&offset===0&&whence===0&&(stream2.getdents=null),0)}catch(e2){return(typeof FS>"u"||!(e2 instanceof FS.ErrnoError))&&abort(e2),e2.errno}}function _fd_write(fd,iov,iovcnt,pnum){try{var stream2=SYSCALLS.getStreamFromFD(fd),num=SYSCALLS.doWritev(stream2,iov,iovcnt);return HEAP32[pnum>>2]=num,0}catch(e2){return(typeof FS>"u"||!(e2 instanceof FS.ErrnoError))&&abort(e2),e2.errno}}function _setTempRet0(val){setTempRet0(val)}function _time(ptr){var ret=Date.now()/1e3|0;return ptr&&(HEAP32[ptr>>2]=ret),ret}function _tzset(){if(_tzset.called)return;_tzset.called=!0;var currentYear=new Date().getFullYear(),winter=new Date(currentYear,0,1),summer=new Date(currentYear,6,1),winterOffset=winter.getTimezoneOffset(),summerOffset=summer.getTimezoneOffset(),stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAP32[__get_timezone()>>2]=stdTimezoneOffset*60,HEAP32[__get_daylight()>>2]=+(winterOffset!=summerOffset);function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter),summerName=extractZone(summer),winterNamePtr=allocateUTF8(winterName),summerNamePtr=allocateUTF8(summerName);summerOffset<winterOffset?(HEAP32[__get_tzname()>>2]=winterNamePtr,HEAP32[__get_tzname()+4>>2]=summerNamePtr):(HEAP32[__get_tzname()>>2]=summerNamePtr,HEAP32[__get_tzname()+4>>2]=winterNamePtr)}function _timegm(tmPtr){_tzset();var time=Date.UTC(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0),date=new Date(time);HEAP32[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0),yday=(date.getTime()-start)/(1e3*60*60*24)|0;return HEAP32[tmPtr+28>>2]=yday,date.getTime()/1e3|0}var FSNode=function(parent,name,mode,rdev){parent||(parent=this),this.parent=parent,this.mount=parent.mount,this.mounted=null,this.id=FS.nextInode++,this.name=name,this.mode=mode,this.node_ops={},this.stream_ops={},this.rdev=rdev},readMode=365,writeMode=146;if(Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}}),FS.FSNode=FSNode,FS.staticInit(),ENVIRONMENT_IS_NODE){var fs9=frozenFs,NODEJS_PATH=require("path");NODEFS.staticInit()}if(ENVIRONMENT_IS_NODE){var _wrapNodeError=function(func){return function(){try{return func.apply(this,arguments)}catch(e2){throw e2.code?new FS.ErrnoError(ERRNO_CODES[e2.code]):e2}}},VFS=Object.assign({},FS);for(var _key in NODERAWFS)FS[_key]=_wrapNodeError(NODERAWFS[_key])}else throw new Error("NODERAWFS is currently only supported on Node.js environment.");function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1,u8array=new Array(len),numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);return dontAddNull&&(u8array.length=numBytesWritten),u8array}var decodeBase64=typeof atob=="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",output="",chr1,chr2,chr3,enc1,enc2,enc3,enc4,i2=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do enc1=keyStr.indexOf(input.charAt(i2++)),enc2=keyStr.indexOf(input.charAt(i2++)),enc3=keyStr.indexOf(input.charAt(i2++)),enc4=keyStr.indexOf(input.charAt(i2++)),chr1=enc1<<2|enc2>>4,chr2=(enc2&15)<<4|enc3>>2,chr3=(enc3&3)<<6|enc4,output=output+String.fromCharCode(chr1),enc3!==64&&(output=output+String.fromCharCode(chr2)),enc4!==64&&(output=output+String.fromCharCode(chr3));while(i2<input.length);return output};function intArrayFromBase64(s2){if(typeof ENVIRONMENT_IS_NODE=="boolean"&&ENVIRONMENT_IS_NODE){var buf;try{buf=Buffer.from(s2,"base64")}catch{buf=new Buffer(s2,"base64")}return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}try{for(var decoded=decodeBase64(s2),bytes=new Uint8Array(decoded.length),i2=0;i2<decoded.length;++i2)bytes[i2]=decoded.charCodeAt(i2);return bytes}catch{throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(isDataURI(filename))return intArrayFromBase64(filename.slice(dataURIPrefix.length))}var asmLibraryArg={s:___gmtime_r,p:___sys_chmod,e:___sys_fcntl64,k:___sys_fstat64,o:___sys_ioctl,q:___sys_open,i:___sys_rename,r:___sys_rmdir,c:___sys_stat64,h:___sys_unlink,l:_emscripten_memcpy_big,m:_emscripten_resize_heap,f:_fd_close,j:_fd_fdstat_get,g:_fd_read,n:_fd_seek,d:_fd_write,a:_setTempRet0,b:_time,t:_timegm},asm=createWasm(),___wasm_call_ctors=Module.___wasm_call_ctors=asm.v,_zip_ext_count_symlinks=Module._zip_ext_count_symlinks=asm.w,_zip_file_get_external_attributes=Module._zip_file_get_external_attributes=asm.x,_zipstruct_stat=Module._zipstruct_stat=asm.y,_zipstruct_statS=Module._zipstruct_statS=asm.z,_zipstruct_stat_name=Module._zipstruct_stat_name=asm.A,_zipstruct_stat_index=Module._zipstruct_stat_index=asm.B,_zipstruct_stat_size=Module._zipstruct_stat_size=asm.C,_zipstruct_stat_mtime=Module._zipstruct_stat_mtime=asm.D,_zipstruct_stat_crc=Module._zipstruct_stat_crc=asm.E,_zipstruct_error=Module._zipstruct_error=asm.F,_zipstruct_errorS=Module._zipstruct_errorS=asm.G,_zipstruct_error_code_zip=Module._zipstruct_error_code_zip=asm.H,_zipstruct_stat_comp_size=Module._zipstruct_stat_comp_size=asm.I,_zipstruct_stat_comp_method=Module._zipstruct_stat_comp_method=asm.J,_zip_close=Module._zip_close=asm.K,_zip_delete=Module._zip_delete=asm.L,_zip_dir_add=Module._zip_dir_add=asm.M,_zip_discard=Module._zip_discard=asm.N,_zip_error_init_with_code=Module._zip_error_init_with_code=asm.O,_zip_get_error=Module._zip_get_error=asm.P,_zip_file_get_error=Module._zip_file_get_error=asm.Q,_zip_error_strerror=Module._zip_error_strerror=asm.R,_zip_fclose=Module._zip_fclose=asm.S,_zip_file_add=Module._zip_file_add=asm.T,_free=Module._free=asm.U,_malloc=Module._malloc=asm.V,___errno_location=Module.___errno_location=asm.W,_zip_source_error=Module._zip_source_error=asm.X,_zip_source_seek=Module._zip_source_seek=asm.Y,_zip_file_set_external_attributes=Module._zip_file_set_external_attributes=asm.Z,_zip_file_set_mtime=Module._zip_file_set_mtime=asm._,_zip_fopen=Module._zip_fopen=asm.$,_zip_fopen_index=Module._zip_fopen_index=asm.aa,_zip_fread=Module._zip_fread=asm.ba,_zip_get_name=Module._zip_get_name=asm.ca,_zip_get_num_entries=Module._zip_get_num_entries=asm.da,_zip_source_read=Module._zip_source_read=asm.ea,_zip_name_locate=Module._zip_name_locate=asm.fa,_zip_open=Module._zip_open=asm.ga,_zip_open_from_source=Module._zip_open_from_source=asm.ha,_zip_set_file_compression=Module._zip_set_file_compression=asm.ia,_zip_source_buffer=Module._zip_source_buffer=asm.ja,_zip_source_buffer_create=Module._zip_source_buffer_create=asm.ka,_zip_source_close=Module._zip_source_close=asm.la,_zip_source_free=Module._zip_source_free=asm.ma,_zip_source_keep=Module._zip_source_keep=asm.na,_zip_source_open=Module._zip_source_open=asm.oa,_zip_source_set_mtime=Module._zip_source_set_mtime=asm.qa,_zip_source_tell=Module._zip_source_tell=asm.ra,_zip_stat=Module._zip_stat=asm.sa,_zip_stat_index=Module._zip_stat_index=asm.ta,__get_tzname=Module.__get_tzname=asm.ua,__get_daylight=Module.__get_daylight=asm.va,__get_timezone=Module.__get_timezone=asm.wa,stackSave=Module.stackSave=asm.xa,stackRestore=Module.stackRestore=asm.ya,stackAlloc=Module.stackAlloc=asm.za;Module.cwrap=cwrap,Module.getValue=getValue;var calledRun;dependenciesFulfilled=function runCaller(){calledRun||run(),calledRun||(dependenciesFulfilled=runCaller)};function run(args){if(args=args||arguments_,runDependencies>0||(preRun(),runDependencies>0))return;function doRun(){calledRun||(calledRun=!0,Module.calledRun=!0,!ABORT&&(initRuntime(),readyPromiseResolve(Module),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),doRun()},1)):doRun()}if(Module.run=run,Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();return run(),createModule2}}();typeof exports=="object"&&typeof module2=="object"?module2.exports=createModule:typeof define=="function"&&define.amd?define([],function(){return createModule}):typeof exports=="object"&&(exports.createModule=createModule)}});var require_makeInterface=__commonJS({"../../node_modules/@yarnpkg/libzip/lib/makeInterface.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.makeInterface=exports.Errors=void 0;var number64=["number","number"],Errors;(function(Errors2){Errors2[Errors2.ZIP_ER_OK=0]="ZIP_ER_OK",Errors2[Errors2.ZIP_ER_MULTIDISK=1]="ZIP_ER_MULTIDISK",Errors2[Errors2.ZIP_ER_RENAME=2]="ZIP_ER_RENAME",Errors2[Errors2.ZIP_ER_CLOSE=3]="ZIP_ER_CLOSE",Errors2[Errors2.ZIP_ER_SEEK=4]="ZIP_ER_SEEK",Errors2[Errors2.ZIP_ER_READ=5]="ZIP_ER_READ",Errors2[Errors2.ZIP_ER_WRITE=6]="ZIP_ER_WRITE",Errors2[Errors2.ZIP_ER_CRC=7]="ZIP_ER_CRC",Errors2[Errors2.ZIP_ER_ZIPCLOSED=8]="ZIP_ER_ZIPCLOSED",Errors2[Errors2.ZIP_ER_NOENT=9]="ZIP_ER_NOENT",Errors2[Errors2.ZIP_ER_EXISTS=10]="ZIP_ER_EXISTS",Errors2[Errors2.ZIP_ER_OPEN=11]="ZIP_ER_OPEN",Errors2[Errors2.ZIP_ER_TMPOPEN=12]="ZIP_ER_TMPOPEN",Errors2[Errors2.ZIP_ER_ZLIB=13]="ZIP_ER_ZLIB",Errors2[Errors2.ZIP_ER_MEMORY=14]="ZIP_ER_MEMORY",Errors2[Errors2.ZIP_ER_CHANGED=15]="ZIP_ER_CHANGED",Errors2[Errors2.ZIP_ER_COMPNOTSUPP=16]="ZIP_ER_COMPNOTSUPP",Errors2[Errors2.ZIP_ER_EOF=17]="ZIP_ER_EOF",Errors2[Errors2.ZIP_ER_INVAL=18]="ZIP_ER_INVAL",Errors2[Errors2.ZIP_ER_NOZIP=19]="ZIP_ER_NOZIP",Errors2[Errors2.ZIP_ER_INTERNAL=20]="ZIP_ER_INTERNAL",Errors2[Errors2.ZIP_ER_INCONS=21]="ZIP_ER_INCONS",Errors2[Errors2.ZIP_ER_REMOVE=22]="ZIP_ER_REMOVE",Errors2[Errors2.ZIP_ER_DELETED=23]="ZIP_ER_DELETED",Errors2[Errors2.ZIP_ER_ENCRNOTSUPP=24]="ZIP_ER_ENCRNOTSUPP",Errors2[Errors2.ZIP_ER_RDONLY=25]="ZIP_ER_RDONLY",Errors2[Errors2.ZIP_ER_NOPASSWD=26]="ZIP_ER_NOPASSWD",Errors2[Errors2.ZIP_ER_WRONGPASSWD=27]="ZIP_ER_WRONGPASSWD",Errors2[Errors2.ZIP_ER_OPNOTSUPP=28]="ZIP_ER_OPNOTSUPP",Errors2[Errors2.ZIP_ER_INUSE=29]="ZIP_ER_INUSE",Errors2[Errors2.ZIP_ER_TELL=30]="ZIP_ER_TELL",Errors2[Errors2.ZIP_ER_COMPRESSED_DATA=31]="ZIP_ER_COMPRESSED_DATA"})(Errors=exports.Errors||(exports.Errors={}));var makeInterface=libzip=>({get HEAP8(){return libzip.HEAP8},get HEAPU8(){return libzip.HEAPU8},errors:Errors,SEEK_SET:0,SEEK_CUR:1,SEEK_END:2,ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_FL_COMPRESSED:4,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:libzip._malloc(1),uint16S:libzip._malloc(2),uint32S:libzip._malloc(4),uint64S:libzip._malloc(8),malloc:libzip._malloc,free:libzip._free,getValue:libzip.getValue,open:libzip.cwrap("zip_open","number",["string","number","number"]),openFromSource:libzip.cwrap("zip_open_from_source","number",["number","number","number"]),close:libzip.cwrap("zip_close","number",["number"]),discard:libzip.cwrap("zip_discard",null,["number"]),getError:libzip.cwrap("zip_get_error","number",["number"]),getName:libzip.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:libzip.cwrap("zip_get_num_entries","number",["number","number"]),delete:libzip.cwrap("zip_delete","number",["number","number"]),stat:libzip.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:libzip.cwrap("zip_stat_index","number",["number",...number64,"number","number"]),fopen:libzip.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:libzip.cwrap("zip_fopen_index","number",["number",...number64,"number"]),fread:libzip.cwrap("zip_fread","number",["number","number","number","number"]),fclose:libzip.cwrap("zip_fclose","number",["number"]),dir:{add:libzip.cwrap("zip_dir_add","number",["number","string"])},file:{add:libzip.cwrap("zip_file_add","number",["number","string","number","number"]),getError:libzip.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:libzip.cwrap("zip_file_get_external_attributes","number",["number",...number64,"number","number","number"]),setExternalAttributes:libzip.cwrap("zip_file_set_external_attributes","number",["number",...number64,"number","number","number"]),setMtime:libzip.cwrap("zip_file_set_mtime","number",["number",...number64,"number","number"]),setCompression:libzip.cwrap("zip_set_file_compression","number",["number",...number64,"number","number"])},ext:{countSymlinks:libzip.cwrap("zip_ext_count_symlinks","number",["number"])},error:{initWithCode:libzip.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:libzip.cwrap("zip_error_strerror","string",["number"])},name:{locate:libzip.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:libzip.cwrap("zip_source_buffer_create","number",["number",...number64,"number","number"]),fromBuffer:libzip.cwrap("zip_source_buffer","number",["number","number",...number64,"number"]),free:libzip.cwrap("zip_source_free",null,["number"]),keep:libzip.cwrap("zip_source_keep",null,["number"]),open:libzip.cwrap("zip_source_open","number",["number"]),close:libzip.cwrap("zip_source_close","number",["number"]),seek:libzip.cwrap("zip_source_seek","number",["number",...number64,"number"]),tell:libzip.cwrap("zip_source_tell","number",["number"]),read:libzip.cwrap("zip_source_read","number",["number","number","number"]),error:libzip.cwrap("zip_source_error","number",["number"]),setMtime:libzip.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:libzip.cwrap("zipstruct_stat","number",[]),statS:libzip.cwrap("zipstruct_statS","number",[]),statName:libzip.cwrap("zipstruct_stat_name","string",["number"]),statIndex:libzip.cwrap("zipstruct_stat_index","number",["number"]),statSize:libzip.cwrap("zipstruct_stat_size","number",["number"]),statCompSize:libzip.cwrap("zipstruct_stat_comp_size","number",["number"]),statCompMethod:libzip.cwrap("zipstruct_stat_comp_method","number",["number"]),statMtime:libzip.cwrap("zipstruct_stat_mtime","number",["number"]),statCrc:libzip.cwrap("zipstruct_stat_crc","number",["number"]),error:libzip.cwrap("zipstruct_error","number",[]),errorS:libzip.cwrap("zipstruct_errorS","number",[]),errorCodeZip:libzip.cwrap("zipstruct_error_code_zip","number",["number"])}});exports.makeInterface=makeInterface}});var require_sync2=__commonJS({"../../node_modules/@yarnpkg/libzip/lib/sync.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.getLibzipPromise=exports.getLibzipSync=void 0;var tslib_1=(init_tslib_es62(),__toCommonJS(tslib_es6_exports2)),libzipSync_1=tslib_1.__importDefault(require_libzipSync()),makeInterface_1=require_makeInterface(),mod=null;function getLibzipSync2(){return mod===null&&(mod=(0,makeInterface_1.makeInterface)((0,libzipSync_1.default)())),mod}exports.getLibzipSync=getLibzipSync2;async function getLibzipPromise(){return getLibzipSync2()}exports.getLibzipPromise=getLibzipPromise}});var src_exports={};__export(src_exports,{build:()=>standalone_default,buildDevStandalone:()=>buildDevStandalone,buildStaticStandalone:()=>buildStaticStandalone,getErrorLevel:()=>getErrorLevel,getPreviewBodyTemplate:()=>import_core_common13.getPreviewBodyTemplate,getPreviewHeadTemplate:()=>import_core_common13.getPreviewHeadTemplate,sendTelemetryError:()=>sendTelemetryError,withTelemetry:()=>withTelemetry});module.exports=__toCommonJS(src_exports);var import_core_common13=require("@storybook/core-common");var import_chalk5=__toESM(require("chalk")),import_fs_extra7=require("fs-extra"),import_path7=require("path"),import_global=require("@storybook/global"),import_node_logger5=require("@storybook/node-logger"),import_telemetry2=require("@storybook/telemetry"),import_core_common5=require("@storybook/core-common"),import_ts_dedent3=__toESM(require("ts-dedent"));var import_json_ext=require("@discoveryjs/json-ext"),import_node_logger=require("@storybook/node-logger"),import_chalk=__toESM(require("chalk")),import_fs_extra=__toESM(require("fs-extra")),import_path=__toESM(require("path"));async function outputStats(directory2,previewStats,managerStats){if(previewStats){let filePath=await writeStats(directory2,"preview",previewStats);import_node_logger.logger.info(`=> preview stats written to ${import_chalk.default.cyan(filePath)}`)}if(managerStats){let filePath=await writeStats(directory2,"manager",managerStats);import_node_logger.logger.info(`=> manager stats written to ${import_chalk.default.cyan(filePath)}`)}}var writeStats=async(directory2,name,stats)=>{let filePath=import_path.default.join(directory2,`${name}-stats.json`),{chunks,...data}=stats.toJson();return await new Promise((resolve3,reject)=>{(0,import_json_ext.stringifyStream)(data,null,2).on("error",reject).pipe(import_fs_extra.default.createWriteStream(filePath)).on("error",reject).on("finish",resolve3)}),filePath};var import_chalk3=__toESM(require("chalk")),import_fs_extra3=__toESM(require("fs-extra")),import_path3=require("path"),import_node_logger3=require("@storybook/node-logger"),import_core_common2=require("@storybook/core-common");var import_node_logger2=require("@storybook/node-logger"),import_core_common=require("@storybook/core-common"),import_chalk2=__toESM(require("chalk")),import_express=__toESM(require("express")),import_fs_extra2=require("fs-extra"),import_path2=__toESM(require("path")),import_ts_dedent=require("ts-dedent");async function useStatics(router2,options){let staticDirs=await options.presets.apply("staticDirs")??[],faviconPath=await options.presets.apply("favicon"),statics=[...staticDirs.map(dir=>typeof dir=="string"?dir:`${dir.from}:${dir.to}`)];statics&&statics.length>0&&await Promise.all(statics.map(async dir=>{try{let normalizedDir=staticDirs&&!(0,import_path2.isAbsolute)(dir)?(0,import_core_common.getDirectoryFromWorkingDir)({configDir:options.configDir,workingDir:process.cwd(),directory:dir}):dir,{staticDir,staticPath,targetEndpoint}=await parseStaticDir(normalizedDir);targetEndpoint.startsWith("/sb-")||import_node_logger2.logger.info(import_chalk2.default`=> Serving static files from {cyan ${staticDir}} at {cyan ${targetEndpoint}}`),router2.use(targetEndpoint,import_express.default.static(staticPath,{index:!1}))}catch(e2){e2 instanceof Error&&import_node_logger2.logger.warn(e2.message)}})),router2.get(`/${(0,import_path2.basename)(faviconPath)}`,(req,res)=>res.sendFile(faviconPath))}var parseStaticDir=async arg=>{let lastColonIndex=arg.lastIndexOf(":"),isWindowsRawDirOnly=import_path2.default.win32.isAbsolute(arg)&&lastColonIndex===1,splitIndex=lastColonIndex!==-1&&!isWindowsRawDirOnly?lastColonIndex:arg.length,target=(arg.substring(splitIndex+1)||"/").split(import_path2.default.sep).join(import_path2.default.posix.sep),rawDir=arg.substring(0,splitIndex),staticDir=import_path2.default.isAbsolute(rawDir)?rawDir:`./${rawDir}`,staticPath=import_path2.default.resolve(staticDir),targetDir=target.replace(/^\/?/,"./"),targetEndpoint=targetDir.substring(1);if(!await(0,import_fs_extra2.pathExists)(staticPath))throw new Error((0,import_ts_dedent.dedent)(import_chalk2.default`
|
|
49
49
|
Failed to load static files, no such directory: {cyan ${staticPath}}
|
|
50
|
-
Make sure this directory exists
|
|
50
|
+
Make sure this directory exists.
|
|
51
51
|
`));return{staticDir,staticPath,targetDir,targetEndpoint}};async function copyAllStaticFilesRelativeToMain(staticDirs,outputDir,configDir){let workingDir=process.cwd();return staticDirs?.reduce(async(acc,dir)=>{await acc;let staticDirAndTarget=typeof dir=="string"?dir:`${dir.from}:${dir.to}`,{staticPath:from,targetEndpoint:to}=await parseStaticDir((0,import_core_common2.getDirectoryFromWorkingDir)({configDir,workingDir,directory:staticDirAndTarget})),targetPath=(0,import_path3.join)(outputDir,to),skipPaths=["index.html","iframe.html"].map(f3=>(0,import_path3.join)(targetPath,f3));from.includes("node_modules")||import_node_logger3.logger.info(import_chalk3.default`=> Copying static files: {cyan ${print(from)}} at {cyan ${print(targetPath)}}`),await import_fs_extra3.default.copy(from,targetPath,{dereference:!0,preserveTimestamps:!0,filter:(_,dest)=>!skipPaths.includes(dest)})},Promise.resolve())}function print(p){return(0,import_path3.relative)(process.cwd(),p)}var import_server_errors=require("@storybook/core-events/server-errors"),import_node_url=require("url");async function getManagerBuilder(){return import("@storybook/builder-manager")}async function getPreviewBuilder(builderName,configDir){let builderPackage=require.resolve(["webpack5"].includes(builderName)?`@storybook/builder-${builderName}`:builderName,{paths:[configDir]});return await import((0,import_node_url.pathToFileURL)(builderPackage).href)}async function getBuilders({presets,configDir}){let{builder}=await presets.apply("core",{});if(!builder)throw new import_server_errors.MissingBuilderError;let builderName=typeof builder=="string"?builder:builder.name;return Promise.all([getPreviewBuilder(builderName,configDir),getManagerBuilder()])}var import_fs_extra4=require("fs-extra"),import_debounce=__toESM(require("lodash/debounce.js")),import_core_events=require("@storybook/core-events");var import_watchpack=__toESM(require("watchpack"));function slash(path12){return path12.startsWith("\\\\?\\")?path12:path12.replace(/\\/g,"/")}var import_fs=__toESM(require("fs")),import_path4=__toESM(require("path")),import_globby=__toESM(require("globby")),import_uniq=__toESM(require("lodash/uniq.js")),import_core_common3=require("@storybook/core-common"),isDirectory=directory2=>{try{return import_fs.default.lstatSync(directory2).isDirectory()}catch{return!1}};function toImportPath(relativePath){return relativePath.startsWith(".")?relativePath:`./${relativePath}`}function watchStorySpecifiers(specifiers,options,onInvalidate){let wp=new import_watchpack.default({followSymlinks:!1,ignored:["**/.git","**/node_modules"]});wp.watch({directories:(0,import_uniq.default)(specifiers.map(ns=>ns.directory))});async function onChangeOrRemove(watchpackPath,removed){let importPath=slash(watchpackPath.startsWith(".")?watchpackPath:`./${watchpackPath}`),matchingSpecifier=specifiers.find(ns=>ns.importPathMatcher.exec(importPath));if(matchingSpecifier){onInvalidate(matchingSpecifier,importPath,removed);return}let absolutePath=import_path4.default.join(options.workingDir,importPath);!removed&&isDirectory(absolutePath)&&await Promise.all(specifiers.filter(specifier=>importPath.startsWith(specifier.directory)).map(async specifier=>{let dirGlob=import_path4.default.join(options.workingDir,importPath,"**",import_path4.default.basename(specifier.files));(await(0,import_globby.default)(slash(dirGlob),(0,import_core_common3.commonGlobOptions)(dirGlob))).forEach(filePath=>{let fileImportPath=toImportPath(import_path4.default.relative(options.workingDir,filePath).replace(/\\/g,"/"));specifier.importPathMatcher.exec(fileImportPath)&&onInvalidate(specifier,fileImportPath,removed)})}))}return wp.on("change",async(filePath,mtime,explanation)=>{await onChangeOrRemove(filePath,!mtime)}),wp.on("remove",async(filePath,explanation)=>{await onChangeOrRemove(filePath,!0)}),()=>wp.close()}var DEBOUNCE=100;async function extractStoriesJson(outputFile,initializedStoryIndexGenerator,transform){let storyIndex=await(await initializedStoryIndexGenerator).getIndex();await(0,import_fs_extra4.writeJSON)(outputFile,transform?transform(storyIndex):storyIndex)}function useStoriesJson({router:router2,initializedStoryIndexGenerator,workingDir=process.cwd(),serverChannel,normalizedStories}){let maybeInvalidate=(0,import_debounce.default)(()=>serverChannel.emit(import_core_events.STORY_INDEX_INVALIDATED),DEBOUNCE,{leading:!0});watchStorySpecifiers(normalizedStories,{workingDir},async(specifier,path12,removed)=>{(await initializedStoryIndexGenerator).invalidate(specifier,path12,removed),maybeInvalidate()}),router2.use("/index.json",async(req,res)=>{try{let index=await(await initializedStoryIndexGenerator).getIndex();res.header("Content-Type","application/json"),res.send(JSON.stringify(index))}catch(err){res.status(500),res.send(err instanceof Error?err.toString():String(err))}})}var import_fs_extra5=require("fs-extra"),import_telemetry=require("@storybook/telemetry");async function extractStorybookMetadata(outputFile,configDir){let storybookMetadata=await(0,import_telemetry.getStorybookMetadata)(configDir);await(0,import_fs_extra5.writeJSON)(outputFile,storybookMetadata)}function useStorybookMetadata(router2,configDir){router2.use("/project.json",async(req,res)=>{let storybookMetadata=await(0,import_telemetry.getStorybookMetadata)(configDir);res.header("Content-Type","application/json"),res.send(JSON.stringify(storybookMetadata))})}var import_path6=__toESM(require("path")),import_chalk4=__toESM(require("chalk")),import_fs_extra6=__toESM(require("fs-extra")),import_globby2=__toESM(require("globby"));var import_tiny_invariant=__toESM(require("tiny-invariant")),import_preview_api=require("@storybook/preview-api"),import_core_common4=require("@storybook/core-common"),import_node_logger4=require("@storybook/node-logger"),import_csf_tools=require("@storybook/csf-tools"),import_csf=require("@storybook/csf"),import_docs_mdx=require("@storybook/docs-mdx"),import_ts_dedent2=__toESM(require("ts-dedent"));var import_path5=require("path");function autoName(mdxImportPath,csfImportPath,defaultName){let mdxBasename=(0,import_path5.basename)(mdxImportPath),csfBasename=(0,import_path5.basename)(csfImportPath),[mdxFilename]=mdxBasename.split("."),[csfFilename]=csfBasename.split(".");return mdxFilename===csfFilename?defaultName:mdxFilename}var IndexingError=class extends Error{constructor(message,importPaths,stack){super();this.message=message,this.importPaths=importPaths,stack&&(this.stack=stack)}pathsString(){return this.importPaths.length===1?`${slash(this.importPaths[0])}`:`${this.importPaths.map(slash).join(",")}`}toString(){return`${this.pathsString()}: ${this.message}`}},MultipleIndexingError=class extends Error{constructor(indexingErrors){super();this.indexingErrors=indexingErrors;if(this.indexingErrors.length===0)throw new Error("Unexpected empty error list");if(this.indexingErrors.length===1){let[err]=this.indexingErrors;this.message=`Unable to index ${err.pathsString()}`}else this.message=`Unable to index files:
|
|
52
52
|
${this.indexingErrors.map(err=>`- ${err}`).join(`
|
|
53
53
|
`)}`}toString(){return this.indexingErrors.length===1?`${this.message}:
|
|
54
|
-
${this.indexingErrors[0].stack}`:this.message}};var AUTODOCS_TAG="autodocs",STORIES_MDX_TAG="stories-mdx",PLAY_FN_TAG="play-fn";function isMdxEntry({tags}){return!tags?.includes(AUTODOCS_TAG)&&!tags?.includes(STORIES_MDX_TAG)}var makeAbsolute=(otherImport,normalizedPath,workingDir)=>otherImport.startsWith(".")?slash(import_path6.default.resolve(workingDir,(0,import_core_common4.normalizeStoryPath)(import_path6.default.join(import_path6.default.dirname(normalizedPath),otherImport)))):otherImport,StoryIndexGenerator=class{constructor(specifiers,options){this.specifiers=specifiers;this.options=options;this.specifierToCache=new Map}async initialize(){(await Promise.all(this.specifiers.map(async specifier=>{let pathToSubIndex={},fullGlob=slash(import_path6.default.join(this.options.workingDir,specifier.directory,specifier.files)),files=await(0,import_globby2.default)(fullGlob,(0,import_core_common4.commonGlobOptions)(fullGlob));return files.length===0&&import_node_logger4.once.warn(`No story files found for the specified pattern: ${import_chalk4.default.blue(import_path6.default.join(specifier.directory,specifier.files))}`),files.sort().forEach(absolutePath=>{let ext=import_path6.default.extname(absolutePath);if(ext===".storyshot"){let relativePath=import_path6.default.relative(this.options.workingDir,absolutePath);import_node_logger4.logger.info(`Skipping ${ext} file ${relativePath}`);return}pathToSubIndex[absolutePath]=!1}),[specifier,pathToSubIndex]}))).forEach(([specifier,cache3])=>this.specifierToCache.set(specifier,cache3)),await this.ensureExtracted()}async updateExtracted(updater,overwrite=!1){await Promise.all(this.specifiers.map(async specifier=>{let entry=this.specifierToCache.get(specifier);return(0,import_tiny_invariant.default)(entry,`specifier does not have a matching cache entry in specifierToCache: ${JSON.stringify(specifier)}`),Promise.all(Object.keys(entry).map(async absolutePath=>{if(!(entry[absolutePath]&&!overwrite))try{entry[absolutePath]=await updater(specifier,absolutePath,entry[absolutePath])}catch(err){let relativePath=`.${import_path6.default.sep}${import_path6.default.relative(this.options.workingDir,absolutePath)}`;entry[absolutePath]={type:"error",err:new IndexingError(err instanceof Error?err.message:String(err),[relativePath],err instanceof Error?err.stack:void 0)}}}))}))}isDocsMdx(absolutePath){return/(?<!\.stories)\.mdx$/i.test(absolutePath)}async ensureExtracted(){return await this.updateExtracted(async(specifier,absolutePath)=>this.isDocsMdx(absolutePath)?!1:this.extractStories(specifier,absolutePath)),await this.updateExtracted(async(specifier,absolutePath)=>this.extractDocs(specifier,absolutePath)),this.specifiers.flatMap(specifier=>{let cache3=this.specifierToCache.get(specifier);return(0,import_tiny_invariant.default)(cache3,`specifier does not have a matching cache entry in specifierToCache: ${JSON.stringify(specifier)}`),Object.values(cache3).flatMap(entry=>entry?entry.type==="docs"?[entry]:entry.type==="error"?[entry]:entry.entries.map(item=>{if(item.type==="docs")return item;let{metaId,...existing}=item;return existing}):[])})}findDependencies(absoluteImports){return[...this.specifierToCache.values()].flatMap(cache3=>Object.entries(cache3).filter(([fileName,cacheEntry])=>!cacheEntry||cacheEntry.type!=="stories"?!1:!!absoluteImports.find(storyImport=>fileName.match(new RegExp(`^${storyImport}(\\.[^.]+)?$`)))).map(([_,cacheEntry])=>cacheEntry))}async extractStories(specifier,absolutePath){let relativePath=import_path6.default.relative(this.options.workingDir,absolutePath),importPath=slash((0,import_core_common4.normalizeStoryPath)(relativePath)),defaultMakeTitle=userTitle=>{let title=(0,import_preview_api.userOrAutoTitleFromSpecifier)(importPath,specifier,userTitle);return(0,import_tiny_invariant.default)(title,"makeTitle created an undefined title. This happens when the fileName doesn't match any specifier from main.js"),title},indexer=this.options.indexers.
|
|
55
|
-
- Refer to the migration guide at https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#storyindexers-is-replaced-with-experimental_indexers`),this.extractStoriesFromDeprecatedIndexer({indexer:indexer.indexer,indexerOptions:{makeTitle:defaultMakeTitle},absolutePath,importPath});let indexInputs=await indexer.createIndex(absolutePath,{makeTitle:defaultMakeTitle}),entries2=indexInputs.map(input=>{let name=input.name??(0,import_csf.storyNameFromExport)(input.exportName),title=input.title??defaultMakeTitle(),id=input.__id??(0,import_csf.toId)(input.metaId??title,(0,import_csf.storyNameFromExport)(input.exportName)),tags=(input.tags||[]).concat("story");return{type:"story",id,metaId:input.metaId,name,title,importPath,tags}}),{autodocs}=this.options.docs,hasAutodocsTag=entries2.some(entry=>entry.tags.includes(AUTODOCS_TAG)),isStoriesMdx=entries2.some(entry=>entry.tags.includes(STORIES_MDX_TAG));if((autodocs===!0||autodocs==="tag"&&hasAutodocsTag||isStoriesMdx)&&this.options.build?.test?.disableAutoDocs!==!0){let name=this.options.docs.defaultName??"Docs",{metaId}=indexInputs[0],{title}=entries2[0],tags=indexInputs[0].tags||[],id=(0,import_csf.toId)(metaId??title,name);entries2.unshift({id,title,name,importPath,type:"docs",tags:[...tags,"docs",...!hasAutodocsTag&&!isStoriesMdx?[AUTODOCS_TAG]:[]],storiesImports:[]})}return{entries:entries2.filter(entry=>!(entry.type==="story"&&entry.tags.includes("stories-mdx-docsOnly"))),dependents:[],type:"stories"}}async extractStoriesFromDeprecatedIndexer({indexer,indexerOptions,absolutePath,importPath}){let csf=await indexer(absolutePath,indexerOptions),entries2=[],componentTags=csf.meta.tags||[];if(csf.stories.forEach(({id,name,tags:storyTags,parameters})=>{if(!parameters?.docsOnly){let tags=(csf.meta.tags??[]).concat(storyTags??[],"story");(0,import_tiny_invariant.default)(csf.meta.title),entries2.push({id,title:csf.meta.title,name,importPath,tags,type:"story",metaId:csf.meta.id})}}),csf.stories.length){let{autodocs}=this.options.docs,componentAutodocs=componentTags.includes(AUTODOCS_TAG),autodocsOptedIn=autodocs===!0||autodocs==="tag"&&componentAutodocs;if(componentTags.includes(STORIES_MDX_TAG)||autodocsOptedIn){let name=this.options.docs.defaultName??"Docs";(0,import_tiny_invariant.default)(csf.meta.title,"expected a title property in csf.meta");let id=(0,import_csf.toId)(csf.meta.id||csf.meta.title,name);entries2.unshift({id,title:csf.meta.title,name,importPath,type:"docs",tags:[...componentTags,"docs",...autodocsOptedIn&&!componentAutodocs?[AUTODOCS_TAG]:[]],storiesImports:[]})}}return{entries:entries2,type:"stories",dependents:[]}}async extractDocs(specifier,absolutePath){let relativePath=import_path6.default.relative(this.options.workingDir,absolutePath);try{(0,import_tiny_invariant.default)(this.options.storyStoreV7,"You cannot use `.mdx` files without using `storyStoreV7`.");let normalizedPath=(0,import_core_common4.normalizeStoryPath)(relativePath),importPath=slash(normalizedPath),content=await import_fs_extra6.default.readFile(absolutePath,"utf8"),result=(0,import_docs_mdx.analyze)(content);if(result.isTemplate)return!1;let absoluteImports=result.imports.map(p=>makeAbsolute(p,normalizedPath,this.options.workingDir)),dependencies=this.findDependencies(absoluteImports),sortedDependencies=dependencies,csfEntry;if(result.of){let absoluteOf=makeAbsolute(result.of,normalizedPath,this.options.workingDir);dependencies.forEach(dep=>{if(dep.entries.length>0){let first=dep.entries.find(e2=>e2.type!=="docs");import_path6.default.normalize(import_path6.default.resolve(this.options.workingDir,first.importPath)).startsWith(import_path6.default.normalize(absoluteOf))&&(csfEntry=first)}sortedDependencies=[dep,...dependencies.filter(d=>d!==dep)]}),(0,import_tiny_invariant.default)(csfEntry,import_ts_dedent2.default`Could not find or load CSF file at path "${result.of}" referenced by \`of={}\` in docs file "${relativePath}".
|
|
54
|
+
${this.indexingErrors[0].stack}`:this.message}};var AUTODOCS_TAG="autodocs",STORIES_MDX_TAG="stories-mdx",PLAY_FN_TAG="play-fn";function isMdxEntry({tags}){return!tags?.includes(AUTODOCS_TAG)&&!tags?.includes(STORIES_MDX_TAG)}var makeAbsolute=(otherImport,normalizedPath,workingDir)=>otherImport.startsWith(".")?slash(import_path6.default.resolve(workingDir,(0,import_core_common4.normalizeStoryPath)(import_path6.default.join(import_path6.default.dirname(normalizedPath),otherImport)))):otherImport,StoryIndexGenerator=class{constructor(specifiers,options){this.specifiers=specifiers;this.options=options;this.specifierToCache=new Map}async initialize(){(await Promise.all(this.specifiers.map(async specifier=>{let pathToSubIndex={},fullGlob=slash(import_path6.default.join(this.options.workingDir,specifier.directory,specifier.files)),files=await(0,import_globby2.default)(fullGlob,(0,import_core_common4.commonGlobOptions)(fullGlob));return files.length===0&&import_node_logger4.once.warn(`No story files found for the specified pattern: ${import_chalk4.default.blue(import_path6.default.join(specifier.directory,specifier.files))}`),files.sort().forEach(absolutePath=>{let ext=import_path6.default.extname(absolutePath);if(ext===".storyshot"){let relativePath=import_path6.default.relative(this.options.workingDir,absolutePath);import_node_logger4.logger.info(`Skipping ${ext} file ${relativePath}`);return}pathToSubIndex[absolutePath]=!1}),[specifier,pathToSubIndex]}))).forEach(([specifier,cache3])=>this.specifierToCache.set(specifier,cache3)),await this.ensureExtracted()}async updateExtracted(updater,overwrite=!1){await Promise.all(this.specifiers.map(async specifier=>{let entry=this.specifierToCache.get(specifier);return(0,import_tiny_invariant.default)(entry,`specifier does not have a matching cache entry in specifierToCache: ${JSON.stringify(specifier)}`),Promise.all(Object.keys(entry).map(async absolutePath=>{if(!(entry[absolutePath]&&!overwrite))try{entry[absolutePath]=await updater(specifier,absolutePath,entry[absolutePath])}catch(err){let relativePath=`.${import_path6.default.sep}${import_path6.default.relative(this.options.workingDir,absolutePath)}`;entry[absolutePath]={type:"error",err:new IndexingError(err instanceof Error?err.message:String(err),[relativePath],err instanceof Error?err.stack:void 0)}}}))}))}isDocsMdx(absolutePath){return/(?<!\.stories)\.mdx$/i.test(absolutePath)}async ensureExtracted(){return await this.updateExtracted(async(specifier,absolutePath)=>this.isDocsMdx(absolutePath)?!1:this.extractStories(specifier,absolutePath)),await this.updateExtracted(async(specifier,absolutePath)=>this.extractDocs(specifier,absolutePath)),this.specifiers.flatMap(specifier=>{let cache3=this.specifierToCache.get(specifier);return(0,import_tiny_invariant.default)(cache3,`specifier does not have a matching cache entry in specifierToCache: ${JSON.stringify(specifier)}`),Object.values(cache3).flatMap(entry=>entry?entry.type==="docs"?[entry]:entry.type==="error"?[entry]:entry.entries.map(item=>{if(item.type==="docs")return item;let{metaId,...existing}=item;return existing}):[])})}findDependencies(absoluteImports){return[...this.specifierToCache.values()].flatMap(cache3=>Object.entries(cache3).filter(([fileName,cacheEntry])=>!cacheEntry||cacheEntry.type!=="stories"?!1:!!absoluteImports.find(storyImport=>fileName.match(new RegExp(`^${storyImport}(\\.[^.]+)?$`)))).map(([_,cacheEntry])=>cacheEntry))}async extractStories(specifier,absolutePath){let relativePath=import_path6.default.relative(this.options.workingDir,absolutePath),importPath=slash((0,import_core_common4.normalizeStoryPath)(relativePath)),defaultMakeTitle=userTitle=>{let title=(0,import_preview_api.userOrAutoTitleFromSpecifier)(importPath,specifier,userTitle);return(0,import_tiny_invariant.default)(title,"makeTitle created an undefined title. This happens when the fileName doesn't match any specifier from main.js"),title},indexer=this.options.indexers.find(ind=>ind.test.exec(absolutePath));(0,import_tiny_invariant.default)(indexer,`No matching indexer found for ${absolutePath}`);let indexInputs=await indexer.createIndex(absolutePath,{makeTitle:defaultMakeTitle}),entries2=indexInputs.map(input=>{let name=input.name??(0,import_csf.storyNameFromExport)(input.exportName),title=input.title??defaultMakeTitle(),id=input.__id??(0,import_csf.toId)(input.metaId??title,(0,import_csf.storyNameFromExport)(input.exportName)),tags=(input.tags||[]).concat("story");return{type:"story",id,metaId:input.metaId,name,title,importPath,tags}}),{autodocs}=this.options.docs,hasAutodocsTag=entries2.some(entry=>entry.tags.includes(AUTODOCS_TAG)),isStoriesMdx=entries2.some(entry=>entry.tags.includes(STORIES_MDX_TAG));if((autodocs===!0||autodocs==="tag"&&hasAutodocsTag||isStoriesMdx)&&this.options.build?.test?.disableAutoDocs!==!0){let name=this.options.docs.defaultName??"Docs",{metaId}=indexInputs[0],{title}=entries2[0],tags=indexInputs[0].tags||[],id=(0,import_csf.toId)(metaId??title,name);entries2.unshift({id,title,name,importPath,type:"docs",tags:[...tags,"docs",...!hasAutodocsTag&&!isStoriesMdx?[AUTODOCS_TAG]:[]],storiesImports:[]})}return{entries:entries2.filter(entry=>!(entry.type==="story"&&entry.tags.includes("stories-mdx-docsOnly"))),dependents:[],type:"stories"}}async extractDocs(specifier,absolutePath){let relativePath=import_path6.default.relative(this.options.workingDir,absolutePath);try{(0,import_tiny_invariant.default)(this.options.storyStoreV7,"You cannot use `.mdx` files without using `storyStoreV7`.");let normalizedPath=(0,import_core_common4.normalizeStoryPath)(relativePath),importPath=slash(normalizedPath),content=await import_fs_extra6.default.readFile(absolutePath,"utf8"),result=(0,import_docs_mdx.analyze)(content);if(result.isTemplate)return!1;let absoluteImports=result.imports.map(p=>makeAbsolute(p,normalizedPath,this.options.workingDir)),dependencies=this.findDependencies(absoluteImports),sortedDependencies=dependencies,csfEntry;if(result.of){let absoluteOf=makeAbsolute(result.of,normalizedPath,this.options.workingDir);dependencies.forEach(dep=>{if(dep.entries.length>0){let first=dep.entries.find(e2=>e2.type!=="docs");import_path6.default.normalize(import_path6.default.resolve(this.options.workingDir,first.importPath)).startsWith(import_path6.default.normalize(absoluteOf))&&(csfEntry=first)}sortedDependencies=[dep,...dependencies.filter(d=>d!==dep)]}),(0,import_tiny_invariant.default)(csfEntry,import_ts_dedent2.default`Could not find or load CSF file at path "${result.of}" referenced by \`of={}\` in docs file "${relativePath}".
|
|
56
55
|
|
|
57
56
|
- Does that file exist?
|
|
58
57
|
- If so, is it a CSF file (\`.stories.*\`)?
|
|
59
58
|
- If so, is it matched by the \`stories\` glob in \`main.js\`?
|
|
60
|
-
- If so, has the file successfully loaded in Storybook and are its stories visible?`)}dependencies.forEach(dep=>{dep.dependents.push(absolutePath)});let title=csfEntry?.title||(0,import_preview_api.userOrAutoTitleFromSpecifier)(importPath,specifier,result.title);(0,import_tiny_invariant.default)(title,"makeTitle created an undefined title. This happens when a specifier's doesn't have any matches in its fileName");let defaultName=this.options.docs.defaultName??"Docs",name=result.name||(csfEntry?autoName(importPath,csfEntry.importPath,defaultName):defaultName);return{id:(0,import_csf.toId)(csfEntry?.metaId||title,name),title,name,importPath,storiesImports:sortedDependencies.map(dep=>dep.entries[0].importPath),type:"docs",tags:[...result.tags||[],csfEntry?"attached-mdx":"unattached-mdx","docs"]}}catch(err){throw err&&err.source?.match(/mdast-util-mdx-jsx/g)&&import_node_logger4.logger.warn(`\u{1F4A1} This seems to be an MDX2 syntax error. Please refer to the MDX section in the following resource for assistance on how to fix this: ${import_chalk4.default.yellow("https://storybook.js.org/migration-guides/7.0")}`),err}}chooseDuplicate(firstEntry,secondEntry){if(firstEntry.importPath===secondEntry.importPath)return firstEntry;let firstIsBetter=!0;(secondEntry.type==="story"||isMdxEntry(secondEntry)&&firstEntry.type==="docs"&&!isMdxEntry(firstEntry))&&(firstIsBetter=!1);let betterEntry=firstIsBetter?firstEntry:secondEntry,worseEntry=firstIsBetter?secondEntry:firstEntry,changeDocsName='Use `<Meta of={} name="Other Name">` to distinguish them.';if(worseEntry.type==="story")throw new IndexingError(`Duplicate stories with id: ${firstEntry.id}`,[firstEntry.importPath,secondEntry.importPath]);if(betterEntry.type==="story"){let worseDescriptor=isMdxEntry(worseEntry)?"component docs page":"automatically generated docs page";throw betterEntry.name===this.options.docs.defaultName?new IndexingError(`You have a story for ${betterEntry.title} with the same name as your default docs entry name (${betterEntry.name}), so the docs page is being dropped. Consider changing the story name.`,[firstEntry.importPath,secondEntry.importPath]):new IndexingError(`You have a story for ${betterEntry.title} with the same name as your ${worseDescriptor} (${worseEntry.name}), so the docs page is being dropped. ${changeDocsName}`,[firstEntry.importPath,secondEntry.importPath])}else if(isMdxEntry(betterEntry)){if(isMdxEntry(worseEntry))throw new IndexingError(`You have two component docs pages with the same name ${betterEntry.title}:${betterEntry.name}. ${changeDocsName}`,[firstEntry.importPath,secondEntry.importPath]);if(worseEntry.tags?.includes(AUTODOCS_TAG)&&this.options.docs.autodocs!==!0)throw new IndexingError(`You created a component docs page for '${worseEntry.title}', but also tagged the CSF file with '${AUTODOCS_TAG}'. This is probably a mistake.`,[betterEntry.importPath,worseEntry.importPath])}else return{...betterEntry,storiesImports:[...betterEntry.storiesImports,worseEntry.importPath,...worseEntry.storiesImports]};return betterEntry}async sortStories(entries2){let sortableStories=Object.values(entries2);if(this.options.storyStoreV7){let storySortParameter=await this.getStorySortParameter(),fileNameOrder=this.storyFileNames();(0,import_preview_api.sortStoriesV7)(sortableStories,storySortParameter,fileNameOrder)}return sortableStories.reduce((acc,item)=>(acc[item.id]=item,acc),{})}async getIndex(){if(this.lastIndex)return this.lastIndex;if(this.lastError)throw this.lastError;let storiesList=await this.ensureExtracted();try{let errorEntries=storiesList.filter(entry=>entry.type==="error");if(errorEntries.length)throw new MultipleIndexingError(errorEntries.map(entry=>entry.err));let duplicateErrors=[],indexEntries={};if(storiesList.forEach(entry=>{try{let existing=indexEntries[entry.id];existing?indexEntries[entry.id]=this.chooseDuplicate(existing,entry):indexEntries[entry.id]=entry}catch(err){err instanceof IndexingError&&duplicateErrors.push(err)}}),duplicateErrors.length)throw new MultipleIndexingError(duplicateErrors);let sorted=await this.sortStories(indexEntries);return this.lastIndex={v:4,entries:sorted},this.lastIndex}catch(err){throw this.lastError=err==null||err instanceof Error?err:void 0,(0,import_tiny_invariant.default)(this.lastError),import_node_logger4.logger.warn(`\u{1F6A8} ${this.lastError.toString()}`),this.lastError}}invalidate(specifier,importPath,removed){let absolutePath=slash(import_path6.default.resolve(this.options.workingDir,importPath)),cache3=this.specifierToCache.get(specifier);(0,import_tiny_invariant.default)(cache3,`specifier does not have a matching cache entry in specifierToCache: ${JSON.stringify(specifier)}`);let cacheEntry=cache3[absolutePath];if(cacheEntry&&cacheEntry.type==="stories"){let{dependents}=cacheEntry,invalidated=new Set;this.specifierToCache.forEach(otherCache=>{dependents.forEach(dep=>{otherCache[dep]&&(invalidated.add(dep),otherCache[dep]=!1)})})}if(removed){if(cacheEntry&&cacheEntry.type==="docs"){let absoluteImports=cacheEntry.storiesImports.map(p=>import_path6.default.resolve(this.options.workingDir,p));this.findDependencies(absoluteImports).forEach(dep=>dep.dependents.splice(dep.dependents.indexOf(absolutePath),1))}delete cache3[absolutePath]}else cache3[absolutePath]=!1;this.lastIndex=null,this.lastError=null}async getStorySortParameter(){let previewFile=["js","jsx","ts","tsx","mjs","cjs"].map(ext=>import_path6.default.join(this.options.configDir,`preview.${ext}`)).find(fname=>import_fs_extra6.default.existsSync(fname)),storySortParameter;if(previewFile){let previewCode=(await import_fs_extra6.default.readFile(previewFile,"utf-8")).toString();storySortParameter=await(0,import_csf_tools.getStorySortParameter)(previewCode)}return storySortParameter}storyFileNames(){return Array.from(this.specifierToCache.values()).flatMap(r2=>Object.keys(r2))}};var PAGE_REGEX=/(page|screen)/i,isPageStory=storyId=>PAGE_REGEX.test(storyId),isCLIExampleEntry=entry=>["example-introduction--docs","configure-your-project--docs","example-button--docs","example-button--primary","example-button--secondary","example-button--large","example-button--small","example-header--docs","example-header--logged-in","example-header--logged-out","example-page--logged-in","example-page--logged-out"].includes(entry.id),isAnyExampleEntry=entry=>entry.id.startsWith("example-button--")||entry.id.startsWith("example-header--")||entry.id.startsWith("example-page--");function summarizeIndex(storyIndex){let storyCount=0,componentTitles=new Set,exampleStoryCount=0,onboardingStoryCount=0,onboardingDocsCount=0,exampleDocsCount=0,pageStoryCount=0,playStoryCount=0,autodocsCount=0,storiesMdxCount=0,mdxCount=0;Object.values(storyIndex.entries).forEach(entry=>{isCLIExampleEntry(entry)?(entry.type==="story"&&(exampleStoryCount+=1),entry.type==="docs"&&(exampleDocsCount+=1)):isAnyExampleEntry(entry)?(entry.type==="story"&&(onboardingStoryCount+=1),entry.type==="docs"&&(onboardingDocsCount+=1)):entry.type==="story"?(storyCount+=1,componentTitles.add(entry.title),isPageStory(entry.title)&&(pageStoryCount+=1),entry.tags?.includes(PLAY_FN_TAG)&&(playStoryCount+=1)):entry.type==="docs"&&(isMdxEntry(entry)?mdxCount+=1:entry.tags?.includes(STORIES_MDX_TAG)?storiesMdxCount+=1:entry.tags?.includes(AUTODOCS_TAG)&&(autodocsCount+=1))});let componentCount=componentTitles.size;return{storyCount,componentCount,pageStoryCount,playStoryCount,autodocsCount,storiesMdxCount,mdxCount,exampleStoryCount,exampleDocsCount,onboardingStoryCount,onboardingDocsCount,version:storyIndex.v}}var import_server_errors2=require("@storybook/core-events/server-errors");async function buildOrThrow(callback){try{return await callback()}catch(err){let builderErrors=err.errors;throw builderErrors&&builderErrors.find(er=>er.text?.includes("No matching export"))?new import_server_errors2.NoMatchingExportError(err):err}}async function buildStaticStandalone(options){if(options.configType="PRODUCTION",options.outputDir==="")throw new Error("Won't remove current directory. Check your outputDir!");if(options.outputDir=(0,import_path7.resolve)(options.outputDir),options.configDir=(0,import_path7.resolve)(options.configDir),import_node_logger5.logger.info(import_chalk5.default`=> Cleaning outputDir: {cyan ${(0,import_path7.relative)(process.cwd(),options.outputDir)}}`),options.outputDir==="/")throw new Error("Won't remove directory '/'. Check your outputDir!");await(0,import_fs_extra7.emptyDir)(options.outputDir),await(0,import_fs_extra7.ensureDir)(options.outputDir);let config=await(0,import_core_common5.loadMainConfig)(options),{framework}=config,corePresets=[],frameworkName=typeof framework=="string"?framework:framework?.name;frameworkName?corePresets.push((0,import_path7.join)(frameworkName,"preset")):options.ignorePreview||import_node_logger5.logger.warn(`you have not specified a framework in your ${options.configDir}/main.js`),import_node_logger5.logger.info("=> Loading presets");let presets=await(0,import_core_common5.loadAllPresets)({corePresets:[require.resolve("@storybook/core-server/dist/presets/common-preset"),...corePresets],overridePresets:[require.resolve("@storybook/core-server/dist/presets/common-override-preset")],isCritical:!0,...options}),{renderer}=await presets.apply("core",{}),build2=await presets.apply("build",{}),[previewBuilder,managerBuilder]=await getBuilders({...options,presets,build:build2}),resolvedRenderer=renderer?(0,import_core_common5.resolveAddonName)(options.configDir,renderer,options):void 0;presets=await(0,import_core_common5.loadAllPresets)({corePresets:[require.resolve("@storybook/core-server/dist/presets/common-preset"),...managerBuilder.corePresets||[],...previewBuilder.corePresets||[],...resolvedRenderer?[resolvedRenderer]:[],...corePresets,require.resolve("@storybook/core-server/dist/presets/babel-cache-preset")],overridePresets:[...previewBuilder.overridePresets||[],require.resolve("@storybook/core-server/dist/presets/common-override-preset")],...options,build:build2});let[features,core,staticDirs,indexers,deprecatedStoryIndexers,stories,docsOptions]=await Promise.all([presets.apply("features"),presets.apply("core"),presets.apply("staticDirs"),presets.apply("experimental_indexers",[]),presets.apply("storyIndexers",[]),presets.apply("stories"),presets.apply("docs",{})]);features?.storyStoreV7===!1&&(0,import_node_logger5.deprecate)(import_ts_dedent3.default`storyStoreV6 is deprecated, please migrate to storyStoreV7 instead.
|
|
61
|
-
- Refer to the migration guide at https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#storystorev6-and-storiesof-is-deprecated`);let fullOptions={...options,presets,features,build:build2},effects=[];import_global.global.FEATURES=features,await buildOrThrow(async()=>managerBuilder.build({startTime:process.hrtime(),options:fullOptions})),staticDirs&&effects.push(copyAllStaticFilesRelativeToMain(staticDirs,options.outputDir,options.configDir));let coreServerPublicDir=(0,import_path7.join)((0,import_path7.dirname)(require.resolve("@storybook/core-server/package.json")),"public");effects.push((0,import_fs_extra7.copy)(coreServerPublicDir,options.outputDir));let initializedStoryIndexGenerator=Promise.resolve(void 0);if((features?.buildStoriesJson||features?.storyStoreV7)&&!options.ignorePreview){let workingDir=process.cwd(),directories={configDir:options.configDir,workingDir},normalizedStories=(0,import_core_common5.normalizeStories)(stories,directories),generator=new StoryIndexGenerator(normalizedStories,{...directories,
|
|
59
|
+
- If so, has the file successfully loaded in Storybook and are its stories visible?`)}dependencies.forEach(dep=>{dep.dependents.push(absolutePath)});let title=csfEntry?.title||(0,import_preview_api.userOrAutoTitleFromSpecifier)(importPath,specifier,result.title);(0,import_tiny_invariant.default)(title,"makeTitle created an undefined title. This happens when a specifier's doesn't have any matches in its fileName");let defaultName=this.options.docs.defaultName??"Docs",name=result.name||(csfEntry?autoName(importPath,csfEntry.importPath,defaultName):defaultName);return{id:(0,import_csf.toId)(csfEntry?.metaId||title,name),title,name,importPath,storiesImports:sortedDependencies.map(dep=>dep.entries[0].importPath),type:"docs",tags:[...result.tags||[],csfEntry?"attached-mdx":"unattached-mdx","docs"]}}catch(err){throw err&&err.source?.match(/mdast-util-mdx-jsx/g)&&import_node_logger4.logger.warn(`\u{1F4A1} This seems to be an MDX2 syntax error. Please refer to the MDX section in the following resource for assistance on how to fix this: ${import_chalk4.default.yellow("https://storybook.js.org/migration-guides/7.0")}`),err}}chooseDuplicate(firstEntry,secondEntry){if(firstEntry.importPath===secondEntry.importPath)return firstEntry;let firstIsBetter=!0;(secondEntry.type==="story"||isMdxEntry(secondEntry)&&firstEntry.type==="docs"&&!isMdxEntry(firstEntry))&&(firstIsBetter=!1);let betterEntry=firstIsBetter?firstEntry:secondEntry,worseEntry=firstIsBetter?secondEntry:firstEntry,changeDocsName='Use `<Meta of={} name="Other Name">` to distinguish them.';if(worseEntry.type==="story")throw new IndexingError(`Duplicate stories with id: ${firstEntry.id}`,[firstEntry.importPath,secondEntry.importPath]);if(betterEntry.type==="story"){let worseDescriptor=isMdxEntry(worseEntry)?"component docs page":"automatically generated docs page";throw betterEntry.name===this.options.docs.defaultName?new IndexingError(`You have a story for ${betterEntry.title} with the same name as your default docs entry name (${betterEntry.name}), so the docs page is being dropped. Consider changing the story name.`,[firstEntry.importPath,secondEntry.importPath]):new IndexingError(`You have a story for ${betterEntry.title} with the same name as your ${worseDescriptor} (${worseEntry.name}), so the docs page is being dropped. ${changeDocsName}`,[firstEntry.importPath,secondEntry.importPath])}else if(isMdxEntry(betterEntry)){if(isMdxEntry(worseEntry))throw new IndexingError(`You have two component docs pages with the same name ${betterEntry.title}:${betterEntry.name}. ${changeDocsName}`,[firstEntry.importPath,secondEntry.importPath]);if(worseEntry.tags?.includes(AUTODOCS_TAG)&&this.options.docs.autodocs!==!0)throw new IndexingError(`You created a component docs page for '${worseEntry.title}', but also tagged the CSF file with '${AUTODOCS_TAG}'. This is probably a mistake.`,[betterEntry.importPath,worseEntry.importPath])}else return{...betterEntry,storiesImports:[...betterEntry.storiesImports,worseEntry.importPath,...worseEntry.storiesImports]};return betterEntry}async sortStories(entries2){let sortableStories=Object.values(entries2);if(this.options.storyStoreV7){let storySortParameter=await this.getStorySortParameter(),fileNameOrder=this.storyFileNames();(0,import_preview_api.sortStoriesV7)(sortableStories,storySortParameter,fileNameOrder)}return sortableStories.reduce((acc,item)=>(acc[item.id]=item,acc),{})}async getIndex(){if(this.lastIndex)return this.lastIndex;if(this.lastError)throw this.lastError;let storiesList=await this.ensureExtracted();try{let errorEntries=storiesList.filter(entry=>entry.type==="error");if(errorEntries.length)throw new MultipleIndexingError(errorEntries.map(entry=>entry.err));let duplicateErrors=[],indexEntries={};if(storiesList.forEach(entry=>{try{let existing=indexEntries[entry.id];existing?indexEntries[entry.id]=this.chooseDuplicate(existing,entry):indexEntries[entry.id]=entry}catch(err){err instanceof IndexingError&&duplicateErrors.push(err)}}),duplicateErrors.length)throw new MultipleIndexingError(duplicateErrors);let sorted=await this.sortStories(indexEntries);return this.lastIndex={v:4,entries:sorted},this.lastIndex}catch(err){throw this.lastError=err==null||err instanceof Error?err:void 0,(0,import_tiny_invariant.default)(this.lastError),import_node_logger4.logger.warn(`\u{1F6A8} ${this.lastError.toString()}`),this.lastError}}invalidate(specifier,importPath,removed){let absolutePath=slash(import_path6.default.resolve(this.options.workingDir,importPath)),cache3=this.specifierToCache.get(specifier);(0,import_tiny_invariant.default)(cache3,`specifier does not have a matching cache entry in specifierToCache: ${JSON.stringify(specifier)}`);let cacheEntry=cache3[absolutePath];if(cacheEntry&&cacheEntry.type==="stories"){let{dependents}=cacheEntry,invalidated=new Set;this.specifierToCache.forEach(otherCache=>{dependents.forEach(dep=>{otherCache[dep]&&(invalidated.add(dep),otherCache[dep]=!1)})})}if(removed){if(cacheEntry&&cacheEntry.type==="docs"){let absoluteImports=cacheEntry.storiesImports.map(p=>import_path6.default.resolve(this.options.workingDir,p));this.findDependencies(absoluteImports).forEach(dep=>dep.dependents.splice(dep.dependents.indexOf(absolutePath),1))}delete cache3[absolutePath]}else cache3[absolutePath]=!1;this.lastIndex=null,this.lastError=null}async getStorySortParameter(){let previewFile=["js","jsx","ts","tsx","mjs","cjs"].map(ext=>import_path6.default.join(this.options.configDir,`preview.${ext}`)).find(fname=>import_fs_extra6.default.existsSync(fname)),storySortParameter;if(previewFile){let previewCode=(await import_fs_extra6.default.readFile(previewFile,"utf-8")).toString();storySortParameter=await(0,import_csf_tools.getStorySortParameter)(previewCode)}return storySortParameter}storyFileNames(){return Array.from(this.specifierToCache.values()).flatMap(r2=>Object.keys(r2))}};var PAGE_REGEX=/(page|screen)/i,isPageStory=storyId=>PAGE_REGEX.test(storyId),isCLIExampleEntry=entry=>["example-introduction--docs","configure-your-project--docs","example-button--docs","example-button--primary","example-button--secondary","example-button--large","example-button--small","example-header--docs","example-header--logged-in","example-header--logged-out","example-page--logged-in","example-page--logged-out"].includes(entry.id),isAnyExampleEntry=entry=>entry.id.startsWith("example-button--")||entry.id.startsWith("example-header--")||entry.id.startsWith("example-page--");function summarizeIndex(storyIndex){let storyCount=0,componentTitles=new Set,exampleStoryCount=0,onboardingStoryCount=0,onboardingDocsCount=0,exampleDocsCount=0,pageStoryCount=0,playStoryCount=0,autodocsCount=0,storiesMdxCount=0,mdxCount=0;Object.values(storyIndex.entries).forEach(entry=>{isCLIExampleEntry(entry)?(entry.type==="story"&&(exampleStoryCount+=1),entry.type==="docs"&&(exampleDocsCount+=1)):isAnyExampleEntry(entry)?(entry.type==="story"&&(onboardingStoryCount+=1),entry.type==="docs"&&(onboardingDocsCount+=1)):entry.type==="story"?(storyCount+=1,componentTitles.add(entry.title),isPageStory(entry.title)&&(pageStoryCount+=1),entry.tags?.includes(PLAY_FN_TAG)&&(playStoryCount+=1)):entry.type==="docs"&&(isMdxEntry(entry)?mdxCount+=1:entry.tags?.includes(STORIES_MDX_TAG)?storiesMdxCount+=1:entry.tags?.includes(AUTODOCS_TAG)&&(autodocsCount+=1))});let componentCount=componentTitles.size;return{storyCount,componentCount,pageStoryCount,playStoryCount,autodocsCount,storiesMdxCount,mdxCount,exampleStoryCount,exampleDocsCount,onboardingStoryCount,onboardingDocsCount,version:storyIndex.v}}var import_server_errors2=require("@storybook/core-events/server-errors");async function buildOrThrow(callback){try{return await callback()}catch(err){let builderErrors=err.errors;throw builderErrors&&builderErrors.find(er=>er.text?.includes("No matching export"))?new import_server_errors2.NoMatchingExportError(err):err}}async function buildStaticStandalone(options){if(options.configType="PRODUCTION",options.outputDir==="")throw new Error("Won't remove current directory. Check your outputDir!");if(options.outputDir=(0,import_path7.resolve)(options.outputDir),options.configDir=(0,import_path7.resolve)(options.configDir),import_node_logger5.logger.info(import_chalk5.default`=> Cleaning outputDir: {cyan ${(0,import_path7.relative)(process.cwd(),options.outputDir)}}`),options.outputDir==="/")throw new Error("Won't remove directory '/'. Check your outputDir!");await(0,import_fs_extra7.emptyDir)(options.outputDir),await(0,import_fs_extra7.ensureDir)(options.outputDir);let config=await(0,import_core_common5.loadMainConfig)(options),{framework}=config,corePresets=[],frameworkName=typeof framework=="string"?framework:framework?.name;frameworkName?corePresets.push((0,import_path7.join)(frameworkName,"preset")):options.ignorePreview||import_node_logger5.logger.warn(`you have not specified a framework in your ${options.configDir}/main.js`),import_node_logger5.logger.info("=> Loading presets");let presets=await(0,import_core_common5.loadAllPresets)({corePresets:[require.resolve("@storybook/core-server/dist/presets/common-preset"),...corePresets],overridePresets:[require.resolve("@storybook/core-server/dist/presets/common-override-preset")],isCritical:!0,...options}),{renderer}=await presets.apply("core",{}),build2=await presets.apply("build",{}),[previewBuilder,managerBuilder]=await getBuilders({...options,presets,build:build2}),resolvedRenderer=renderer?(0,import_core_common5.resolveAddonName)(options.configDir,renderer,options):void 0;presets=await(0,import_core_common5.loadAllPresets)({corePresets:[require.resolve("@storybook/core-server/dist/presets/common-preset"),...managerBuilder.corePresets||[],...previewBuilder.corePresets||[],...resolvedRenderer?[resolvedRenderer]:[],...corePresets,require.resolve("@storybook/core-server/dist/presets/babel-cache-preset")],overridePresets:[...previewBuilder.overridePresets||[],require.resolve("@storybook/core-server/dist/presets/common-override-preset")],...options,build:build2});let[features,core,staticDirs,indexers,stories,docsOptions]=await Promise.all([presets.apply("features"),presets.apply("core"),presets.apply("staticDirs"),presets.apply("experimental_indexers",[]),presets.apply("stories"),presets.apply("docs",{})]);features?.storyStoreV7===!1&&(0,import_node_logger5.deprecate)(import_ts_dedent3.default`storyStoreV6 is deprecated, please migrate to storyStoreV7 instead.
|
|
60
|
+
- Refer to the migration guide at https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#storystorev6-and-storiesof-is-deprecated`);let fullOptions={...options,presets,features,build:build2},effects=[];import_global.global.FEATURES=features,await buildOrThrow(async()=>managerBuilder.build({startTime:process.hrtime(),options:fullOptions})),staticDirs&&effects.push(copyAllStaticFilesRelativeToMain(staticDirs,options.outputDir,options.configDir));let coreServerPublicDir=(0,import_path7.join)((0,import_path7.dirname)(require.resolve("@storybook/core-server/package.json")),"public");effects.push((0,import_fs_extra7.copy)(coreServerPublicDir,options.outputDir));let initializedStoryIndexGenerator=Promise.resolve(void 0);if((features?.buildStoriesJson||features?.storyStoreV7)&&!options.ignorePreview){let workingDir=process.cwd(),directories={configDir:options.configDir,workingDir},normalizedStories=(0,import_core_common5.normalizeStories)(stories,directories),generator=new StoryIndexGenerator(normalizedStories,{...directories,indexers,docs:docsOptions,storyStoreV7:!!features?.storyStoreV7,build:build2});initializedStoryIndexGenerator=generator.initialize().then(()=>generator),effects.push(extractStoriesJson((0,import_path7.join)(options.outputDir,"index.json"),initializedStoryIndexGenerator))}core?.disableProjectJson||effects.push(extractStorybookMetadata((0,import_path7.join)(options.outputDir,"project.json"),options.configDir)),options.debugWebpack&&(0,import_core_common5.logConfig)("Preview webpack config",await previewBuilder.getConfig(fullOptions)),options.ignorePreview?import_node_logger5.logger.info("=> Not building preview"):import_node_logger5.logger.info("=> Building preview..");let startTime=process.hrtime();await Promise.all([...options.ignorePreview?[]:[previewBuilder.build({startTime,options:fullOptions}).then(async previewStats=>{if(import_node_logger5.logger.trace({message:"=> Preview built",time:process.hrtime(startTime)}),options.webpackStatsJson){let target=options.webpackStatsJson===!0?options.outputDir:options.webpackStatsJson;await outputStats(target,previewStats)}}).catch(error=>{throw import_node_logger5.logger.error("=> Failed to build the preview"),process.exitCode=1,error})],...effects]),core?.disableTelemetry||effects.push(initializedStoryIndexGenerator.then(async generator=>{let storyIndex=await generator?.getIndex(),payload={precedingUpgrade:await(0,import_telemetry2.getPrecedingUpgrade)()};storyIndex&&Object.assign(payload,{storyIndex:summarizeIndex(storyIndex)}),await(0,import_telemetry2.telemetry)("build",payload,{configDir:options.configDir})})),import_node_logger5.logger.info(`=> Output directory: ${options.outputDir}`)}var import_core_common12=require("@storybook/core-common"),import_prompts2=__toESM(require("prompts")),import_tiny_invariant7=__toESM(require("tiny-invariant")),import_global2=require("@storybook/global"),import_telemetry5=require("@storybook/telemetry"),import_path15=require("path"),import_node_logger15=require("@storybook/node-logger"),import_ts_dedent15=__toESM(require("ts-dedent")),import_fs_extra13=require("fs-extra"),import_server_errors4=require("@storybook/core-events/server-errors");var import_express3=__toESM(require("express")),import_compression=__toESM(require("compression")),import_tiny_invariant3=__toESM(require("tiny-invariant")),import_core_common8=require("@storybook/core-common"),import_node_logger10=require("@storybook/node-logger"),import_ts_dedent5=__toESM(require("ts-dedent")),import_server_errors3=require("@storybook/core-events/server-errors");var import_path8=__toESM(require("path")),import_fs2=__toESM(require("fs")),fileExists=basename4=>[".js",".cjs"].reduce((found,ext)=>{let filename=`${basename4}${ext}`;return!found&&import_fs2.default.existsSync(filename)?filename:found},"");function getMiddleware(configDir){let middlewarePath=fileExists(import_path8.default.resolve(configDir,"middleware"));if(middlewarePath){let middlewareModule=require(middlewarePath);return middlewareModule.__esModule&&(middlewareModule=middlewareModule.default),middlewareModule}return()=>{}}var import_ip=__toESM(require("ip")),import_node_logger6=require("@storybook/node-logger"),import_detect_port=__toESM(require("detect-port"));function getServerAddresses(port,host,proto,initialPath){let address=new URL(`${proto}://localhost:${port}/`),networkAddress=new URL(`${proto}://${host||import_ip.default.address()}:${port}/`);if(initialPath){let searchParams=`?path=${decodeURIComponent(initialPath.startsWith("/")?initialPath:`/${initialPath}`)}`;address.search=searchParams,networkAddress.search=searchParams}return{address:address.href,networkAddress:networkAddress.href}}var getServerPort=(port,{exactPort}={})=>(0,import_detect_port.default)(port).then(freePort=>(freePort!==port&&exactPort&&process.exit(-1),freePort)).catch(error=>{import_node_logger6.logger.error(error),process.exit(-1)}),getServerChannelUrl=(port,{https:https4})=>`${https4?"wss":"ws"}://localhost:${port}/storybook-server-channel`;var import_node_logger7=require("@storybook/node-logger"),import_fs_extra8=require("fs-extra"),import_http=__toESM(require("http")),import_https=__toESM(require("https"));async function getServer(app,options){if(!options.https)return import_http.default.createServer(app);options.sslCert||(import_node_logger7.logger.error("Error: --ssl-cert is required with --https"),process.exit(-1)),options.sslKey||(import_node_logger7.logger.error("Error: --ssl-key is required with --https"),process.exit(-1));let sslOptions={ca:await Promise.all((options.sslCa||[]).map(ca=>(0,import_fs_extra8.readFile)(ca,"utf-8"))),cert:await(0,import_fs_extra8.readFile)(options.sslCert,"utf-8"),key:await(0,import_fs_extra8.readFile)(options.sslKey,"utf-8")};return import_https.default.createServer(sslOptions,app)}var import_ws=__toESM(require("ws")),import_telejson=require("telejson"),import_channels=require("@storybook/channels"),ServerChannelTransport=class{constructor(server){this.socket=new import_ws.WebSocketServer({noServer:!0}),server.on("upgrade",(request,socket,head)=>{request.url==="/storybook-server-channel"&&this.socket.handleUpgrade(request,socket,head,ws=>{this.socket.emit("connection",ws,request)})}),this.socket.on("connection",wss=>{wss.on("message",raw=>{let data=raw.toString(),event=typeof data=="string"&&(0,import_telejson.isJSON)(data)?(0,import_telejson.parse)(data,{allowFunction:!1,allowClass:!1}):data;this.handler?.(event)})})}setHandler(handler){this.handler=handler}send(event){let data=(0,import_telejson.stringify)(event,{maxDepth:15,allowFunction:!1,allowClass:!1});Array.from(this.socket.clients).filter(c=>c.readyState===import_ws.default.OPEN).forEach(client=>client.send(data))}};function getServerChannel(server){let transports=[new ServerChannelTransport(server)];return new import_channels.Channel({transports,async:!0})}var import_node_logger8=require("@storybook/node-logger"),import_better_opn=__toESM(require("better-opn")),import_open=__toESM(require("open")),import_x_default_browser=__toESM(require("@aw-web-design/x-default-browser")),import_ts_dedent4=require("ts-dedent");function openInBrowser(address){let browserEnvVar=process.env.BROWSER,userBrowserIsChrome=browserEnvVar==="chrome"||browserEnvVar==="chromium"||browserEnvVar==="brave"||browserEnvVar==="com.brave.browser",openOptions=browserEnvVar?{app:{name:browserEnvVar}}:{};(0,import_x_default_browser.default)(async(err,res)=>{try{res&&(res.isChrome||res.isChromium||res.identity==="com.brave.browser"||userBrowserIsChrome)?await(0,import_better_opn.default)(address):await(0,import_open.default)(address,openOptions)}catch{import_node_logger8.logger.error(import_ts_dedent4.dedent`
|
|
62
61
|
Could not open ${address} inside a browser. If you're running this command inside a
|
|
63
62
|
docker container or on a CI, you need to pass the '--ci' flag to prevent opening a
|
|
64
63
|
browser by default.
|
|
65
|
-
`)}})}var import_core_common6=require("@storybook/core-common");var import_express2=require("express"),router=new import_express2.Router;async function getStoryIndexGenerator(features,options,serverChannel){if(!features?.buildStoriesJson&&!features?.storyStoreV7)return;let workingDir=process.cwd(),directories={configDir:options.configDir,workingDir},stories=options.presets.apply("stories"),
|
|
64
|
+
`)}})}var import_core_common6=require("@storybook/core-common");var import_express2=require("express"),router=new import_express2.Router;async function getStoryIndexGenerator(features,options,serverChannel){if(!features?.buildStoriesJson&&!features?.storyStoreV7)return;let workingDir=process.cwd(),directories={configDir:options.configDir,workingDir},stories=options.presets.apply("stories"),indexers=options.presets.apply("experimental_indexers",[]),docsOptions=options.presets.apply("docs",{}),normalizedStories=(0,import_core_common6.normalizeStories)(await stories,directories),generator=new StoryIndexGenerator(normalizedStories,{...directories,indexers:await indexers,docs:await docsOptions,workingDir,storyStoreV7:features.storyStoreV7??!1}),initializedStoryIndexGenerator=generator.initialize().then(()=>generator);return useStoriesJson({router,initializedStoryIndexGenerator,normalizedStories,serverChannel,workingDir}),initializedStoryIndexGenerator}var import_tiny_invariant2=__toESM(require("tiny-invariant")),import_telemetry4=require("@storybook/telemetry");var versionStatus=versionCheck=>versionCheck.error?"error":versionCheck.cached?"cached":"success";var import_prompts=__toESM(require("prompts")),import_core_common7=require("@storybook/core-common"),import_telemetry3=require("@storybook/telemetry"),import_node_logger9=require("@storybook/node-logger"),promptCrashReports=async()=>{if(process.env.CI&&process.env.NODE_ENV!=="test")return;let{enableCrashReports}=await(0,import_prompts.default)({type:"confirm",name:"enableCrashReports",message:"Would you like to help improve Storybook by sending anonymous crash reports?",initial:!0});return await import_core_common7.cache.set("enableCrashReports",enableCrashReports),enableCrashReports};async function getErrorLevel({cliOptions,presetOptions,skipPrompt}){if(cliOptions.disableTelemetry)return"none";if(!presetOptions)return"full";let core=await(await(0,import_core_common7.loadAllPresets)(presetOptions)).apply("core");if(core?.enableCrashReports!==void 0)return core.enableCrashReports?"full":"error";if(core?.disableTelemetry)return"none";let valueFromCache=await import_core_common7.cache.get("enableCrashReports")??await import_core_common7.cache.get("enableCrashreports");if(valueFromCache!==void 0)return valueFromCache?"full":"error";if(skipPrompt)return"error";let valueFromPrompt=await promptCrashReports();return valueFromPrompt!==void 0?valueFromPrompt?"full":"error":"full"}async function sendTelemetryError(_error,eventType,options){try{let errorLevel="error";try{errorLevel=await getErrorLevel(options)}catch{}if(errorLevel!=="none"){let precedingUpgrade=await(0,import_telemetry3.getPrecedingUpgrade)(),error=_error,errorHash;"message"in error?errorHash=error.message?(0,import_telemetry3.oneWayHash)(error.message):"EMPTY_MESSAGE":errorHash="NO_MESSAGE";let{code,name,category}=error;await(0,import_telemetry3.telemetry)("error",{code,name,category,eventType,precedingUpgrade,error:errorLevel==="full"?error:void 0,errorHash,isErrorInstance:error instanceof Error},{immediate:!0,configDir:options.cliOptions.configDir||options.presetOptions?.configDir,enableCrashReports:errorLevel==="full"})}}catch{}}async function withTelemetry(eventType,options,run){let enableTelemetry=!(options.cliOptions.disableTelemetry||options.cliOptions.test===!0),canceled=!1;async function cancelTelemetry(){canceled=!0,enableTelemetry&&await(0,import_telemetry3.telemetry)("canceled",{eventType},{stripMetadata:!0,immediate:!0}),process.exit(0)}eventType==="init"&&process.on("SIGINT",cancelTelemetry),enableTelemetry&&(0,import_telemetry3.telemetry)("boot",{eventType},{stripMetadata:!0});try{return await run()}catch(error){if(canceled)return;let{printError=import_node_logger9.logger.error}=options;throw printError(error),enableTelemetry&&await sendTelemetryError(error,eventType,options),error}finally{process.off("SIGINIT",cancelTelemetry)}}async function doTelemetry(core,initializedStoryIndexGenerator,options){core?.disableTelemetry||initializedStoryIndexGenerator.then(async generator=>{let storyIndex;try{storyIndex=await generator?.getIndex()}catch(err){if(!(err instanceof Error))throw new Error("encountered a non-recoverable error");sendTelemetryError(err,"dev",{cliOptions:options,presetOptions:{...options,corePresets:[],overridePresets:[]}});return}let{versionCheck,versionUpdates}=options;(0,import_tiny_invariant2.default)(!versionUpdates||versionUpdates&&versionCheck,"versionCheck should be defined when versionUpdates is true");let payload={precedingUpgrade:await(0,import_telemetry4.getPrecedingUpgrade)()};storyIndex&&Object.assign(payload,{versionStatus:versionUpdates&&versionCheck?versionStatus(versionCheck):"disabled",storyIndex:summarizeIndex(storyIndex)}),(0,import_telemetry4.telemetry)("dev",payload,{configDir:options.configDir})}),core?.disableProjectJson||useStorybookMetadata(router,options.configDir)}function getAccessControlMiddleware(crossOriginIsolated){return(req,res,next)=>{res.header("Access-Control-Allow-Origin","*"),res.header("Access-Control-Allow-Headers","Origin, X-Requested-With, Content-Type, Accept"),crossOriginIsolated&&(res.header("Cross-Origin-Opener-Policy","same-origin"),res.header("Cross-Origin-Embedder-Policy","require-corp")),next()}}function getCachingMiddleware(){return(req,res,next)=>{res.header("Cache-Control","no-store"),next()}}async function storybookDevServer(options){let app=(0,import_express3.default)(),[server,features,core]=await Promise.all([getServer(app,options),options.presets.apply("features"),options.presets.apply("core")]),serverChannel=await options.presets.apply("experimental_serverChannel",getServerChannel(server));features?.storyStoreV7===!1&&(0,import_node_logger10.deprecate)(import_ts_dedent5.default`storyStoreV6 is deprecated, please migrate to storyStoreV7 instead.
|
|
66
65
|
- Refer to the migration guide at https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#storystorev6-and-storiesof-is-deprecated`);let indexError,initializedStoryIndexGenerator=getStoryIndexGenerator(features??{},options,serverChannel).catch(err=>{indexError=err});app.use((0,import_compression.default)({level:1})),typeof options.extendServer=="function"&&options.extendServer(server),app.use(getAccessControlMiddleware(core?.crossOriginIsolated??!1)),app.use(getCachingMiddleware()),getMiddleware(options.configDir)(router),app.use(router);let{port,host,initialPath}=options;(0,import_tiny_invariant3.default)(port,"expected options to have a port");let proto=options.https?"https":"http",{address,networkAddress}=getServerAddresses(port,host,proto,initialPath),listening=new Promise((resolve3,reject)=>{server.listen({port,host},error=>error?reject(error):resolve3())});if(!core?.builder)throw new import_server_errors3.MissingBuilderError;let builderName=typeof core?.builder=="string"?core.builder:core?.builder?.name,[previewBuilder,managerBuilder]=await Promise.all([getPreviewBuilder(builderName,options.configDir),getManagerBuilder(),useStatics(router,options)]);options.debugWebpack&&(0,import_core_common8.logConfig)("Preview webpack config",await previewBuilder.getConfig(options));let managerResult=await managerBuilder.start({startTime:process.hrtime(),options,router,server,channel:serverChannel}),previewStarted=Promise.resolve();if(options.ignorePreview||(import_node_logger10.logger.info("=> Starting preview.."),previewStarted=previewBuilder.start({startTime:process.hrtime(),options,router,server,channel:serverChannel}).catch(async e2=>{throw import_node_logger10.logger.error("=> Failed to build the preview"),process.exitCode=1,await managerBuilder?.bail().catch(),await previewBuilder?.bail().catch(),e2})),router.get("/iframe.html",(req,res,next)=>{previewStarted.catch(()=>{}).then(()=>next())}),await Promise.all([initializedStoryIndexGenerator,listening]).then(async([indexGenerator])=>{indexGenerator&&!options.ci&&!options.smokeTest&&options.open&&openInBrowser(host?networkAddress:address)}),indexError)throw await managerBuilder?.bail().catch(),await previewBuilder?.bail().catch(),indexError;let previewResult=await previewStarted;return doTelemetry(core,initializedStoryIndexGenerator,options),{previewResult,managerResult,address,networkAddress}}var import_chalk7=__toESM(require("chalk")),import_node_logger12=require("@storybook/node-logger"),import_boxen=__toESM(require_boxen()),import_ts_dedent7=require("ts-dedent"),import_cli_table3=__toESM(require("cli-table3")),import_pretty_hrtime=__toESM(require("pretty-hrtime"));var import_node_http2=__toESM(require("http"),1),import_node_https=__toESM(require("https"),1),import_node_zlib=__toESM(require("zlib"),1),import_node_stream2=__toESM(require("stream"),1),import_node_buffer2=require("buffer");function dataUriToBuffer(uri){if(!/^data:/i.test(uri))throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');uri=uri.replace(/\r?\n/g,"");let firstComma=uri.indexOf(",");if(firstComma===-1||firstComma<=4)throw new TypeError("malformed data: URI");let meta=uri.substring(5,firstComma).split(";"),charset="",base64=!1,type=meta[0]||"text/plain",typeFull=type;for(let i2=1;i2<meta.length;i2++)meta[i2]==="base64"?base64=!0:meta[i2]&&(typeFull+=`;${meta[i2]}`,meta[i2].indexOf("charset=")===0&&(charset=meta[i2].substring(8)));!meta[0]&&!charset.length&&(typeFull+=";charset=US-ASCII",charset="US-ASCII");let encoding=base64?"base64":"ascii",data=unescape(uri.substring(firstComma+1)),buffer=Buffer.from(data,encoding);return buffer.type=type,buffer.typeFull=typeFull,buffer.charset=charset,buffer}var dist_default=dataUriToBuffer;var import_node_stream=__toESM(require("stream"),1),import_node_util=require("util"),import_node_buffer=require("buffer");init_fetch_blob();init_esm_min();var FetchBaseError=class extends Error{constructor(message,type){super(message),Error.captureStackTrace(this,this.constructor),this.type=type}get name(){return this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}};var FetchError=class extends FetchBaseError{constructor(message,type,systemError){super(message,type),systemError&&(this.code=this.errno=systemError.code,this.erroredSysCall=systemError.syscall)}};var NAME=Symbol.toStringTag,isURLSearchParameters=object=>typeof object=="object"&&typeof object.append=="function"&&typeof object.delete=="function"&&typeof object.get=="function"&&typeof object.getAll=="function"&&typeof object.has=="function"&&typeof object.set=="function"&&typeof object.sort=="function"&&object[NAME]==="URLSearchParams",isBlob=object=>object&&typeof object=="object"&&typeof object.arrayBuffer=="function"&&typeof object.type=="string"&&typeof object.stream=="function"&&typeof object.constructor=="function"&&/^(Blob|File)$/.test(object[NAME]),isAbortSignal=object=>typeof object=="object"&&(object[NAME]==="AbortSignal"||object[NAME]==="EventTarget"),isDomainOrSubdomain=(destination,original)=>{let orig=new URL(original).hostname,dest=new URL(destination).hostname;return orig===dest||orig.endsWith(`.${dest}`)},isSameProtocol=(destination,original)=>{let orig=new URL(original).protocol,dest=new URL(destination).protocol;return orig===dest};var pipeline=(0,import_node_util.promisify)(import_node_stream.default.pipeline),INTERNALS=Symbol("Body internals"),Body=class{constructor(body,{size=0}={}){let boundary=null;body===null?body=null:isURLSearchParameters(body)?body=import_node_buffer.Buffer.from(body.toString()):isBlob(body)||import_node_buffer.Buffer.isBuffer(body)||(import_node_util.types.isAnyArrayBuffer(body)?body=import_node_buffer.Buffer.from(body):ArrayBuffer.isView(body)?body=import_node_buffer.Buffer.from(body.buffer,body.byteOffset,body.byteLength):body instanceof import_node_stream.default||(body instanceof FormData?(body=formDataToBlob(body),boundary=body.type.split("=")[1]):body=import_node_buffer.Buffer.from(String(body))));let stream2=body;import_node_buffer.Buffer.isBuffer(body)?stream2=import_node_stream.default.Readable.from(body):isBlob(body)&&(stream2=import_node_stream.default.Readable.from(body.stream())),this[INTERNALS]={body,stream:stream2,boundary,disturbed:!1,error:null},this.size=size,body instanceof import_node_stream.default&&body.on("error",error_=>{let error=error_ instanceof FetchBaseError?error_:new FetchError(`Invalid response body while trying to fetch ${this.url}: ${error_.message}`,"system",error_);this[INTERNALS].error=error})}get body(){return this[INTERNALS].stream}get bodyUsed(){return this[INTERNALS].disturbed}async arrayBuffer(){let{buffer,byteOffset,byteLength}=await consumeBody(this);return buffer.slice(byteOffset,byteOffset+byteLength)}async formData(){let ct=this.headers.get("content-type");if(ct.startsWith("application/x-www-form-urlencoded")){let formData=new FormData,parameters=new URLSearchParams(await this.text());for(let[name,value]of parameters)formData.append(name,value);return formData}let{toFormData:toFormData2}=await Promise.resolve().then(()=>(init_multipart_parser(),multipart_parser_exports));return toFormData2(this.body,ct)}async blob(){let ct=this.headers&&this.headers.get("content-type")||this[INTERNALS].body&&this[INTERNALS].body.type||"",buf=await this.arrayBuffer();return new fetch_blob_default([buf],{type:ct})}async json(){let text=await this.text();return JSON.parse(text)}async text(){let buffer=await consumeBody(this);return new TextDecoder().decode(buffer)}buffer(){return consumeBody(this)}};Body.prototype.buffer=(0,import_node_util.deprecate)(Body.prototype.buffer,"Please use 'response.arrayBuffer()' instead of 'response.buffer()'","node-fetch#buffer");Object.defineProperties(Body.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0},data:{get:(0,import_node_util.deprecate)(()=>{},"data doesn't exist, use json(), text(), arrayBuffer(), or body instead","https://github.com/node-fetch/node-fetch/issues/1000 (response)")}});async function consumeBody(data){if(data[INTERNALS].disturbed)throw new TypeError(`body used already for: ${data.url}`);if(data[INTERNALS].disturbed=!0,data[INTERNALS].error)throw data[INTERNALS].error;let{body}=data;if(body===null)return import_node_buffer.Buffer.alloc(0);if(!(body instanceof import_node_stream.default))return import_node_buffer.Buffer.alloc(0);let accum=[],accumBytes=0;try{for await(let chunk of body){if(data.size>0&&accumBytes+chunk.length>data.size){let error=new FetchError(`content size at ${data.url} over limit: ${data.size}`,"max-size");throw body.destroy(error),error}accumBytes+=chunk.length,accum.push(chunk)}}catch(error){throw error instanceof FetchBaseError?error:new FetchError(`Invalid response body while trying to fetch ${data.url}: ${error.message}`,"system",error)}if(body.readableEnded===!0||body._readableState.ended===!0)try{return accum.every(c=>typeof c=="string")?import_node_buffer.Buffer.from(accum.join("")):import_node_buffer.Buffer.concat(accum,accumBytes)}catch(error){throw new FetchError(`Could not create Buffer from response body for ${data.url}: ${error.message}`,"system",error)}else throw new FetchError(`Premature close of server response while trying to fetch ${data.url}`)}var clone=(instance,highWaterMark)=>{let p1,p2,{body}=instance[INTERNALS];if(instance.bodyUsed)throw new Error("cannot clone body after it is used");return body instanceof import_node_stream.default&&typeof body.getBoundary!="function"&&(p1=new import_node_stream.PassThrough({highWaterMark}),p2=new import_node_stream.PassThrough({highWaterMark}),body.pipe(p1),body.pipe(p2),instance[INTERNALS].stream=p1,body=p2),body},getNonSpecFormDataBoundary=(0,import_node_util.deprecate)(body=>body.getBoundary(),"form-data doesn't follow the spec and requires special treatment. Use alternative package","https://github.com/node-fetch/node-fetch/issues/1167"),extractContentType=(body,request)=>body===null?null:typeof body=="string"?"text/plain;charset=UTF-8":isURLSearchParameters(body)?"application/x-www-form-urlencoded;charset=UTF-8":isBlob(body)?body.type||null:import_node_buffer.Buffer.isBuffer(body)||import_node_util.types.isAnyArrayBuffer(body)||ArrayBuffer.isView(body)?null:body instanceof FormData?`multipart/form-data; boundary=${request[INTERNALS].boundary}`:body&&typeof body.getBoundary=="function"?`multipart/form-data;boundary=${getNonSpecFormDataBoundary(body)}`:body instanceof import_node_stream.default?null:"text/plain;charset=UTF-8",getTotalBytes=request=>{let{body}=request[INTERNALS];return body===null?0:isBlob(body)?body.size:import_node_buffer.Buffer.isBuffer(body)?body.length:body&&typeof body.getLengthSync=="function"&&body.hasKnownLength&&body.hasKnownLength()?body.getLengthSync():null},writeToStream=async(dest,{body})=>{body===null?dest.end():await pipeline(body,dest)};var import_node_util2=require("util"),import_node_http=__toESM(require("http"),1),validateHeaderName=typeof import_node_http.default.validateHeaderName=="function"?import_node_http.default.validateHeaderName:name=>{if(!/^[\^`\-\w!#$%&'*+.|~]+$/.test(name)){let error=new TypeError(`Header name must be a valid HTTP token [${name}]`);throw Object.defineProperty(error,"code",{value:"ERR_INVALID_HTTP_TOKEN"}),error}},validateHeaderValue=typeof import_node_http.default.validateHeaderValue=="function"?import_node_http.default.validateHeaderValue:(name,value)=>{if(/[^\t\u0020-\u007E\u0080-\u00FF]/.test(value)){let error=new TypeError(`Invalid character in header content ["${name}"]`);throw Object.defineProperty(error,"code",{value:"ERR_INVALID_CHAR"}),error}},Headers=class _Headers extends URLSearchParams{constructor(init2){let result=[];if(init2 instanceof _Headers){let raw=init2.raw();for(let[name,values]of Object.entries(raw))result.push(...values.map(value=>[name,value]))}else if(init2!=null)if(typeof init2=="object"&&!import_node_util2.types.isBoxedPrimitive(init2)){let method=init2[Symbol.iterator];if(method==null)result.push(...Object.entries(init2));else{if(typeof method!="function")throw new TypeError("Header pairs must be iterable");result=[...init2].map(pair=>{if(typeof pair!="object"||import_node_util2.types.isBoxedPrimitive(pair))throw new TypeError("Each header pair must be an iterable object");return[...pair]}).map(pair=>{if(pair.length!==2)throw new TypeError("Each header pair must be a name/value tuple");return[...pair]})}}else throw new TypeError("Failed to construct 'Headers': The provided value is not of type '(sequence<sequence<ByteString>> or record<ByteString, ByteString>)");return result=result.length>0?result.map(([name,value])=>(validateHeaderName(name),validateHeaderValue(name,String(value)),[String(name).toLowerCase(),String(value)])):void 0,super(result),new Proxy(this,{get(target,p,receiver){switch(p){case"append":case"set":return(name,value)=>(validateHeaderName(name),validateHeaderValue(name,String(value)),URLSearchParams.prototype[p].call(target,String(name).toLowerCase(),String(value)));case"delete":case"has":case"getAll":return name=>(validateHeaderName(name),URLSearchParams.prototype[p].call(target,String(name).toLowerCase()));case"keys":return()=>(target.sort(),new Set(URLSearchParams.prototype.keys.call(target)).keys());default:return Reflect.get(target,p,receiver)}}})}get[Symbol.toStringTag](){return this.constructor.name}toString(){return Object.prototype.toString.call(this)}get(name){let values=this.getAll(name);if(values.length===0)return null;let value=values.join(", ");return/^content-encoding$/i.test(name)&&(value=value.toLowerCase()),value}forEach(callback,thisArg=void 0){for(let name of this.keys())Reflect.apply(callback,thisArg,[this.get(name),name,this])}*values(){for(let name of this.keys())yield this.get(name)}*entries(){for(let name of this.keys())yield[name,this.get(name)]}[Symbol.iterator](){return this.entries()}raw(){return[...this.keys()].reduce((result,key)=>(result[key]=this.getAll(key),result),{})}[Symbol.for("nodejs.util.inspect.custom")](){return[...this.keys()].reduce((result,key)=>{let values=this.getAll(key);return key==="host"?result[key]=values[0]:result[key]=values.length>1?values:values[0],result},{})}};Object.defineProperties(Headers.prototype,["get","entries","forEach","values"].reduce((result,property)=>(result[property]={enumerable:!0},result),{}));function fromRawHeaders(headers=[]){return new Headers(headers.reduce((result,value,index,array)=>(index%2===0&&result.push(array.slice(index,index+2)),result),[]).filter(([name,value])=>{try{return validateHeaderName(name),validateHeaderValue(name,String(value)),!0}catch{return!1}}))}var redirectStatus=new Set([301,302,303,307,308]),isRedirect=code=>redirectStatus.has(code);var INTERNALS2=Symbol("Response internals"),Response=class _Response extends Body{constructor(body=null,options={}){super(body,options);let status=options.status!=null?options.status:200,headers=new Headers(options.headers);if(body!==null&&!headers.has("Content-Type")){let contentType=extractContentType(body,this);contentType&&headers.append("Content-Type",contentType)}this[INTERNALS2]={type:"default",url:options.url,status,statusText:options.statusText||"",headers,counter:options.counter,highWaterMark:options.highWaterMark}}get type(){return this[INTERNALS2].type}get url(){return this[INTERNALS2].url||""}get status(){return this[INTERNALS2].status}get ok(){return this[INTERNALS2].status>=200&&this[INTERNALS2].status<300}get redirected(){return this[INTERNALS2].counter>0}get statusText(){return this[INTERNALS2].statusText}get headers(){return this[INTERNALS2].headers}get highWaterMark(){return this[INTERNALS2].highWaterMark}clone(){return new _Response(clone(this,this.highWaterMark),{type:this.type,url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected,size:this.size,highWaterMark:this.highWaterMark})}static redirect(url,status=302){if(!isRedirect(status))throw new RangeError('Failed to execute "redirect" on "response": Invalid status code');return new _Response(null,{headers:{location:new URL(url).toString()},status})}static error(){let response=new _Response(null,{status:0,statusText:""});return response[INTERNALS2].type="error",response}static json(data=void 0,init2={}){let body=JSON.stringify(data);if(body===void 0)throw new TypeError("data is not JSON serializable");let headers=new Headers(init2&&init2.headers);return headers.has("content-type")||headers.set("content-type","application/json"),new _Response(body,{...init2,headers})}get[Symbol.toStringTag](){return"Response"}};Object.defineProperties(Response.prototype,{type:{enumerable:!0},url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}});var import_node_url2=require("url"),import_node_util3=require("util");var getSearch=parsedURL=>{if(parsedURL.search)return parsedURL.search;let lastOffset=parsedURL.href.length-1,hash=parsedURL.hash||(parsedURL.href[lastOffset]==="#"?"#":"");return parsedURL.href[lastOffset-hash.length]==="?"?"?":""};var import_node_net=require("net");function stripURLForUseAsAReferrer(url,originOnly=!1){return url==null||(url=new URL(url),/^(about|blob|data):$/.test(url.protocol))?"no-referrer":(url.username="",url.password="",url.hash="",originOnly&&(url.pathname="",url.search=""),url)}var ReferrerPolicy=new Set(["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"]),DEFAULT_REFERRER_POLICY="strict-origin-when-cross-origin";function validateReferrerPolicy(referrerPolicy){if(!ReferrerPolicy.has(referrerPolicy))throw new TypeError(`Invalid referrerPolicy: ${referrerPolicy}`);return referrerPolicy}function isOriginPotentiallyTrustworthy(url){if(/^(http|ws)s:$/.test(url.protocol))return!0;let hostIp=url.host.replace(/(^\[)|(]$)/g,""),hostIPVersion=(0,import_node_net.isIP)(hostIp);return hostIPVersion===4&&/^127\./.test(hostIp)||hostIPVersion===6&&/^(((0+:){7})|(::(0+:){0,6}))0*1$/.test(hostIp)?!0:url.host==="localhost"||url.host.endsWith(".localhost")?!1:url.protocol==="file:"}function isUrlPotentiallyTrustworthy(url){return/^about:(blank|srcdoc)$/.test(url)||url.protocol==="data:"||/^(blob|filesystem):$/.test(url.protocol)?!0:isOriginPotentiallyTrustworthy(url)}function determineRequestsReferrer(request,{referrerURLCallback,referrerOriginCallback}={}){if(request.referrer==="no-referrer"||request.referrerPolicy==="")return null;let policy=request.referrerPolicy;if(request.referrer==="about:client")return"no-referrer";let referrerSource=request.referrer,referrerURL=stripURLForUseAsAReferrer(referrerSource),referrerOrigin=stripURLForUseAsAReferrer(referrerSource,!0);referrerURL.toString().length>4096&&(referrerURL=referrerOrigin),referrerURLCallback&&(referrerURL=referrerURLCallback(referrerURL)),referrerOriginCallback&&(referrerOrigin=referrerOriginCallback(referrerOrigin));let currentURL=new URL(request.url);switch(policy){case"no-referrer":return"no-referrer";case"origin":return referrerOrigin;case"unsafe-url":return referrerURL;case"strict-origin":return isUrlPotentiallyTrustworthy(referrerURL)&&!isUrlPotentiallyTrustworthy(currentURL)?"no-referrer":referrerOrigin.toString();case"strict-origin-when-cross-origin":return referrerURL.origin===currentURL.origin?referrerURL:isUrlPotentiallyTrustworthy(referrerURL)&&!isUrlPotentiallyTrustworthy(currentURL)?"no-referrer":referrerOrigin;case"same-origin":return referrerURL.origin===currentURL.origin?referrerURL:"no-referrer";case"origin-when-cross-origin":return referrerURL.origin===currentURL.origin?referrerURL:referrerOrigin;case"no-referrer-when-downgrade":return isUrlPotentiallyTrustworthy(referrerURL)&&!isUrlPotentiallyTrustworthy(currentURL)?"no-referrer":referrerURL;default:throw new TypeError(`Invalid referrerPolicy: ${policy}`)}}function parseReferrerPolicyFromHeader(headers){let policyTokens=(headers.get("referrer-policy")||"").split(/[,\s]+/),policy="";for(let token of policyTokens)token&&ReferrerPolicy.has(token)&&(policy=token);return policy}var INTERNALS3=Symbol("Request internals"),isRequest=object=>typeof object=="object"&&typeof object[INTERNALS3]=="object",doBadDataWarn=(0,import_node_util3.deprecate)(()=>{},".data is not a valid RequestInit property, use .body instead","https://github.com/node-fetch/node-fetch/issues/1000 (request)"),Request=class _Request extends Body{constructor(input,init2={}){let parsedURL;if(isRequest(input)?parsedURL=new URL(input.url):(parsedURL=new URL(input),input={}),parsedURL.username!==""||parsedURL.password!=="")throw new TypeError(`${parsedURL} is an url with embedded credentials.`);let method=init2.method||input.method||"GET";if(/^(delete|get|head|options|post|put)$/i.test(method)&&(method=method.toUpperCase()),!isRequest(init2)&&"data"in init2&&doBadDataWarn(),(init2.body!=null||isRequest(input)&&input.body!==null)&&(method==="GET"||method==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let inputBody=init2.body?init2.body:isRequest(input)&&input.body!==null?clone(input):null;super(inputBody,{size:init2.size||input.size||0});let headers=new Headers(init2.headers||input.headers||{});if(inputBody!==null&&!headers.has("Content-Type")){let contentType=extractContentType(inputBody,this);contentType&&headers.set("Content-Type",contentType)}let signal=isRequest(input)?input.signal:null;if("signal"in init2&&(signal=init2.signal),signal!=null&&!isAbortSignal(signal))throw new TypeError("Expected signal to be an instanceof AbortSignal or EventTarget");let referrer=init2.referrer==null?input.referrer:init2.referrer;if(referrer==="")referrer="no-referrer";else if(referrer){let parsedReferrer=new URL(referrer);referrer=/^about:(\/\/)?client$/.test(parsedReferrer)?"client":parsedReferrer}else referrer=void 0;this[INTERNALS3]={method,redirect:init2.redirect||input.redirect||"follow",headers,parsedURL,signal,referrer},this.follow=init2.follow===void 0?input.follow===void 0?20:input.follow:init2.follow,this.compress=init2.compress===void 0?input.compress===void 0?!0:input.compress:init2.compress,this.counter=init2.counter||input.counter||0,this.agent=init2.agent||input.agent,this.highWaterMark=init2.highWaterMark||input.highWaterMark||16384,this.insecureHTTPParser=init2.insecureHTTPParser||input.insecureHTTPParser||!1,this.referrerPolicy=init2.referrerPolicy||input.referrerPolicy||""}get method(){return this[INTERNALS3].method}get url(){return(0,import_node_url2.format)(this[INTERNALS3].parsedURL)}get headers(){return this[INTERNALS3].headers}get redirect(){return this[INTERNALS3].redirect}get signal(){return this[INTERNALS3].signal}get referrer(){if(this[INTERNALS3].referrer==="no-referrer")return"";if(this[INTERNALS3].referrer==="client")return"about:client";if(this[INTERNALS3].referrer)return this[INTERNALS3].referrer.toString()}get referrerPolicy(){return this[INTERNALS3].referrerPolicy}set referrerPolicy(referrerPolicy){this[INTERNALS3].referrerPolicy=validateReferrerPolicy(referrerPolicy)}clone(){return new _Request(this)}get[Symbol.toStringTag](){return"Request"}};Object.defineProperties(Request.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0},referrer:{enumerable:!0},referrerPolicy:{enumerable:!0}});var getNodeRequestOptions=request=>{let{parsedURL}=request[INTERNALS3],headers=new Headers(request[INTERNALS3].headers);headers.has("Accept")||headers.set("Accept","*/*");let contentLengthValue=null;if(request.body===null&&/^(post|put)$/i.test(request.method)&&(contentLengthValue="0"),request.body!==null){let totalBytes=getTotalBytes(request);typeof totalBytes=="number"&&!Number.isNaN(totalBytes)&&(contentLengthValue=String(totalBytes))}contentLengthValue&&headers.set("Content-Length",contentLengthValue),request.referrerPolicy===""&&(request.referrerPolicy=DEFAULT_REFERRER_POLICY),request.referrer&&request.referrer!=="no-referrer"?request[INTERNALS3].referrer=determineRequestsReferrer(request):request[INTERNALS3].referrer="no-referrer",request[INTERNALS3].referrer instanceof URL&&headers.set("Referer",request.referrer),headers.has("User-Agent")||headers.set("User-Agent","node-fetch"),request.compress&&!headers.has("Accept-Encoding")&&headers.set("Accept-Encoding","gzip, deflate, br");let{agent:agent2}=request;typeof agent2=="function"&&(agent2=agent2(parsedURL));let search=getSearch(parsedURL),options={path:parsedURL.pathname+search,method:request.method,headers:headers[Symbol.for("nodejs.util.inspect.custom")](),insecureHTTPParser:request.insecureHTTPParser,agent:agent2};return{parsedURL,options}};var AbortError=class extends FetchBaseError{constructor(message,type="aborted"){super(message,type)}};init_esm_min();init_from();var supportedSchemas=new Set(["data:","http:","https:"]);async function fetch(url,options_){return new Promise((resolve3,reject)=>{let request=new Request(url,options_),{parsedURL,options}=getNodeRequestOptions(request);if(!supportedSchemas.has(parsedURL.protocol))throw new TypeError(`node-fetch cannot load ${url}. URL scheme "${parsedURL.protocol.replace(/:$/,"")}" is not supported.`);if(parsedURL.protocol==="data:"){let data=dist_default(request.url),response2=new Response(data,{headers:{"Content-Type":data.typeFull}});resolve3(response2);return}let send=(parsedURL.protocol==="https:"?import_node_https.default:import_node_http2.default).request,{signal}=request,response=null,abort=()=>{let error=new AbortError("The operation was aborted.");reject(error),request.body&&request.body instanceof import_node_stream2.default.Readable&&request.body.destroy(error),!(!response||!response.body)&&response.body.emit("error",error)};if(signal&&signal.aborted){abort();return}let abortAndFinalize=()=>{abort(),finalize()},request_=send(parsedURL.toString(),options);signal&&signal.addEventListener("abort",abortAndFinalize);let finalize=()=>{request_.abort(),signal&&signal.removeEventListener("abort",abortAndFinalize)};request_.on("error",error=>{reject(new FetchError(`request to ${request.url} failed, reason: ${error.message}`,"system",error)),finalize()}),fixResponseChunkedTransferBadEnding(request_,error=>{response&&response.body&&response.body.destroy(error)}),process.version<"v14"&&request_.on("socket",s2=>{let endedWithEventsCount;s2.prependListener("end",()=>{endedWithEventsCount=s2._eventsCount}),s2.prependListener("close",hadError=>{if(response&&endedWithEventsCount<s2._eventsCount&&!hadError){let error=new Error("Premature close");error.code="ERR_STREAM_PREMATURE_CLOSE",response.body.emit("error",error)}})}),request_.on("response",response_=>{request_.setTimeout(0);let headers=fromRawHeaders(response_.rawHeaders);if(isRedirect(response_.statusCode)){let location=headers.get("Location"),locationURL=null;try{locationURL=location===null?null:new URL(location,request.url)}catch{if(request.redirect!=="manual"){reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`,"invalid-redirect")),finalize();return}}switch(request.redirect){case"error":reject(new FetchError(`uri requested responds with a redirect, redirect mode is set to error: ${request.url}`,"no-redirect")),finalize();return;case"manual":break;case"follow":{if(locationURL===null)break;if(request.counter>=request.follow){reject(new FetchError(`maximum redirect reached at: ${request.url}`,"max-redirect")),finalize();return}let requestOptions={headers:new Headers(request.headers),follow:request.follow,counter:request.counter+1,agent:request.agent,compress:request.compress,method:request.method,body:clone(request),signal:request.signal,size:request.size,referrer:request.referrer,referrerPolicy:request.referrerPolicy};if(!isDomainOrSubdomain(request.url,locationURL)||!isSameProtocol(request.url,locationURL))for(let name of["authorization","www-authenticate","cookie","cookie2"])requestOptions.headers.delete(name);if(response_.statusCode!==303&&request.body&&options_.body instanceof import_node_stream2.default.Readable){reject(new FetchError("Cannot follow redirect with body being a readable stream","unsupported-redirect")),finalize();return}(response_.statusCode===303||(response_.statusCode===301||response_.statusCode===302)&&request.method==="POST")&&(requestOptions.method="GET",requestOptions.body=void 0,requestOptions.headers.delete("content-length"));let responseReferrerPolicy=parseReferrerPolicyFromHeader(headers);responseReferrerPolicy&&(requestOptions.referrerPolicy=responseReferrerPolicy),resolve3(fetch(new Request(locationURL,requestOptions))),finalize();return}default:return reject(new TypeError(`Redirect option '${request.redirect}' is not a valid value of RequestRedirect`))}}signal&&response_.once("end",()=>{signal.removeEventListener("abort",abortAndFinalize)});let body=(0,import_node_stream2.pipeline)(response_,new import_node_stream2.PassThrough,error=>{error&&reject(error)});process.version<"v12.10"&&response_.on("aborted",abortAndFinalize);let responseOptions={url:request.url,status:response_.statusCode,statusText:response_.statusMessage,headers,size:request.size,counter:request.counter,highWaterMark:request.highWaterMark},codings=headers.get("Content-Encoding");if(!request.compress||request.method==="HEAD"||codings===null||response_.statusCode===204||response_.statusCode===304){response=new Response(body,responseOptions),resolve3(response);return}let zlibOptions={flush:import_node_zlib.default.Z_SYNC_FLUSH,finishFlush:import_node_zlib.default.Z_SYNC_FLUSH};if(codings==="gzip"||codings==="x-gzip"){body=(0,import_node_stream2.pipeline)(body,import_node_zlib.default.createGunzip(zlibOptions),error=>{error&&reject(error)}),response=new Response(body,responseOptions),resolve3(response);return}if(codings==="deflate"||codings==="x-deflate"){let raw=(0,import_node_stream2.pipeline)(response_,new import_node_stream2.PassThrough,error=>{error&&reject(error)});raw.once("data",chunk=>{(chunk[0]&15)===8?body=(0,import_node_stream2.pipeline)(body,import_node_zlib.default.createInflate(),error=>{error&&reject(error)}):body=(0,import_node_stream2.pipeline)(body,import_node_zlib.default.createInflateRaw(),error=>{error&&reject(error)}),response=new Response(body,responseOptions),resolve3(response)}),raw.once("end",()=>{response||(response=new Response(body,responseOptions),resolve3(response))});return}if(codings==="br"){body=(0,import_node_stream2.pipeline)(body,import_node_zlib.default.createBrotliDecompress(),error=>{error&&reject(error)}),response=new Response(body,responseOptions),resolve3(response);return}response=new Response(body,responseOptions),resolve3(response)}),writeToStream(request_,request).catch(reject)})}function fixResponseChunkedTransferBadEnding(request,errorCallback){let LAST_CHUNK=import_node_buffer2.Buffer.from(`0\r
|
|
67
66
|
\r
|
|
68
67
|
`),isChunkedTransfer=!1,properLastChunkReceived=!1,previousChunk;request.on("response",response=>{let{headers}=response;isChunkedTransfer=headers["transfer-encoding"]==="chunked"&&!headers["content-length"]}),request.on("socket",socket=>{let onSocketClose=()=>{if(isChunkedTransfer&&!properLastChunkReceived){let error=new Error("Premature close");error.code="ERR_STREAM_PREMATURE_CLOSE",errorCallback(error)}},onData=buf=>{properLastChunkReceived=import_node_buffer2.Buffer.compare(buf.slice(-5),LAST_CHUNK)===0,!properLastChunkReceived&&previousChunk&&(properLastChunkReceived=import_node_buffer2.Buffer.compare(previousChunk.slice(-3),LAST_CHUNK.slice(0,3))===0&&import_node_buffer2.Buffer.compare(buf.slice(-2),LAST_CHUNK.slice(3))===0),previousChunk=buf};socket.prependListener("close",onSocketClose),socket.on("data",onData),request.on("close",()=>{socket.removeListener("close",onSocketClose),socket.removeListener("data",onData)})})}var import_chalk6=__toESM(require("chalk")),import_node_logger11=require("@storybook/node-logger"),import_semver=__toESM(require("semver")),import_ts_dedent6=require("ts-dedent"),import_core_common9=require("@storybook/core-common"),{STORYBOOK_VERSION_BASE="https://storybook.js.org",CI}=process.env,updateCheck=async version=>{let result,time=Date.now();try{let fromCache=await import_core_common9.cache.get("lastUpdateCheck",{success:!1,time:0});time-864e5>fromCache.time&&!CI?(result={success:!0,cached:!1,data:await(await Promise.race([fetch(`${STORYBOOK_VERSION_BASE}/versions.json?current=${version}`),new Promise((res,rej)=>global.setTimeout(rej,1500))])).json(),time},await import_core_common9.cache.set("lastUpdateCheck",result)):result={...fromCache,cached:!0}}catch(error){result={success:!1,cached:!1,error,time}}return result};function createUpdateMessage(updateInfo,version){let updateMessage;try{let upgradeCommand=`npx storybook${import_semver.default.prerelease(updateInfo.data.latest.version)?"@next upgrade --prerelease":"@latest upgrade"}`;updateMessage=updateInfo.success&&import_semver.default.lt(version,updateInfo.data.latest.version)?import_ts_dedent6.dedent`
|
|
@@ -86,7 +85,7 @@ ${updateMessage}`:""}
|
|
|
86
85
|
`||match===`
|
|
87
86
|
`&&str[i2-1]!=="\r"?`\r
|
|
88
87
|
`:match),getType=value=>Object.prototype.toString.call(value).slice(8,-1).toLowerCase();function isPlainObject(value){if(getType(value)!=="object")return!1;let pp=Object.getPrototypeOf(value);return pp==null?!0:(pp.constructor&&pp.constructor.toString())===Object.toString()}function getProperty(target,prop){if(typeof prop=="string"){for(let[name,value]of Object.entries(target))if(prop.toLowerCase()===name.toLowerCase())return value}}var proxyHeaders=object=>new Proxy(object,{get:(target,prop)=>getProperty(target,prop),has:(target,prop)=>getProperty(target,prop)!==void 0}),isFormData=value=>!!(value&&isFunction(value.constructor)&&value[Symbol.toStringTag]==="FormData"&&isFunction(value.append)&&isFunction(value.getAll)&&isFunction(value.entries)&&isFunction(value[Symbol.iterator])),escapeName=name=>String(name).replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/"/g,"%22"),isFile=value=>!!(value&&typeof value=="object"&&isFunction(value.constructor)&&value[Symbol.toStringTag]==="File"&&isFunction(value.stream)&&value.name!=null),__classPrivateFieldSet=function(receiver,state,value,kind,f3){if(kind==="m")throw new TypeError("Private method is not writable");if(kind==="a"&&!f3)throw new TypeError("Private accessor was defined without a setter");if(typeof state=="function"?receiver!==state||!f3:!state.has(receiver))throw new TypeError("Cannot write private member to an object whose class did not declare it");return kind==="a"?f3.call(receiver,value):f3?f3.value=value:state.set(receiver,value),value},__classPrivateFieldGet=function(receiver,state,kind,f3){if(kind==="a"&&!f3)throw new TypeError("Private accessor was defined without a getter");if(typeof state=="function"?receiver!==state||!f3:!state.has(receiver))throw new TypeError("Cannot read private member from an object whose class did not declare it");return kind==="m"?f3:kind==="a"?f3.call(receiver):f3?f3.value:state.get(receiver)},_FormDataEncoder_instances,_FormDataEncoder_CRLF,_FormDataEncoder_CRLF_BYTES,_FormDataEncoder_CRLF_BYTES_LENGTH,_FormDataEncoder_DASHES,_FormDataEncoder_encoder,_FormDataEncoder_footer,_FormDataEncoder_form,_FormDataEncoder_options,_FormDataEncoder_getFieldHeader,_FormDataEncoder_getContentLength,defaultOptions={enableAdditionalHeaders:!1},readonlyProp={writable:!1,configurable:!1},FormDataEncoder=class{constructor(form,boundaryOrOptions,options){if(_FormDataEncoder_instances.add(this),_FormDataEncoder_CRLF.set(this,`\r
|
|
89
|
-
`),_FormDataEncoder_CRLF_BYTES.set(this,void 0),_FormDataEncoder_CRLF_BYTES_LENGTH.set(this,void 0),_FormDataEncoder_DASHES.set(this,"-".repeat(2)),_FormDataEncoder_encoder.set(this,new TextEncoder),_FormDataEncoder_footer.set(this,void 0),_FormDataEncoder_form.set(this,void 0),_FormDataEncoder_options.set(this,void 0),!isFormData(form))throw new TypeError("Expected first argument to be a FormData instance.");let boundary;if(isPlainObject(boundaryOrOptions)?options=boundaryOrOptions:boundary=boundaryOrOptions,boundary||(boundary=createBoundary()),typeof boundary!="string")throw new TypeError("Expected boundary argument to be a string.");if(options&&!isPlainObject(options))throw new TypeError("Expected options argument to be an object.");__classPrivateFieldSet(this,_FormDataEncoder_form,Array.from(form.entries()),"f"),__classPrivateFieldSet(this,_FormDataEncoder_options,{...defaultOptions,...options},"f"),__classPrivateFieldSet(this,_FormDataEncoder_CRLF_BYTES,__classPrivateFieldGet(this,_FormDataEncoder_encoder,"f").encode(__classPrivateFieldGet(this,_FormDataEncoder_CRLF,"f")),"f"),__classPrivateFieldSet(this,_FormDataEncoder_CRLF_BYTES_LENGTH,__classPrivateFieldGet(this,_FormDataEncoder_CRLF_BYTES,"f").byteLength,"f"),this.boundary=`form-data-boundary-${boundary}`,this.contentType=`multipart/form-data; boundary=${this.boundary}`,__classPrivateFieldSet(this,_FormDataEncoder_footer,__classPrivateFieldGet(this,_FormDataEncoder_encoder,"f").encode(`${__classPrivateFieldGet(this,_FormDataEncoder_DASHES,"f")}${this.boundary}${__classPrivateFieldGet(this,_FormDataEncoder_DASHES,"f")}${__classPrivateFieldGet(this,_FormDataEncoder_CRLF,"f").repeat(2)}`),"f");let headers={"Content-Type":this.contentType},contentLength=__classPrivateFieldGet(this,_FormDataEncoder_instances,"m",_FormDataEncoder_getContentLength).call(this);contentLength&&(this.contentLength=contentLength,headers["Content-Length"]=contentLength),this.headers=proxyHeaders(Object.freeze(headers)),Object.defineProperties(this,{boundary:readonlyProp,contentType:readonlyProp,contentLength:readonlyProp,headers:readonlyProp})}getContentLength(){return this.contentLength==null?void 0:Number(this.contentLength)}*values(){for(let[name,raw]of __classPrivateFieldGet(this,_FormDataEncoder_form,"f")){let value=isFile(raw)?raw:__classPrivateFieldGet(this,_FormDataEncoder_encoder,"f").encode(normalizeValue(raw));yield __classPrivateFieldGet(this,_FormDataEncoder_instances,"m",_FormDataEncoder_getFieldHeader).call(this,name,value),yield value,yield __classPrivateFieldGet(this,_FormDataEncoder_CRLF_BYTES,"f")}yield __classPrivateFieldGet(this,_FormDataEncoder_footer,"f")}async*encode(){for(let part of this.values())isFile(part)?yield*getStreamIterator(part.stream()):yield part}[(_FormDataEncoder_CRLF=new WeakMap,_FormDataEncoder_CRLF_BYTES=new WeakMap,_FormDataEncoder_CRLF_BYTES_LENGTH=new WeakMap,_FormDataEncoder_DASHES=new WeakMap,_FormDataEncoder_encoder=new WeakMap,_FormDataEncoder_footer=new WeakMap,_FormDataEncoder_form=new WeakMap,_FormDataEncoder_options=new WeakMap,_FormDataEncoder_instances=new WeakSet,_FormDataEncoder_getFieldHeader=function(name,value){let header="";header+=`${__classPrivateFieldGet(this,_FormDataEncoder_DASHES,"f")}${this.boundary}${__classPrivateFieldGet(this,_FormDataEncoder_CRLF,"f")}`,header+=`Content-Disposition: form-data; name="${escapeName(name)}"`,isFile(value)&&(header+=`; filename="${escapeName(value.name)}"${__classPrivateFieldGet(this,_FormDataEncoder_CRLF,"f")}`,header+=`Content-Type: ${value.type||"application/octet-stream"}`);let size=isFile(value)?value.size:value.byteLength;return __classPrivateFieldGet(this,_FormDataEncoder_options,"f").enableAdditionalHeaders===!0&&size!=null&&!isNaN(size)&&(header+=`${__classPrivateFieldGet(this,_FormDataEncoder_CRLF,"f")}Content-Length: ${isFile(value)?value.size:value.byteLength}`),__classPrivateFieldGet(this,_FormDataEncoder_encoder,"f").encode(`${header}${__classPrivateFieldGet(this,_FormDataEncoder_CRLF,"f").repeat(2)}`)},_FormDataEncoder_getContentLength=function(){let length=0;for(let[name,raw]of __classPrivateFieldGet(this,_FormDataEncoder_form,"f")){let value=isFile(raw)?raw:__classPrivateFieldGet(this,_FormDataEncoder_encoder,"f").encode(normalizeValue(raw)),size=isFile(value)?value.size:value.byteLength;if(size==null||isNaN(size))return;length+=__classPrivateFieldGet(this,_FormDataEncoder_instances,"m",_FormDataEncoder_getFieldHeader).call(this,name,value).byteLength,length+=size,length+=__classPrivateFieldGet(this,_FormDataEncoder_CRLF_BYTES_LENGTH,"f")}return String(length+__classPrivateFieldGet(this,_FormDataEncoder_footer,"f").byteLength)},Symbol.iterator)](){return this.values()}[Symbol.asyncIterator](){return this.encode()}};function isFormData2(body){return dist_default2.nodeStream(body)&&dist_default2.function_(body.getBoundary)}async function getBodySize(body,headers){if(headers&&"content-length"in headers)return Number(headers["content-length"]);if(!body)return 0;if(dist_default2.string(body))return import_node_buffer4.Buffer.byteLength(body);if(dist_default2.buffer(body))return body.length;if(isFormData2(body))return(0,import_node_util4.promisify)(body.getLength.bind(body))()}function proxyEvents(from,to,events){let eventFunctions={};for(let event of events){let eventFunction=(...args)=>{to.emit(event,...args)};eventFunctions[event]=eventFunction,from.on(event,eventFunction)}return()=>{for(let[event,eventFunction]of Object.entries(eventFunctions))from.off(event,eventFunction)}}function unhandle(){let handlers=[];return{once(origin,event,fn){origin.once(event,fn),handlers.push({origin,event,fn})},unhandleAll(){for(let handler of handlers){let{origin,event,fn}=handler;origin.removeListener(event,fn)}handlers.length=0}}}var reentry=Symbol("reentry"),noop2=()=>{},TimeoutError2=class extends Error{constructor(threshold,event){super(`Timeout awaiting '${event}' for ${threshold}ms`),Object.defineProperty(this,"event",{enumerable:!0,configurable:!0,writable:!0,value:event}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="TimeoutError",this.code="ETIMEDOUT"}};function timedOut(request,delays,options){if(reentry in request)return noop2;request[reentry]=!0;let cancelers=[],{once:once2,unhandleAll}=unhandle(),addTimeout=(delay2,callback,event)=>{var _a;let timeout=setTimeout(callback,delay2,delay2,event);(_a=timeout.unref)==null||_a.call(timeout);let cancel=()=>{clearTimeout(timeout)};return cancelers.push(cancel),cancel},{host,hostname}=options,timeoutHandler=(delay2,event)=>{request.destroy(new TimeoutError2(delay2,event))},cancelTimeouts=()=>{for(let cancel of cancelers)cancel();unhandleAll()};if(request.once("error",error=>{if(cancelTimeouts(),request.listenerCount("error")===0)throw error}),typeof delays.request<"u"){let cancelTimeout=addTimeout(delays.request,timeoutHandler,"request");once2(request,"response",response=>{once2(response,"end",cancelTimeout)})}if(typeof delays.socket<"u"){let{socket}=delays,socketTimeoutHandler=()=>{timeoutHandler(socket,"socket")};request.setTimeout(socket,socketTimeoutHandler),cancelers.push(()=>{request.removeListener("timeout",socketTimeoutHandler)})}let hasLookup=typeof delays.lookup<"u",hasConnect=typeof delays.connect<"u",hasSecureConnect=typeof delays.secureConnect<"u",hasSend=typeof delays.send<"u";return(hasLookup||hasConnect||hasSecureConnect||hasSend)&&once2(request,"socket",socket=>{let{socketPath}=request;if(socket.connecting){let hasPath=!!(socketPath??import_node_net2.default.isIP(hostname??host??"")!==0);if(hasLookup&&!hasPath&&typeof socket.address().address>"u"){let cancelTimeout=addTimeout(delays.lookup,timeoutHandler,"lookup");once2(socket,"lookup",cancelTimeout)}if(hasConnect){let timeConnect=()=>addTimeout(delays.connect,timeoutHandler,"connect");hasPath?once2(socket,"connect",timeConnect()):once2(socket,"lookup",error=>{error===null&&once2(socket,"connect",timeConnect())})}hasSecureConnect&&options.protocol==="https:"&&once2(socket,"connect",()=>{let cancelTimeout=addTimeout(delays.secureConnect,timeoutHandler,"secureConnect");once2(socket,"secureConnect",cancelTimeout)})}if(hasSend){let timeRequest=()=>addTimeout(delays.send,timeoutHandler,"send");socket.connecting?once2(socket,"connect",()=>{once2(request,"upload-complete",timeRequest())}):once2(request,"upload-complete",timeRequest())}}),typeof delays.response<"u"&&once2(request,"upload-complete",()=>{let cancelTimeout=addTimeout(delays.response,timeoutHandler,"response");once2(request,"response",cancelTimeout)}),typeof delays.read<"u"&&once2(request,"response",response=>{let cancelTimeout=addTimeout(delays.read,timeoutHandler,"read");once2(response,"end",cancelTimeout)}),cancelTimeouts}function urlToOptions(url){url=url;let options={protocol:url.protocol,hostname:dist_default2.string(url.hostname)&&url.hostname.startsWith("[")?url.hostname.slice(1,-1):url.hostname,host:url.host,hash:url.hash,search:url.search,pathname:url.pathname,href:url.href,path:`${url.pathname||""}${url.search||""}`};return dist_default2.string(url.port)&&url.port.length>0&&(options.port=Number(url.port)),(url.username||url.password)&&(options.auth=`${url.username||""}:${url.password||""}`),options}var WeakableMap=class{constructor(){Object.defineProperty(this,"weakMap",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"map",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.weakMap=new WeakMap,this.map=new Map}set(key,value){typeof key=="object"?this.weakMap.set(key,value):this.map.set(key,value)}get(key){return typeof key=="object"?this.weakMap.get(key):this.map.get(key)}has(key){return typeof key=="object"?this.weakMap.has(key):this.map.has(key)}},calculateRetryDelay=({attemptCount,retryOptions,error,retryAfter,computedValue})=>{if(error.name==="RetryError")return 1;if(attemptCount>retryOptions.limit)return 0;let hasMethod=retryOptions.methods.includes(error.options.method),hasErrorCode=retryOptions.errorCodes.includes(error.code),hasStatusCode=error.response&&retryOptions.statusCodes.includes(error.response.statusCode);if(!hasMethod||!hasErrorCode&&!hasStatusCode)return 0;if(error.response){if(retryAfter)return retryAfter>computedValue?0:retryAfter;if(error.response.statusCode===413)return 0}let noise=Math.random()*retryOptions.noise;return Math.min(2**(attemptCount-1)*1e3,retryOptions.backoffLimit)+noise},calculate_retry_delay_default=calculateRetryDelay,{Resolver:AsyncResolver}=import_node_dns.promises,kCacheableLookupCreateConnection=Symbol("cacheableLookupCreateConnection"),kCacheableLookupInstance=Symbol("cacheableLookupInstance"),kExpires=Symbol("expires"),supportsALL=typeof import_node_dns.ALL=="number",verifyAgent=agent2=>{if(!(agent2&&typeof agent2.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},map4to6=entries2=>{for(let entry of entries2)entry.family!==6&&(entry.address=`::ffff:${entry.address}`,entry.family=6)},getIfaceInfo=()=>{let has4=!1,has6=!1;for(let device of Object.values(import_node_os.default.networkInterfaces()))for(let iface of device)if(!iface.internal&&(iface.family==="IPv6"?has6=!0:has4=!0,has4&&has6))return{has4,has6};return{has4,has6}},isIterable=map=>Symbol.iterator in map,ignoreNoResultErrors=dnsPromise=>dnsPromise.catch(error=>{if(error.code==="ENODATA"||error.code==="ENOTFOUND"||error.code==="ENOENT")return[];throw error}),ttl={ttl:!0},all={all:!0},all4={all:!0,family:4},all6={all:!0,family:6},CacheableLookup=class{constructor({cache:cache3=new Map,maxTtl=1/0,fallbackDuration=3600,errorTtl=.15,resolver=new AsyncResolver,lookup=import_node_dns.lookup}={}){if(this.maxTtl=maxTtl,this.errorTtl=errorTtl,this._cache=cache3,this._resolver=resolver,this._dnsLookup=lookup&&(0,import_node_util6.promisify)(lookup),this.stats={cache:0,query:0},this._resolver instanceof AsyncResolver?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=(0,import_node_util6.promisify)(this._resolver.resolve4.bind(this._resolver)),this._resolve6=(0,import_node_util6.promisify)(this._resolver.resolve6.bind(this._resolver))),this._iface=getIfaceInfo(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,this.fallbackDuration=fallbackDuration,fallbackDuration>0){let interval=setInterval(()=>{this._hostnamesToFallback.clear()},fallbackDuration*1e3);interval.unref&&interval.unref(),this._fallbackInterval=interval}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(servers){this.clear(),this._resolver.setServers(servers)}get servers(){return this._resolver.getServers()}lookup(hostname,options,callback){if(typeof options=="function"?(callback=options,options={}):typeof options=="number"&&(options={family:options}),!callback)throw new Error("Callback must be a function.");this.lookupAsync(hostname,options).then(result=>{options.all?callback(null,result):callback(null,result.address,result.family,result.expires,result.ttl,result.source)},callback)}async lookupAsync(hostname,options={}){typeof options=="number"&&(options={family:options});let cached=await this.query(hostname);if(options.family===6){let filtered=cached.filter(entry=>entry.family===6);options.hints&import_node_dns.V4MAPPED&&(supportsALL&&options.hints&import_node_dns.ALL||filtered.length===0)?map4to6(cached):cached=filtered}else options.family===4&&(cached=cached.filter(entry=>entry.family===4));if(options.hints&import_node_dns.ADDRCONFIG){let{_iface}=this;cached=cached.filter(entry=>entry.family===6?_iface.has6:_iface.has4)}if(cached.length===0){let error=new Error(`cacheableLookup ENOTFOUND ${hostname}`);throw error.code="ENOTFOUND",error.hostname=hostname,error}return options.all?cached:cached[0]}async query(hostname){let source="cache",cached=await this._cache.get(hostname);if(cached&&this.stats.cache++,!cached){let pending=this._pending[hostname];if(pending)this.stats.cache++,cached=await pending;else{source="query";let newPromise=this.queryAndCache(hostname);this._pending[hostname]=newPromise,this.stats.query++;try{cached=await newPromise}finally{delete this._pending[hostname]}}}return cached=cached.map(entry=>({...entry,source})),cached}async _resolve(hostname){let[A2,AAAA]=await Promise.all([ignoreNoResultErrors(this._resolve4(hostname,ttl)),ignoreNoResultErrors(this._resolve6(hostname,ttl))]),aTtl=0,aaaaTtl=0,cacheTtl=0,now=Date.now();for(let entry of A2)entry.family=4,entry.expires=now+entry.ttl*1e3,aTtl=Math.max(aTtl,entry.ttl);for(let entry of AAAA)entry.family=6,entry.expires=now+entry.ttl*1e3,aaaaTtl=Math.max(aaaaTtl,entry.ttl);return A2.length>0?AAAA.length>0?cacheTtl=Math.min(aTtl,aaaaTtl):cacheTtl=aTtl:cacheTtl=aaaaTtl,{entries:[...A2,...AAAA],cacheTtl}}async _lookup(hostname){try{let[A2,AAAA]=await Promise.all([ignoreNoResultErrors(this._dnsLookup(hostname,all4)),ignoreNoResultErrors(this._dnsLookup(hostname,all6))]);return{entries:[...A2,...AAAA],cacheTtl:0}}catch{return{entries:[],cacheTtl:0}}}async _set(hostname,data,cacheTtl){if(this.maxTtl>0&&cacheTtl>0){cacheTtl=Math.min(cacheTtl,this.maxTtl)*1e3,data[kExpires]=Date.now()+cacheTtl;try{await this._cache.set(hostname,data,cacheTtl)}catch(error){this.lookupAsync=async()=>{let cacheError=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw cacheError.cause=error,cacheError}}isIterable(this._cache)&&this._tick(cacheTtl)}}async queryAndCache(hostname){if(this._hostnamesToFallback.has(hostname))return this._dnsLookup(hostname,all);let query=await this._resolve(hostname);query.entries.length===0&&this._dnsLookup&&(query=await this._lookup(hostname),query.entries.length!==0&&this.fallbackDuration>0&&this._hostnamesToFallback.add(hostname));let cacheTtl=query.entries.length===0?this.errorTtl:query.cacheTtl;return await this._set(hostname,query.entries,cacheTtl),query.entries}_tick(ms){let nextRemovalTime=this._nextRemovalTime;(!nextRemovalTime||ms<nextRemovalTime)&&(clearTimeout(this._removalTimeout),this._nextRemovalTime=ms,this._removalTimeout=setTimeout(()=>{this._nextRemovalTime=!1;let nextExpiry=1/0,now=Date.now();for(let[hostname,entries2]of this._cache){let expires=entries2[kExpires];now>=expires?this._cache.delete(hostname):expires<nextExpiry&&(nextExpiry=expires)}nextExpiry!==1/0&&this._tick(nextExpiry-now)},ms),this._removalTimeout.unref&&this._removalTimeout.unref())}install(agent2){if(verifyAgent(agent2),kCacheableLookupCreateConnection in agent2)throw new Error("CacheableLookup has been already installed");agent2[kCacheableLookupCreateConnection]=agent2.createConnection,agent2[kCacheableLookupInstance]=this,agent2.createConnection=(options,callback)=>("lookup"in options||(options.lookup=this.lookup),agent2[kCacheableLookupCreateConnection](options,callback))}uninstall(agent2){if(verifyAgent(agent2),agent2[kCacheableLookupCreateConnection]){if(agent2[kCacheableLookupInstance]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");agent2.createConnection=agent2[kCacheableLookupCreateConnection],delete agent2[kCacheableLookupCreateConnection],delete agent2[kCacheableLookupInstance]}}updateInterfaceInfo(){let{_iface}=this;this._iface=getIfaceInfo(),(_iface.has4&&!this._iface.has4||_iface.has6&&!this._iface.has6)&&this._cache.clear()}clear(hostname){if(hostname){this._cache.delete(hostname);return}this._cache.clear()}},import_http2_wrapper=__toESM2(require_source2(),1);function parseLinkHeader(link){let parsed=[],items=link.split(",");for(let item of items){let[rawUriReference,...rawLinkParameters]=item.split(";"),trimmedUriReference=rawUriReference.trim();if(trimmedUriReference[0]!=="<"||trimmedUriReference[trimmedUriReference.length-1]!==">")throw new Error(`Invalid format of the Link header reference: ${trimmedUriReference}`);let reference=trimmedUriReference.slice(1,-1),parameters={};if(rawLinkParameters.length===0)throw new Error(`Unexpected end of Link header parameters: ${rawLinkParameters.join(";")}`);for(let rawParameter of rawLinkParameters){let trimmedRawParameter=rawParameter.trim(),center=trimmedRawParameter.indexOf("=");if(center===-1)throw new Error(`Failed to parse Link header: ${link}`);let name=trimmedRawParameter.slice(0,center).trim(),value=trimmedRawParameter.slice(center+1).trim();parameters[name]=value}parsed.push({reference,parameters})}return parsed}var[major,minor]=import_node_process2.default.versions.node.split(".").map(Number);function validateSearchParameters(searchParameters){for(let key in searchParameters){let value=searchParameters[key];assert.any([dist_default2.string,dist_default2.number,dist_default2.boolean,dist_default2.null_,dist_default2.undefined],value)}}var globalCache=new Map,globalDnsCache,getGlobalDnsCache=()=>globalDnsCache||(globalDnsCache=new CacheableLookup,globalDnsCache),defaultInternals={request:void 0,agent:{http:void 0,https:void 0,http2:void 0},h2session:void 0,decompress:!0,timeout:{connect:void 0,lookup:void 0,read:void 0,request:void 0,response:void 0,secureConnect:void 0,send:void 0,socket:void 0},prefixUrl:"",body:void 0,form:void 0,json:void 0,cookieJar:void 0,ignoreInvalidCookies:!1,searchParams:void 0,dnsLookup:void 0,dnsCache:void 0,context:{},hooks:{init:[],beforeRequest:[],beforeError:[],beforeRedirect:[],beforeRetry:[],afterResponse:[]},followRedirect:!0,maxRedirects:10,cache:void 0,throwHttpErrors:!0,username:"",password:"",http2:!1,allowGetBody:!1,headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},methodRewriting:!1,dnsLookupIpVersion:void 0,parseJson:JSON.parse,stringifyJson:JSON.stringify,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})=>computedValue,backoffLimit:Number.POSITIVE_INFINITY,noise:100},localAddress:void 0,method:"GET",createConnection:void 0,cacheOptions:{shared:void 0,cacheHeuristic:void 0,immutableMinTimeToLive:void 0,ignoreCargoCult:void 0},https:{alpnProtocols:void 0,rejectUnauthorized:void 0,checkServerIdentity:void 0,certificateAuthority:void 0,key:void 0,certificate:void 0,passphrase:void 0,pfx:void 0,ciphers:void 0,honorCipherOrder:void 0,minVersion:void 0,maxVersion:void 0,signatureAlgorithms:void 0,tlsSessionLifetime:void 0,dhparam:void 0,ecdhCurve:void 0,certificateRevocationLists:void 0},encoding:void 0,resolveBodyOnly:!1,isStream:!1,responseType:"text",url:void 0,pagination:{transform(response){return response.request.options.responseType==="json"?response.body:JSON.parse(response.body)},paginate({response}){let rawLinkHeader=response.headers.link;if(typeof rawLinkHeader!="string"||rawLinkHeader.trim()==="")return!1;let next=parseLinkHeader(rawLinkHeader).find(entry=>entry.parameters.rel==="next"||entry.parameters.rel==='"next"');return next?{url:new import_node_url5.URL(next.reference,response.url)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:Number.POSITIVE_INFINITY,backoff:0,requestLimit:1e4,stackAllItems:!1},setHost:!0,maxHeaderSize:void 0,signal:void 0,enableUnixSockets:!0},cloneInternals=internals=>{let{hooks,retry}=internals,result={...internals,context:{...internals.context},cacheOptions:{...internals.cacheOptions},https:{...internals.https},agent:{...internals.agent},headers:{...internals.headers},retry:{...retry,errorCodes:[...retry.errorCodes],methods:[...retry.methods],statusCodes:[...retry.statusCodes]},timeout:{...internals.timeout},hooks:{init:[...hooks.init],beforeRequest:[...hooks.beforeRequest],beforeError:[...hooks.beforeError],beforeRedirect:[...hooks.beforeRedirect],beforeRetry:[...hooks.beforeRetry],afterResponse:[...hooks.afterResponse]},searchParams:internals.searchParams?new import_node_url5.URLSearchParams(internals.searchParams):void 0,pagination:{...internals.pagination}};return result.url!==void 0&&(result.prefixUrl=""),result},cloneRaw=raw=>{let{hooks,retry}=raw,result={...raw};return dist_default2.object(raw.context)&&(result.context={...raw.context}),dist_default2.object(raw.cacheOptions)&&(result.cacheOptions={...raw.cacheOptions}),dist_default2.object(raw.https)&&(result.https={...raw.https}),dist_default2.object(raw.cacheOptions)&&(result.cacheOptions={...result.cacheOptions}),dist_default2.object(raw.agent)&&(result.agent={...raw.agent}),dist_default2.object(raw.headers)&&(result.headers={...raw.headers}),dist_default2.object(retry)&&(result.retry={...retry},dist_default2.array(retry.errorCodes)&&(result.retry.errorCodes=[...retry.errorCodes]),dist_default2.array(retry.methods)&&(result.retry.methods=[...retry.methods]),dist_default2.array(retry.statusCodes)&&(result.retry.statusCodes=[...retry.statusCodes])),dist_default2.object(raw.timeout)&&(result.timeout={...raw.timeout}),dist_default2.object(hooks)&&(result.hooks={...hooks},dist_default2.array(hooks.init)&&(result.hooks.init=[...hooks.init]),dist_default2.array(hooks.beforeRequest)&&(result.hooks.beforeRequest=[...hooks.beforeRequest]),dist_default2.array(hooks.beforeError)&&(result.hooks.beforeError=[...hooks.beforeError]),dist_default2.array(hooks.beforeRedirect)&&(result.hooks.beforeRedirect=[...hooks.beforeRedirect]),dist_default2.array(hooks.beforeRetry)&&(result.hooks.beforeRetry=[...hooks.beforeRetry]),dist_default2.array(hooks.afterResponse)&&(result.hooks.afterResponse=[...hooks.afterResponse])),dist_default2.object(raw.pagination)&&(result.pagination={...raw.pagination}),result},getHttp2TimeoutOption=internals=>{let delays=[internals.timeout.socket,internals.timeout.connect,internals.timeout.lookup,internals.timeout.request,internals.timeout.secureConnect].filter(delay2=>typeof delay2=="number");if(delays.length>0)return Math.min(...delays)},init=(options,withOptions,self2)=>{var _a;let initHooks=(_a=options.hooks)==null?void 0:_a.init;if(initHooks)for(let hook of initHooks)hook(withOptions,self2)},Options=class{constructor(input,options,defaults2){if(Object.defineProperty(this,"_unixOptions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_internals",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_merging",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_init",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),assert.any([dist_default2.string,dist_default2.urlInstance,dist_default2.object,dist_default2.undefined],input),assert.any([dist_default2.object,dist_default2.undefined],options),assert.any([dist_default2.object,dist_default2.undefined],defaults2),input instanceof Options||options instanceof Options)throw new TypeError("The defaults must be passed as the third argument");this._internals=cloneInternals(defaults2?._internals??defaults2??defaultInternals),this._init=[...defaults2?._init??[]],this._merging=!1,this._unixOptions=void 0;try{if(dist_default2.plainObject(input))try{this.merge(input),this.merge(options)}finally{this.url=input.url}else try{this.merge(options)}finally{if(options?.url!==void 0)if(input===void 0)this.url=options.url;else throw new TypeError("The `url` option is mutually exclusive with the `input` argument");else input!==void 0&&(this.url=input)}}catch(error){throw error.options=this,error}}merge(options){if(options){if(options instanceof Options){for(let init2 of options._init)this.merge(init2);return}options=cloneRaw(options),init(this,options,this),init(options,options,this),this._merging=!0,"isStream"in options&&(this.isStream=options.isStream);try{let push=!1;for(let key in options)if(!(key==="mutableDefaults"||key==="handlers")&&key!=="url"){if(!(key in this))throw new Error(`Unexpected option: ${key}`);this[key]=options[key],push=!0}push&&this._init.push(options)}finally{this._merging=!1}}}get request(){return this._internals.request}set request(value){assert.any([dist_default2.function_,dist_default2.undefined],value),this._internals.request=value}get agent(){return this._internals.agent}set agent(value){assert.plainObject(value);for(let key in value){if(!(key in this._internals.agent))throw new TypeError(`Unexpected agent option: ${key}`);assert.any([dist_default2.object,dist_default2.undefined],value[key])}this._merging?Object.assign(this._internals.agent,value):this._internals.agent={...value}}get h2session(){return this._internals.h2session}set h2session(value){this._internals.h2session=value}get decompress(){return this._internals.decompress}set decompress(value){assert.boolean(value),this._internals.decompress=value}get timeout(){return this._internals.timeout}set timeout(value){assert.plainObject(value);for(let key in value){if(!(key in this._internals.timeout))throw new Error(`Unexpected timeout option: ${key}`);assert.any([dist_default2.number,dist_default2.undefined],value[key])}this._merging?Object.assign(this._internals.timeout,value):this._internals.timeout={...value}}get prefixUrl(){return this._internals.prefixUrl}set prefixUrl(value){if(assert.any([dist_default2.string,dist_default2.urlInstance],value),value===""){this._internals.prefixUrl="";return}if(value=value.toString(),value.endsWith("/")||(value+="/"),this._internals.prefixUrl&&this._internals.url){let{href}=this._internals.url;this._internals.url.href=value+href.slice(this._internals.prefixUrl.length)}this._internals.prefixUrl=value}get body(){return this._internals.body}set body(value){assert.any([dist_default2.string,dist_default2.buffer,dist_default2.nodeStream,dist_default2.generator,dist_default2.asyncGenerator,isFormData,dist_default2.undefined],value),dist_default2.nodeStream(value)&&assert.truthy(value.readable),value!==void 0&&(assert.undefined(this._internals.form),assert.undefined(this._internals.json)),this._internals.body=value}get form(){return this._internals.form}set form(value){assert.any([dist_default2.plainObject,dist_default2.undefined],value),value!==void 0&&(assert.undefined(this._internals.body),assert.undefined(this._internals.json)),this._internals.form=value}get json(){return this._internals.json}set json(value){value!==void 0&&(assert.undefined(this._internals.body),assert.undefined(this._internals.form)),this._internals.json=value}get url(){return this._internals.url}set url(value){if(assert.any([dist_default2.string,dist_default2.urlInstance,dist_default2.undefined],value),value===void 0){this._internals.url=void 0;return}if(dist_default2.string(value)&&value.startsWith("/"))throw new Error("`url` must not start with a slash");let urlString=`${this.prefixUrl}${value.toString()}`,url=new import_node_url5.URL(urlString);if(this._internals.url=url,decodeURI(urlString),url.protocol==="unix:"&&(url.href=`http://unix${url.pathname}${url.search}`),url.protocol!=="http:"&&url.protocol!=="https:"){let error=new Error(`Unsupported protocol: ${url.protocol}`);throw error.code="ERR_UNSUPPORTED_PROTOCOL",error}if(this._internals.username&&(url.username=this._internals.username,this._internals.username=""),this._internals.password&&(url.password=this._internals.password,this._internals.password=""),this._internals.searchParams&&(url.search=this._internals.searchParams.toString(),this._internals.searchParams=void 0),url.hostname==="unix"){if(!this._internals.enableUnixSockets)throw new Error("Using UNIX domain sockets but option `enableUnixSockets` is not enabled");let matches=/(?<socketPath>.+?):(?<path>.+)/.exec(`${url.pathname}${url.search}`);if(matches?.groups){let{socketPath,path:path12}=matches.groups;this._unixOptions={socketPath,path:path12,host:""}}else this._unixOptions=void 0;return}this._unixOptions=void 0}get cookieJar(){return this._internals.cookieJar}set cookieJar(value){if(assert.any([dist_default2.object,dist_default2.undefined],value),value===void 0){this._internals.cookieJar=void 0;return}let{setCookie,getCookieString}=value;assert.function_(setCookie),assert.function_(getCookieString),setCookie.length===4&&getCookieString.length===0?(setCookie=(0,import_node_util5.promisify)(setCookie.bind(value)),getCookieString=(0,import_node_util5.promisify)(getCookieString.bind(value)),this._internals.cookieJar={setCookie,getCookieString}):this._internals.cookieJar=value}get signal(){return this._internals.signal}set signal(value){assert.object(value),this._internals.signal=value}get ignoreInvalidCookies(){return this._internals.ignoreInvalidCookies}set ignoreInvalidCookies(value){assert.boolean(value),this._internals.ignoreInvalidCookies=value}get searchParams(){return this._internals.url?this._internals.url.searchParams:(this._internals.searchParams===void 0&&(this._internals.searchParams=new import_node_url5.URLSearchParams),this._internals.searchParams)}set searchParams(value){assert.any([dist_default2.string,dist_default2.object,dist_default2.undefined],value);let url=this._internals.url;if(value===void 0){this._internals.searchParams=void 0,url&&(url.search="");return}let searchParameters=this.searchParams,updated;if(dist_default2.string(value))updated=new import_node_url5.URLSearchParams(value);else if(value instanceof import_node_url5.URLSearchParams)updated=value;else{validateSearchParameters(value),updated=new import_node_url5.URLSearchParams;for(let key in value){let entry=value[key];entry===null?updated.append(key,""):entry===void 0?searchParameters.delete(key):updated.append(key,entry)}}if(this._merging){for(let key of updated.keys())searchParameters.delete(key);for(let[key,value2]of updated)searchParameters.append(key,value2)}else url?url.search=searchParameters.toString():this._internals.searchParams=searchParameters}get searchParameters(){throw new Error("The `searchParameters` option does not exist. Use `searchParams` instead.")}set searchParameters(_value){throw new Error("The `searchParameters` option does not exist. Use `searchParams` instead.")}get dnsLookup(){return this._internals.dnsLookup}set dnsLookup(value){assert.any([dist_default2.function_,dist_default2.undefined],value),this._internals.dnsLookup=value}get dnsCache(){return this._internals.dnsCache}set dnsCache(value){assert.any([dist_default2.object,dist_default2.boolean,dist_default2.undefined],value),value===!0?this._internals.dnsCache=getGlobalDnsCache():value===!1?this._internals.dnsCache=void 0:this._internals.dnsCache=value}get context(){return this._internals.context}set context(value){assert.object(value),this._merging?Object.assign(this._internals.context,value):this._internals.context={...value}}get hooks(){return this._internals.hooks}set hooks(value){assert.object(value);for(let knownHookEvent in value){if(!(knownHookEvent in this._internals.hooks))throw new Error(`Unexpected hook event: ${knownHookEvent}`);let typedKnownHookEvent=knownHookEvent,hooks=value[typedKnownHookEvent];if(assert.any([dist_default2.array,dist_default2.undefined],hooks),hooks)for(let hook of hooks)assert.function_(hook);if(this._merging)hooks&&this._internals.hooks[typedKnownHookEvent].push(...hooks);else{if(!hooks)throw new Error(`Missing hook event: ${knownHookEvent}`);this._internals.hooks[knownHookEvent]=[...hooks]}}}get followRedirect(){return this._internals.followRedirect}set followRedirect(value){assert.boolean(value),this._internals.followRedirect=value}get followRedirects(){throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.")}set followRedirects(_value){throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.")}get maxRedirects(){return this._internals.maxRedirects}set maxRedirects(value){assert.number(value),this._internals.maxRedirects=value}get cache(){return this._internals.cache}set cache(value){assert.any([dist_default2.object,dist_default2.string,dist_default2.boolean,dist_default2.undefined],value),value===!0?this._internals.cache=globalCache:value===!1?this._internals.cache=void 0:this._internals.cache=value}get throwHttpErrors(){return this._internals.throwHttpErrors}set throwHttpErrors(value){assert.boolean(value),this._internals.throwHttpErrors=value}get username(){let url=this._internals.url,value=url?url.username:this._internals.username;return decodeURIComponent(value)}set username(value){assert.string(value);let url=this._internals.url,fixedValue=encodeURIComponent(value);url?url.username=fixedValue:this._internals.username=fixedValue}get password(){let url=this._internals.url,value=url?url.password:this._internals.password;return decodeURIComponent(value)}set password(value){assert.string(value);let url=this._internals.url,fixedValue=encodeURIComponent(value);url?url.password=fixedValue:this._internals.password=fixedValue}get http2(){return this._internals.http2}set http2(value){assert.boolean(value),this._internals.http2=value}get allowGetBody(){return this._internals.allowGetBody}set allowGetBody(value){assert.boolean(value),this._internals.allowGetBody=value}get headers(){return this._internals.headers}set headers(value){assert.plainObject(value),this._merging?Object.assign(this._internals.headers,lowercaseKeys(value)):this._internals.headers=lowercaseKeys(value)}get methodRewriting(){return this._internals.methodRewriting}set methodRewriting(value){assert.boolean(value),this._internals.methodRewriting=value}get dnsLookupIpVersion(){return this._internals.dnsLookupIpVersion}set dnsLookupIpVersion(value){if(value!==void 0&&value!==4&&value!==6)throw new TypeError(`Invalid DNS lookup IP version: ${value}`);this._internals.dnsLookupIpVersion=value}get parseJson(){return this._internals.parseJson}set parseJson(value){assert.function_(value),this._internals.parseJson=value}get stringifyJson(){return this._internals.stringifyJson}set stringifyJson(value){assert.function_(value),this._internals.stringifyJson=value}get retry(){return this._internals.retry}set retry(value){if(assert.plainObject(value),assert.any([dist_default2.function_,dist_default2.undefined],value.calculateDelay),assert.any([dist_default2.number,dist_default2.undefined],value.maxRetryAfter),assert.any([dist_default2.number,dist_default2.undefined],value.limit),assert.any([dist_default2.array,dist_default2.undefined],value.methods),assert.any([dist_default2.array,dist_default2.undefined],value.statusCodes),assert.any([dist_default2.array,dist_default2.undefined],value.errorCodes),assert.any([dist_default2.number,dist_default2.undefined],value.noise),value.noise&&Math.abs(value.noise)>100)throw new Error(`The maximum acceptable retry noise is +/- 100ms, got ${value.noise}`);for(let key in value)if(!(key in this._internals.retry))throw new Error(`Unexpected retry option: ${key}`);this._merging?Object.assign(this._internals.retry,value):this._internals.retry={...value};let{retry}=this._internals;retry.methods=[...new Set(retry.methods.map(method=>method.toUpperCase()))],retry.statusCodes=[...new Set(retry.statusCodes)],retry.errorCodes=[...new Set(retry.errorCodes)]}get localAddress(){return this._internals.localAddress}set localAddress(value){assert.any([dist_default2.string,dist_default2.undefined],value),this._internals.localAddress=value}get method(){return this._internals.method}set method(value){assert.string(value),this._internals.method=value.toUpperCase()}get createConnection(){return this._internals.createConnection}set createConnection(value){assert.any([dist_default2.function_,dist_default2.undefined],value),this._internals.createConnection=value}get cacheOptions(){return this._internals.cacheOptions}set cacheOptions(value){assert.plainObject(value),assert.any([dist_default2.boolean,dist_default2.undefined],value.shared),assert.any([dist_default2.number,dist_default2.undefined],value.cacheHeuristic),assert.any([dist_default2.number,dist_default2.undefined],value.immutableMinTimeToLive),assert.any([dist_default2.boolean,dist_default2.undefined],value.ignoreCargoCult);for(let key in value)if(!(key in this._internals.cacheOptions))throw new Error(`Cache option \`${key}\` does not exist`);this._merging?Object.assign(this._internals.cacheOptions,value):this._internals.cacheOptions={...value}}get https(){return this._internals.https}set https(value){assert.plainObject(value),assert.any([dist_default2.boolean,dist_default2.undefined],value.rejectUnauthorized),assert.any([dist_default2.function_,dist_default2.undefined],value.checkServerIdentity),assert.any([dist_default2.string,dist_default2.object,dist_default2.array,dist_default2.undefined],value.certificateAuthority),assert.any([dist_default2.string,dist_default2.object,dist_default2.array,dist_default2.undefined],value.key),assert.any([dist_default2.string,dist_default2.object,dist_default2.array,dist_default2.undefined],value.certificate),assert.any([dist_default2.string,dist_default2.undefined],value.passphrase),assert.any([dist_default2.string,dist_default2.buffer,dist_default2.array,dist_default2.undefined],value.pfx),assert.any([dist_default2.array,dist_default2.undefined],value.alpnProtocols),assert.any([dist_default2.string,dist_default2.undefined],value.ciphers),assert.any([dist_default2.string,dist_default2.buffer,dist_default2.undefined],value.dhparam),assert.any([dist_default2.string,dist_default2.undefined],value.signatureAlgorithms),assert.any([dist_default2.string,dist_default2.undefined],value.minVersion),assert.any([dist_default2.string,dist_default2.undefined],value.maxVersion),assert.any([dist_default2.boolean,dist_default2.undefined],value.honorCipherOrder),assert.any([dist_default2.number,dist_default2.undefined],value.tlsSessionLifetime),assert.any([dist_default2.string,dist_default2.undefined],value.ecdhCurve),assert.any([dist_default2.string,dist_default2.buffer,dist_default2.array,dist_default2.undefined],value.certificateRevocationLists);for(let key in value)if(!(key in this._internals.https))throw new Error(`HTTPS option \`${key}\` does not exist`);this._merging?Object.assign(this._internals.https,value):this._internals.https={...value}}get encoding(){return this._internals.encoding}set encoding(value){if(value===null)throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");assert.any([dist_default2.string,dist_default2.undefined],value),this._internals.encoding=value}get resolveBodyOnly(){return this._internals.resolveBodyOnly}set resolveBodyOnly(value){assert.boolean(value),this._internals.resolveBodyOnly=value}get isStream(){return this._internals.isStream}set isStream(value){assert.boolean(value),this._internals.isStream=value}get responseType(){return this._internals.responseType}set responseType(value){if(value===void 0){this._internals.responseType="text";return}if(value!=="text"&&value!=="buffer"&&value!=="json")throw new Error(`Invalid \`responseType\` option: ${value}`);this._internals.responseType=value}get pagination(){return this._internals.pagination}set pagination(value){assert.object(value),this._merging?Object.assign(this._internals.pagination,value):this._internals.pagination=value}get auth(){throw new Error("Parameter `auth` is deprecated. Use `username` / `password` instead.")}set auth(_value){throw new Error("Parameter `auth` is deprecated. Use `username` / `password` instead.")}get setHost(){return this._internals.setHost}set setHost(value){assert.boolean(value),this._internals.setHost=value}get maxHeaderSize(){return this._internals.maxHeaderSize}set maxHeaderSize(value){assert.any([dist_default2.number,dist_default2.undefined],value),this._internals.maxHeaderSize=value}get enableUnixSockets(){return this._internals.enableUnixSockets}set enableUnixSockets(value){assert.boolean(value),this._internals.enableUnixSockets=value}toJSON(){return{...this._internals}}[Symbol.for("nodejs.util.inspect.custom")](_depth,options){return(0,import_node_util5.inspect)(this._internals,options)}createNativeRequestOptions(){var _a;let internals=this._internals,url=internals.url,agent2;url.protocol==="https:"?agent2=internals.http2?internals.agent:internals.agent.https:agent2=internals.agent.http;let{https:https22}=internals,{pfx}=https22;return dist_default2.array(pfx)&&dist_default2.plainObject(pfx[0])&&(pfx=pfx.map(object=>({buf:object.buffer,passphrase:object.passphrase}))),{...internals.cacheOptions,...this._unixOptions,ALPNProtocols:https22.alpnProtocols,ca:https22.certificateAuthority,cert:https22.certificate,key:https22.key,passphrase:https22.passphrase,pfx:https22.pfx,rejectUnauthorized:https22.rejectUnauthorized,checkServerIdentity:https22.checkServerIdentity??import_node_tls.checkServerIdentity,ciphers:https22.ciphers,honorCipherOrder:https22.honorCipherOrder,minVersion:https22.minVersion,maxVersion:https22.maxVersion,sigalgs:https22.signatureAlgorithms,sessionTimeout:https22.tlsSessionLifetime,dhparam:https22.dhparam,ecdhCurve:https22.ecdhCurve,crl:https22.certificateRevocationLists,lookup:internals.dnsLookup??((_a=internals.dnsCache)==null?void 0:_a.lookup),family:internals.dnsLookupIpVersion,agent:agent2,setHost:internals.setHost,method:internals.method,maxHeaderSize:internals.maxHeaderSize,localAddress:internals.localAddress,headers:internals.headers,createConnection:internals.createConnection,timeout:internals.http2?getHttp2TimeoutOption(internals):void 0,h2session:internals.h2session}}getRequestFunction(){let url=this._internals.url,{request}=this._internals;return!request&&url?this.getFallbackRequestFunction():request}getFallbackRequestFunction(){let url=this._internals.url;if(url){if(url.protocol==="https:"){if(this._internals.http2){if(major<15||major===15&&minor<10){let error=new Error("To use the `http2` option, install Node.js 15.10.0 or above");throw error.code="EUNSUPPORTED",error}return import_http2_wrapper.default.auto}return import_node_https2.default.request}return import_node_http4.default.request}}freeze(){let options=this._internals;Object.freeze(options),Object.freeze(options.hooks),Object.freeze(options.hooks.afterResponse),Object.freeze(options.hooks.beforeError),Object.freeze(options.hooks.beforeRedirect),Object.freeze(options.hooks.beforeRequest),Object.freeze(options.hooks.beforeRetry),Object.freeze(options.hooks.init),Object.freeze(options.https),Object.freeze(options.cacheOptions),Object.freeze(options.agent),Object.freeze(options.headers),Object.freeze(options.timeout),Object.freeze(options.retry),Object.freeze(options.retry.errorCodes),Object.freeze(options.retry.methods),Object.freeze(options.retry.statusCodes)}},isResponseOk=response=>{let{statusCode}=response,limitStatusCode=response.request.options.followRedirect?299:399;return statusCode>=200&&statusCode<=limitStatusCode||statusCode===304},ParseError=class extends RequestError{constructor(error,response){let{options}=response.request;super(`${error.message} in "${options.url.toString()}"`,error,response.request),this.name="ParseError",this.code="ERR_BODY_PARSE_FAILURE"}},parseBody=(response,responseType,parseJson,encoding)=>{let{rawBody}=response;try{if(responseType==="text")return rawBody.toString(encoding);if(responseType==="json")return rawBody.length===0?"":parseJson(rawBody.toString(encoding));if(responseType==="buffer")return rawBody}catch(error){throw new ParseError(error,response)}throw new ParseError({message:`Unknown body type '${responseType}'`,name:"Error"},response)};function isClientRequest(clientRequest){return clientRequest.writable&&!clientRequest.writableEnded}var is_client_request_default=isClientRequest;function isUnixSocketURL(url){return url.protocol==="unix:"||url.hostname==="unix"}var supportsBrotli=dist_default2.string(import_node_process.default.versions.brotli),methodsWithoutBody=new Set(["GET","HEAD"]),cacheableStore=new WeakableMap,redirectCodes=new Set([300,301,302,303,304,307,308]),proxiedRequestEvents=["socket","connect","continue","information","upgrade"],noop22=()=>{},Request2=class extends import_node_stream3.Duplex{constructor(url,options,defaults2){super({autoDestroy:!1,highWaterMark:0}),Object.defineProperty(this,"constructor",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_noPipe",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"response",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"requestUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"redirectUrls",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"retryCount",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_stopRetry",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_downloadedSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_uploadedSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_stopReading",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_pipedServerResponses",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_responseSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_bodySize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_unproxyEvents",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_isFromCache",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_cannotHaveBody",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_triggerRead",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_cancelTimeouts",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_removeListeners",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_nativeResponse",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_flushed",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_aborted",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_requestInitialized",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._downloadedSize=0,this._uploadedSize=0,this._stopReading=!1,this._pipedServerResponses=new Set,this._cannotHaveBody=!1,this._unproxyEvents=noop22,this._triggerRead=!1,this._cancelTimeouts=noop22,this._removeListeners=noop22,this._jobs=[],this._flushed=!1,this._requestInitialized=!1,this._aborted=!1,this.redirectUrls=[],this.retryCount=0,this._stopRetry=noop22,this.on("pipe",source=>{source.headers&&Object.assign(this.options.headers,source.headers)}),this.on("newListener",event=>{if(event==="retry"&&this.listenerCount("retry")>0)throw new Error("A retry listener has been attached already.")});try{if(this.options=new Options(url,options,defaults2),!this.options.url){if(this.options.prefixUrl==="")throw new TypeError("Missing `url` property");this.options.url=""}this.requestUrl=this.options.url}catch(error){let{options:options2}=error;options2&&(this.options=options2),this.flush=async()=>{this.flush=async()=>{},this.destroy(error)};return}let{body}=this.options;if(dist_default2.nodeStream(body)&&body.once("error",error=>{this._flushed?this._beforeError(new UploadError(error,this)):this.flush=async()=>{this.flush=async()=>{},this._beforeError(new UploadError(error,this))}}),this.options.signal){let abort=()=>{this.destroy(new AbortError2(this))};this.options.signal.aborted?abort():(this.options.signal.addEventListener("abort",abort),this._removeListeners=()=>{this.options.signal.removeEventListener("abort",abort)})}}async flush(){var _a;if(!this._flushed){this._flushed=!0;try{if(await this._finalizeBody(),this.destroyed)return;if(await this._makeRequest(),this.destroyed){(_a=this._request)==null||_a.destroy();return}for(let job of this._jobs)job();this._jobs.length=0,this._requestInitialized=!0}catch(error){this._beforeError(error)}}}_beforeError(error){if(this._stopReading)return;let{response,options}=this,attemptCount=this.retryCount+(error.name==="RetryError"?0:1);this._stopReading=!0,error instanceof RequestError||(error=new RequestError(error.message,error,this));let typedError=error;(async()=>{var _a,_b;if(response?.readable&&!response.rawBody&&!((_b=(_a=this._request)==null?void 0:_a.socket)!=null&&_b.destroyed)&&(response.setEncoding(this.readableEncoding),await this._setRawBody(response)&&(response.body=response.rawBody.toString())),this.listenerCount("retry")!==0){let backoff;try{let retryAfter;response&&"retry-after"in response.headers&&(retryAfter=Number(response.headers["retry-after"]),Number.isNaN(retryAfter)?(retryAfter=Date.parse(response.headers["retry-after"])-Date.now(),retryAfter<=0&&(retryAfter=1)):retryAfter*=1e3);let retryOptions=options.retry;backoff=await retryOptions.calculateDelay({attemptCount,retryOptions,error:typedError,retryAfter,computedValue:calculate_retry_delay_default({attemptCount,retryOptions,error:typedError,retryAfter,computedValue:retryOptions.maxRetryAfter??options.timeout.request??Number.POSITIVE_INFINITY})})}catch(error_){this._error(new RequestError(error_.message,error_,this));return}if(backoff){if(await new Promise(resolve3=>{let timeout=setTimeout(resolve3,backoff);this._stopRetry=()=>{clearTimeout(timeout),resolve3()}}),this.destroyed)return;try{for(let hook of this.options.hooks.beforeRetry)await hook(typedError,this.retryCount+1)}catch(error_){this._error(new RequestError(error_.message,error,this));return}if(this.destroyed)return;this.destroy(),this.emit("retry",this.retryCount+1,error,updatedOptions=>{let request=new Request2(options.url,updatedOptions,options);return request.retryCount=this.retryCount+1,import_node_process.default.nextTick(()=>{request.flush()}),request});return}}this._error(typedError)})()}_read(){this._triggerRead=!0;let{response}=this;if(response&&!this._stopReading){response.readableLength&&(this._triggerRead=!1);let data;for(;(data=response.read())!==null;){this._downloadedSize+=data.length;let progress=this.downloadProgress;progress.percent<1&&this.emit("downloadProgress",progress),this.push(data)}}}_write(chunk,encoding,callback){let write=()=>{this._writeRequest(chunk,encoding,callback)};this._requestInitialized?write():this._jobs.push(write)}_final(callback){let endRequest=()=>{if(!this._request||this._request.destroyed){callback();return}this._request.end(error=>{var _a;(_a=this._request._writableState)!=null&&_a.errored||(error||(this._bodySize=this._uploadedSize,this.emit("uploadProgress",this.uploadProgress),this._request.emit("upload-complete")),callback(error))})};this._requestInitialized?endRequest():this._jobs.push(endRequest)}_destroy(error,callback){if(this._stopReading=!0,this.flush=async()=>{},this._stopRetry(),this._cancelTimeouts(),this._removeListeners(),this.options){let{body}=this.options;dist_default2.nodeStream(body)&&body.destroy()}this._request&&this._request.destroy(),error!==null&&!dist_default2.undefined(error)&&!(error instanceof RequestError)&&(error=new RequestError(error.message,error,this)),callback(error)}pipe(destination,options){return destination instanceof import_node_http3.ServerResponse&&this._pipedServerResponses.add(destination),super.pipe(destination,options)}unpipe(destination){return destination instanceof import_node_http3.ServerResponse&&this._pipedServerResponses.delete(destination),super.unpipe(destination),this}async _finalizeBody(){let{options}=this,{headers}=options,isForm=!dist_default2.undefined(options.form),isJSON2=!dist_default2.undefined(options.json),isBody=!dist_default2.undefined(options.body),cannotHaveBody=methodsWithoutBody.has(options.method)&&!(options.method==="GET"&&options.allowGetBody);if(this._cannotHaveBody=cannotHaveBody,isForm||isJSON2||isBody){if(cannotHaveBody)throw new TypeError(`The \`${options.method}\` method cannot be used with a body`);let noContentType=!dist_default2.string(headers["content-type"]);if(isBody){if(isFormData(options.body)){let encoder=new FormDataEncoder(options.body);noContentType&&(headers["content-type"]=encoder.headers["Content-Type"]),"Content-Length"in encoder.headers&&(headers["content-length"]=encoder.headers["Content-Length"]),options.body=encoder.encode()}isFormData2(options.body)&&noContentType&&(headers["content-type"]=`multipart/form-data; boundary=${options.body.getBoundary()}`)}else if(isForm){noContentType&&(headers["content-type"]="application/x-www-form-urlencoded");let{form}=options;options.form=void 0,options.body=new import_node_url3.URLSearchParams(form).toString()}else{noContentType&&(headers["content-type"]="application/json");let{json}=options;options.json=void 0,options.body=options.stringifyJson(json)}let uploadBodySize=await getBodySize(options.body,options.headers);dist_default2.undefined(headers["content-length"])&&dist_default2.undefined(headers["transfer-encoding"])&&!cannotHaveBody&&!dist_default2.undefined(uploadBodySize)&&(headers["content-length"]=String(uploadBodySize))}options.responseType==="json"&&!("accept"in options.headers)&&(options.headers.accept="application/json"),this._bodySize=Number(headers["content-length"])||void 0}async _onResponseBase(response){if(this.isAborted)return;let{options}=this,{url}=options;this._nativeResponse=response,options.decompress&&(response=(0,import_decompress_response.default)(response));let statusCode=response.statusCode,typedResponse=response;typedResponse.statusMessage=typedResponse.statusMessage?typedResponse.statusMessage:import_node_http3.default.STATUS_CODES[statusCode],typedResponse.url=options.url.toString(),typedResponse.requestUrl=this.requestUrl,typedResponse.redirectUrls=this.redirectUrls,typedResponse.request=this,typedResponse.isFromCache=this._nativeResponse.fromCache??!1,typedResponse.ip=this.ip,typedResponse.retryCount=this.retryCount,typedResponse.ok=isResponseOk(typedResponse),this._isFromCache=typedResponse.isFromCache,this._responseSize=Number(response.headers["content-length"])||void 0,this.response=typedResponse,response.once("end",()=>{this._responseSize=this._downloadedSize,this.emit("downloadProgress",this.downloadProgress)}),response.once("error",error=>{this._aborted=!0,response.destroy(),this._beforeError(new ReadError(error,this))}),response.once("aborted",()=>{this._aborted=!0,this._beforeError(new ReadError({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let rawCookies=response.headers["set-cookie"];if(dist_default2.object(options.cookieJar)&&rawCookies){let promises=rawCookies.map(async rawCookie=>options.cookieJar.setCookie(rawCookie,url.toString()));options.ignoreInvalidCookies&&(promises=promises.map(async promise=>{try{await promise}catch{}}));try{await Promise.all(promises)}catch(error){this._beforeError(error);return}}if(!this.isAborted){if(options.followRedirect&&response.headers.location&&redirectCodes.has(statusCode)){if(response.resume(),this._cancelTimeouts(),this._unproxyEvents(),this.redirectUrls.length>=options.maxRedirects){this._beforeError(new MaxRedirectsError(this));return}this._request=void 0;let updatedOptions=new Options(void 0,void 0,this.options),serverRequestedGet=statusCode===303&&updatedOptions.method!=="GET"&&updatedOptions.method!=="HEAD",canRewrite=statusCode!==307&&statusCode!==308,userRequestedGet=updatedOptions.methodRewriting&&canRewrite;(serverRequestedGet||userRequestedGet)&&(updatedOptions.method="GET",updatedOptions.body=void 0,updatedOptions.json=void 0,updatedOptions.form=void 0,delete updatedOptions.headers["content-length"]);try{let redirectBuffer=import_node_buffer3.Buffer.from(response.headers.location,"binary").toString(),redirectUrl=new import_node_url3.URL(redirectBuffer,url);if(!isUnixSocketURL(url)&&isUnixSocketURL(redirectUrl)){this._beforeError(new RequestError("Cannot redirect to UNIX socket",{},this));return}redirectUrl.hostname!==url.hostname||redirectUrl.port!==url.port?("host"in updatedOptions.headers&&delete updatedOptions.headers.host,"cookie"in updatedOptions.headers&&delete updatedOptions.headers.cookie,"authorization"in updatedOptions.headers&&delete updatedOptions.headers.authorization,(updatedOptions.username||updatedOptions.password)&&(updatedOptions.username="",updatedOptions.password="")):(redirectUrl.username=updatedOptions.username,redirectUrl.password=updatedOptions.password),this.redirectUrls.push(redirectUrl),updatedOptions.prefixUrl="",updatedOptions.url=redirectUrl;for(let hook of updatedOptions.hooks.beforeRedirect)await hook(updatedOptions,typedResponse);this.emit("redirect",updatedOptions,typedResponse),this.options=updatedOptions,await this._makeRequest()}catch(error){this._beforeError(error);return}return}if(options.isStream&&options.throwHttpErrors&&!isResponseOk(typedResponse)){this._beforeError(new HTTPError(typedResponse));return}if(response.on("readable",()=>{this._triggerRead&&this._read()}),this.on("resume",()=>{response.resume()}),this.on("pause",()=>{response.pause()}),response.once("end",()=>{this.push(null)}),this._noPipe){await this._setRawBody()&&this.emit("response",response);return}this.emit("response",response);for(let destination of this._pipedServerResponses)if(!destination.headersSent){for(let key in response.headers){let isAllowed=options.decompress?key!=="content-encoding":!0,value=response.headers[key];isAllowed&&destination.setHeader(key,value)}destination.statusCode=statusCode}}}async _setRawBody(from=this){if(from.readableEnded)return!1;try{let rawBody=await(0,import_get_stream2.buffer)(from);if(!this.isAborted)return this.response.rawBody=rawBody,!0}catch{}return!1}async _onResponse(response){try{await this._onResponseBase(response)}catch(error){this._beforeError(error)}}_onRequest(request){let{options}=this,{timeout,url}=options;source_default(request),this.options.http2&&request.setTimeout(0),this._cancelTimeouts=timedOut(request,timeout,url);let responseEventName=options.cache?"cacheableResponse":"response";request.once(responseEventName,response=>{this._onResponse(response)}),request.once("error",error=>{this._aborted=!0,request.destroy(),error=error instanceof TimeoutError2?new TimeoutError(error,this.timings,this):new RequestError(error.message,error,this),this._beforeError(error)}),this._unproxyEvents=proxyEvents(request,this,proxiedRequestEvents),this._request=request,this.emit("uploadProgress",this.uploadProgress),this._sendBody(),this.emit("request",request)}async _asyncWrite(chunk){return new Promise((resolve3,reject)=>{super.write(chunk,error=>{if(error){reject(error);return}resolve3()})})}_sendBody(){let{body}=this.options,currentRequest=this.redirectUrls.length===0?this:this._request??this;dist_default2.nodeStream(body)?body.pipe(currentRequest):dist_default2.generator(body)||dist_default2.asyncGenerator(body)?(async()=>{try{for await(let chunk of body)await this._asyncWrite(chunk);super.end()}catch(error){this._beforeError(error)}})():dist_default2.undefined(body)?(this._cannotHaveBody||this._noPipe)&¤tRequest.end():(this._writeRequest(body,void 0,()=>{}),currentRequest.end())}_prepareCache(cache3){if(!cacheableStore.has(cache3)){let cacheableRequest=new dist_default22((requestOptions,handler)=>{let result=requestOptions._request(requestOptions,handler);return dist_default2.promise(result)&&(result.once=(event,handler2)=>{if(event==="error")(async()=>{try{await result}catch(error){handler2(error)}})();else if(event==="abort")(async()=>{try{(await result).once("abort",handler2)}catch{}})();else throw new Error(`Unknown HTTP2 promise event: ${event}`);return result}),result},cache3);cacheableStore.set(cache3,cacheableRequest.request())}}async _createCacheableRequest(url,options){return new Promise((resolve3,reject)=>{Object.assign(options,urlToOptions(url));let request,cacheRequest=cacheableStore.get(options.cache)(options,async response=>{if(response._readableState.autoDestroy=!1,request){let fix=()=>{response.req&&(response.complete=response.req.res.complete)};response.prependOnceListener("end",fix),fix(),(await request).emit("cacheableResponse",response)}resolve3(response)});cacheRequest.once("error",reject),cacheRequest.once("request",async requestOrPromise=>{request=requestOrPromise,resolve3(request)})})}async _makeRequest(){let{options}=this,{headers,username,password}=options,cookieJar=options.cookieJar;for(let key in headers)if(dist_default2.undefined(headers[key]))delete headers[key];else if(dist_default2.null_(headers[key]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${key}\` header`);if(options.decompress&&dist_default2.undefined(headers["accept-encoding"])&&(headers["accept-encoding"]=supportsBrotli?"gzip, deflate, br":"gzip, deflate"),username||password){let credentials=import_node_buffer3.Buffer.from(`${username}:${password}`).toString("base64");headers.authorization=`Basic ${credentials}`}if(cookieJar){let cookieString=await cookieJar.getCookieString(options.url.toString());dist_default2.nonEmptyString(cookieString)&&(headers.cookie=cookieString)}options.prefixUrl="";let request;for(let hook of options.hooks.beforeRequest){let result=await hook(options);if(!dist_default2.undefined(result)){request=()=>result;break}}request||(request=options.getRequestFunction());let url=options.url;this._requestOptions=options.createNativeRequestOptions(),options.cache&&(this._requestOptions._request=request,this._requestOptions.cache=options.cache,this._requestOptions.body=options.body,this._prepareCache(options.cache));let fn=options.cache?this._createCacheableRequest:request;try{let requestOrResponse=fn(url,this._requestOptions);dist_default2.promise(requestOrResponse)&&(requestOrResponse=await requestOrResponse),dist_default2.undefined(requestOrResponse)&&(requestOrResponse=options.getFallbackRequestFunction()(url,this._requestOptions),dist_default2.promise(requestOrResponse)&&(requestOrResponse=await requestOrResponse)),is_client_request_default(requestOrResponse)?this._onRequest(requestOrResponse):this.writable?(this.once("finish",()=>{this._onResponse(requestOrResponse)}),this._sendBody()):this._onResponse(requestOrResponse)}catch(error){throw error instanceof CacheError2?new CacheError(error,this):error}}async _error(error){try{if(!(error instanceof HTTPError&&!this.options.throwHttpErrors))for(let hook of this.options.hooks.beforeError)error=await hook(error)}catch(error_){error=new RequestError(error_.message,error_,this)}this.destroy(error)}_writeRequest(chunk,encoding,callback){!this._request||this._request.destroyed||this._request.write(chunk,encoding,error=>{if(!error&&!this._request.destroyed){this._uploadedSize+=import_node_buffer3.Buffer.byteLength(chunk,encoding);let progress=this.uploadProgress;progress.percent<1&&this.emit("uploadProgress",progress)}callback(error)})}get ip(){var _a;return(_a=this.socket)==null?void 0:_a.remoteAddress}get isAborted(){return this._aborted}get socket(){var _a;return((_a=this._request)==null?void 0:_a.socket)??void 0}get downloadProgress(){let percent;return this._responseSize?percent=this._downloadedSize/this._responseSize:this._responseSize===this._downloadedSize?percent=1:percent=0,{percent,transferred:this._downloadedSize,total:this._responseSize}}get uploadProgress(){let percent;return this._bodySize?percent=this._uploadedSize/this._bodySize:this._bodySize===this._uploadedSize?percent=1:percent=0,{percent,transferred:this._uploadedSize,total:this._bodySize}}get timings(){var _a;return(_a=this._request)==null?void 0:_a.timings}get isFromCache(){return this._isFromCache}get reusedSocket(){var _a;return(_a=this._request)==null?void 0:_a.reusedSocket}},CancelError2=class extends RequestError{constructor(request){super("Promise was canceled",{},request),this.name="CancelError",this.code="ERR_CANCELED"}get isCanceled(){return!0}},proxiedRequestEvents2=["request","response","redirect","uploadProgress","downloadProgress"];function asPromise(firstRequest){let globalRequest,globalResponse,normalizedOptions,emitter=new import_node_events.EventEmitter,promise=new PCancelable((resolve3,reject,onCancel)=>{onCancel(()=>{globalRequest.destroy()}),onCancel.shouldReject=!1,onCancel(()=>{reject(new CancelError2(globalRequest))});let makeRequest=retryCount=>{var _a;onCancel(()=>{});let request=firstRequest??new Request2(void 0,void 0,normalizedOptions);request.retryCount=retryCount,request._noPipe=!0,globalRequest=request,request.once("response",async response=>{let contentEncoding=(response.headers["content-encoding"]??"").toLowerCase(),isCompressed=contentEncoding==="gzip"||contentEncoding==="deflate"||contentEncoding==="br",{options}=request;if(isCompressed&&!options.decompress)response.body=response.rawBody;else try{response.body=parseBody(response,options.responseType,options.parseJson,options.encoding)}catch(error){if(response.body=response.rawBody.toString(),isResponseOk(response)){request._beforeError(error);return}}try{let hooks=options.hooks.afterResponse;for(let[index,hook]of hooks.entries())if(response=await hook(response,async updatedOptions=>{throw options.merge(updatedOptions),options.prefixUrl="",updatedOptions.url&&(options.url=updatedOptions.url),options.hooks.afterResponse=options.hooks.afterResponse.slice(0,index),new RetryError(request)}),!(dist_default2.object(response)&&dist_default2.number(response.statusCode)&&!dist_default2.nullOrUndefined(response.body)))throw new TypeError("The `afterResponse` hook returned an invalid value")}catch(error){request._beforeError(error);return}if(globalResponse=response,!isResponseOk(response)){request._beforeError(new HTTPError(response));return}request.destroy(),resolve3(request.options.resolveBodyOnly?response.body:response)});let onError=error=>{if(promise.isCanceled)return;let{options}=request;if(error instanceof HTTPError&&!options.throwHttpErrors){let{response}=error;request.destroy(),resolve3(request.options.resolveBodyOnly?response.body:response);return}reject(error)};request.once("error",onError);let previousBody=(_a=request.options)==null?void 0:_a.body;request.once("retry",(newRetryCount,error)=>{firstRequest=void 0;let newBody=request.options.body;if(previousBody===newBody&&dist_default2.nodeStream(newBody)){error.message="Cannot retry with consumed body stream",onError(error);return}normalizedOptions=request.options,makeRequest(newRetryCount)}),proxyEvents(request,emitter,proxiedRequestEvents2),dist_default2.undefined(firstRequest)&&request.flush()};makeRequest(0)});promise.on=(event,fn)=>(emitter.on(event,fn),promise),promise.off=(event,fn)=>(emitter.off(event,fn),promise);let shortcut=responseType=>{let newPromise=(async()=>{await promise;let{options}=globalResponse.request;return parseBody(globalResponse,responseType,options.parseJson,options.encoding)})();return Object.defineProperties(newPromise,Object.getOwnPropertyDescriptors(promise)),newPromise};return promise.json=()=>{if(globalRequest.options){let{headers}=globalRequest.options;!globalRequest.writableFinished&&!("accept"in headers)&&(headers.accept="application/json")}return shortcut("json")},promise.buffer=()=>shortcut("buffer"),promise.text=()=>shortcut("text"),promise}var delay=async ms=>new Promise(resolve3=>{setTimeout(resolve3,ms)}),isGotInstance=value=>dist_default2.function_(value),aliases=["get","post","put","patch","head","delete"],create=defaults2=>{defaults2={options:new Options(void 0,void 0,defaults2.options),handlers:[...defaults2.handlers],mutableDefaults:defaults2.mutableDefaults},Object.defineProperty(defaults2,"mutableDefaults",{enumerable:!0,configurable:!1,writable:!1});let got2=(url,options,defaultOptions2=defaults2.options)=>{let request=new Request2(url,options,defaultOptions2),promise,lastHandler=normalized=>(request.options=normalized,request._noPipe=!normalized.isStream,request.flush(),normalized.isStream?request:(promise||(promise=asPromise(request)),promise)),iteration=0,iterateHandlers=newOptions=>{let result=(defaults2.handlers[iteration++]??lastHandler)(newOptions,iterateHandlers);if(dist_default2.promise(result)&&!request.options.isStream&&(promise||(promise=asPromise(request)),result!==promise)){let descriptors=Object.getOwnPropertyDescriptors(promise);for(let key in descriptors)key in result&&delete descriptors[key];Object.defineProperties(result,descriptors),result.cancel=promise.cancel}return result};return iterateHandlers(request.options)};got2.extend=(...instancesOrOptions)=>{let options=new Options(void 0,void 0,defaults2.options),handlers=[...defaults2.handlers],mutableDefaults;for(let value of instancesOrOptions)isGotInstance(value)?(options.merge(value.defaults.options),handlers.push(...value.defaults.handlers),mutableDefaults=value.defaults.mutableDefaults):(options.merge(value),value.handlers&&handlers.push(...value.handlers),mutableDefaults=value.mutableDefaults);return create({options,handlers,mutableDefaults:!!mutableDefaults})};let paginateEach=async function*(url,options){let normalizedOptions=new Options(url,options,defaults2.options);normalizedOptions.resolveBodyOnly=!1;let{pagination}=normalizedOptions;assert.function_(pagination.transform),assert.function_(pagination.shouldContinue),assert.function_(pagination.filter),assert.function_(pagination.paginate),assert.number(pagination.countLimit),assert.number(pagination.requestLimit),assert.number(pagination.backoff);let allItems=[],{countLimit}=pagination,numberOfRequests=0;for(;numberOfRequests<pagination.requestLimit;){numberOfRequests!==0&&await delay(pagination.backoff);let response=await got2(void 0,void 0,normalizedOptions),parsed=await pagination.transform(response),currentItems=[];assert.array(parsed);for(let item of parsed)if(pagination.filter({item,currentItems,allItems})&&(!pagination.shouldContinue({item,currentItems,allItems})||(yield item,pagination.stackAllItems&&allItems.push(item),currentItems.push(item),--countLimit<=0)))return;let optionsToMerge=pagination.paginate({response,currentItems,allItems});if(optionsToMerge===!1)return;optionsToMerge===response.request.options?normalizedOptions=response.request.options:(normalizedOptions.merge(optionsToMerge),assert.any([dist_default2.urlInstance,dist_default2.undefined],optionsToMerge.url),optionsToMerge.url!==void 0&&(normalizedOptions.prefixUrl="",normalizedOptions.url=optionsToMerge.url)),numberOfRequests++}};got2.paginate=paginateEach,got2.paginate.all=async(url,options)=>{let results=[];for await(let item of paginateEach(url,options))results.push(item);return results},got2.paginate.each=paginateEach,got2.stream=(url,options)=>got2(url,{...options,isStream:!0});for(let method of aliases)got2[method]=(url,options)=>got2(url,{...options,method}),got2.stream[method]=(url,options)=>got2(url,{...options,method,isStream:!0});return defaults2.mutableDefaults||(Object.freeze(defaults2.handlers),defaults2.options.freeze()),Object.defineProperty(got2,"defaults",{value:defaults2,writable:!1,configurable:!1,enumerable:!0}),got2},create_default=create,defaults={options:new Options,handlers:[],mutableDefaults:!1},got=create_default(defaults);var agentOpts={keepAlive:!0,maxSockets:20},agent={http:new import_http2.Agent(agentOpts),https:new import_https2.Agent(agentOpts)};var tempy2=__toESM(require_tempy()),import_tiny_invariant4=__toESM(require("tiny-invariant"));var import_semver2=require("semver");var ProjectType=(ProjectType2=>(ProjectType2.UNDETECTED="UNDETECTED",ProjectType2.UNSUPPORTED="UNSUPPORTED",ProjectType2.REACT="REACT",ProjectType2.REACT_SCRIPTS="REACT_SCRIPTS",ProjectType2.REACT_NATIVE="REACT_NATIVE",ProjectType2.REACT_PROJECT="REACT_PROJECT",ProjectType2.WEBPACK_REACT="WEBPACK_REACT",ProjectType2.NEXTJS="NEXTJS",ProjectType2.VUE3="VUE3",ProjectType2.ANGULAR="ANGULAR",ProjectType2.EMBER="EMBER",ProjectType2.WEB_COMPONENTS="WEB_COMPONENTS",ProjectType2.HTML="HTML",ProjectType2.QWIK="QWIK",ProjectType2.PREACT="PREACT",ProjectType2.SVELTE="SVELTE",ProjectType2.SVELTEKIT="SVELTEKIT",ProjectType2.SERVER="SERVER",ProjectType2.NX="NX",ProjectType2.SOLID="SOLID",ProjectType2))(ProjectType||{});var notInstallableProjectTypes=["UNDETECTED","UNSUPPORTED","NX"],installableProjectTypes=Object.values(ProjectType).filter(type=>!notInstallableProjectTypes.includes(type)).map(type=>type.toLowerCase());var versions_default={"@storybook/addon-a11y":"8.0.0-alpha.7","@storybook/addon-actions":"8.0.0-alpha.7","@storybook/addon-backgrounds":"8.0.0-alpha.7","@storybook/addon-controls":"8.0.0-alpha.7","@storybook/addon-docs":"8.0.0-alpha.7","@storybook/addon-essentials":"8.0.0-alpha.7","@storybook/addon-highlight":"8.0.0-alpha.7","@storybook/addon-interactions":"8.0.0-alpha.7","@storybook/addon-jest":"8.0.0-alpha.7","@storybook/addon-links":"8.0.0-alpha.7","@storybook/addon-mdx-gfm":"8.0.0-alpha.7","@storybook/addon-measure":"8.0.0-alpha.7","@storybook/addon-outline":"8.0.0-alpha.7","@storybook/addon-storysource":"8.0.0-alpha.7","@storybook/addon-themes":"8.0.0-alpha.7","@storybook/addon-toolbars":"8.0.0-alpha.7","@storybook/addon-viewport":"8.0.0-alpha.7","@storybook/angular":"8.0.0-alpha.7","@storybook/blocks":"8.0.0-alpha.7","@storybook/builder-manager":"8.0.0-alpha.7","@storybook/builder-vite":"8.0.0-alpha.7","@storybook/builder-webpack5":"8.0.0-alpha.7","@storybook/channels":"8.0.0-alpha.7","@storybook/cli":"8.0.0-alpha.7","@storybook/client-logger":"8.0.0-alpha.7","@storybook/codemod":"8.0.0-alpha.7","@storybook/components":"8.0.0-alpha.7","@storybook/core-common":"8.0.0-alpha.7","@storybook/core-events":"8.0.0-alpha.7","@storybook/core-server":"8.0.0-alpha.7","@storybook/core-webpack":"8.0.0-alpha.7","@storybook/csf-plugin":"8.0.0-alpha.7","@storybook/csf-tools":"8.0.0-alpha.7","@storybook/docs-tools":"8.0.0-alpha.7","@storybook/ember":"8.0.0-alpha.7","@storybook/html":"8.0.0-alpha.7","@storybook/html-vite":"8.0.0-alpha.7","@storybook/html-webpack5":"8.0.0-alpha.7","@storybook/instrumenter":"8.0.0-alpha.7","@storybook/manager":"8.0.0-alpha.7","@storybook/manager-api":"8.0.0-alpha.7","@storybook/nextjs":"8.0.0-alpha.7","@storybook/node-logger":"8.0.0-alpha.7","@storybook/preact":"8.0.0-alpha.7","@storybook/preact-vite":"8.0.0-alpha.7","@storybook/preact-webpack5":"8.0.0-alpha.7","@storybook/preset-create-react-app":"8.0.0-alpha.7","@storybook/preset-html-webpack":"8.0.0-alpha.7","@storybook/preset-preact-webpack":"8.0.0-alpha.7","@storybook/preset-react-webpack":"8.0.0-alpha.7","@storybook/preset-server-webpack":"8.0.0-alpha.7","@storybook/preset-svelte-webpack":"8.0.0-alpha.7","@storybook/preset-vue3-webpack":"8.0.0-alpha.7","@storybook/preset-web-components-webpack":"8.0.0-alpha.7","@storybook/preview":"8.0.0-alpha.7","@storybook/preview-api":"8.0.0-alpha.7","@storybook/react":"8.0.0-alpha.7","@storybook/react-dom-shim":"8.0.0-alpha.7","@storybook/react-vite":"8.0.0-alpha.7","@storybook/react-webpack5":"8.0.0-alpha.7","@storybook/router":"8.0.0-alpha.7","@storybook/server":"8.0.0-alpha.7","@storybook/server-webpack5":"8.0.0-alpha.7","@storybook/source-loader":"8.0.0-alpha.7","@storybook/svelte":"8.0.0-alpha.7","@storybook/svelte-vite":"8.0.0-alpha.7","@storybook/svelte-webpack5":"8.0.0-alpha.7","@storybook/sveltekit":"8.0.0-alpha.7","@storybook/telemetry":"8.0.0-alpha.7","@storybook/test":"8.0.0-alpha.7","@storybook/theming":"8.0.0-alpha.7","@storybook/types":"8.0.0-alpha.7","@storybook/vue3":"8.0.0-alpha.7","@storybook/vue3-vite":"8.0.0-alpha.7","@storybook/vue3-webpack5":"8.0.0-alpha.7","@storybook/web-components":"8.0.0-alpha.7","@storybook/web-components-vite":"8.0.0-alpha.7","@storybook/web-components-webpack5":"8.0.0-alpha.7",sb:"8.0.0-alpha.7",storybook:"8.0.0-alpha.7"};var logger11=console;var commandLog=message=>(process.stdout.write(import_chalk9.default.cyan(" \u2022 ")+message),(errorMessage,errorInfo)=>{if(errorMessage){if(process.stdout.write(`. ${import_chalk9.default.red("\u2716")}
|
|
88
|
+
`),_FormDataEncoder_CRLF_BYTES.set(this,void 0),_FormDataEncoder_CRLF_BYTES_LENGTH.set(this,void 0),_FormDataEncoder_DASHES.set(this,"-".repeat(2)),_FormDataEncoder_encoder.set(this,new TextEncoder),_FormDataEncoder_footer.set(this,void 0),_FormDataEncoder_form.set(this,void 0),_FormDataEncoder_options.set(this,void 0),!isFormData(form))throw new TypeError("Expected first argument to be a FormData instance.");let boundary;if(isPlainObject(boundaryOrOptions)?options=boundaryOrOptions:boundary=boundaryOrOptions,boundary||(boundary=createBoundary()),typeof boundary!="string")throw new TypeError("Expected boundary argument to be a string.");if(options&&!isPlainObject(options))throw new TypeError("Expected options argument to be an object.");__classPrivateFieldSet(this,_FormDataEncoder_form,Array.from(form.entries()),"f"),__classPrivateFieldSet(this,_FormDataEncoder_options,{...defaultOptions,...options},"f"),__classPrivateFieldSet(this,_FormDataEncoder_CRLF_BYTES,__classPrivateFieldGet(this,_FormDataEncoder_encoder,"f").encode(__classPrivateFieldGet(this,_FormDataEncoder_CRLF,"f")),"f"),__classPrivateFieldSet(this,_FormDataEncoder_CRLF_BYTES_LENGTH,__classPrivateFieldGet(this,_FormDataEncoder_CRLF_BYTES,"f").byteLength,"f"),this.boundary=`form-data-boundary-${boundary}`,this.contentType=`multipart/form-data; boundary=${this.boundary}`,__classPrivateFieldSet(this,_FormDataEncoder_footer,__classPrivateFieldGet(this,_FormDataEncoder_encoder,"f").encode(`${__classPrivateFieldGet(this,_FormDataEncoder_DASHES,"f")}${this.boundary}${__classPrivateFieldGet(this,_FormDataEncoder_DASHES,"f")}${__classPrivateFieldGet(this,_FormDataEncoder_CRLF,"f").repeat(2)}`),"f");let headers={"Content-Type":this.contentType},contentLength=__classPrivateFieldGet(this,_FormDataEncoder_instances,"m",_FormDataEncoder_getContentLength).call(this);contentLength&&(this.contentLength=contentLength,headers["Content-Length"]=contentLength),this.headers=proxyHeaders(Object.freeze(headers)),Object.defineProperties(this,{boundary:readonlyProp,contentType:readonlyProp,contentLength:readonlyProp,headers:readonlyProp})}getContentLength(){return this.contentLength==null?void 0:Number(this.contentLength)}*values(){for(let[name,raw]of __classPrivateFieldGet(this,_FormDataEncoder_form,"f")){let value=isFile(raw)?raw:__classPrivateFieldGet(this,_FormDataEncoder_encoder,"f").encode(normalizeValue(raw));yield __classPrivateFieldGet(this,_FormDataEncoder_instances,"m",_FormDataEncoder_getFieldHeader).call(this,name,value),yield value,yield __classPrivateFieldGet(this,_FormDataEncoder_CRLF_BYTES,"f")}yield __classPrivateFieldGet(this,_FormDataEncoder_footer,"f")}async*encode(){for(let part of this.values())isFile(part)?yield*getStreamIterator(part.stream()):yield part}[(_FormDataEncoder_CRLF=new WeakMap,_FormDataEncoder_CRLF_BYTES=new WeakMap,_FormDataEncoder_CRLF_BYTES_LENGTH=new WeakMap,_FormDataEncoder_DASHES=new WeakMap,_FormDataEncoder_encoder=new WeakMap,_FormDataEncoder_footer=new WeakMap,_FormDataEncoder_form=new WeakMap,_FormDataEncoder_options=new WeakMap,_FormDataEncoder_instances=new WeakSet,_FormDataEncoder_getFieldHeader=function(name,value){let header="";header+=`${__classPrivateFieldGet(this,_FormDataEncoder_DASHES,"f")}${this.boundary}${__classPrivateFieldGet(this,_FormDataEncoder_CRLF,"f")}`,header+=`Content-Disposition: form-data; name="${escapeName(name)}"`,isFile(value)&&(header+=`; filename="${escapeName(value.name)}"${__classPrivateFieldGet(this,_FormDataEncoder_CRLF,"f")}`,header+=`Content-Type: ${value.type||"application/octet-stream"}`);let size=isFile(value)?value.size:value.byteLength;return __classPrivateFieldGet(this,_FormDataEncoder_options,"f").enableAdditionalHeaders===!0&&size!=null&&!isNaN(size)&&(header+=`${__classPrivateFieldGet(this,_FormDataEncoder_CRLF,"f")}Content-Length: ${isFile(value)?value.size:value.byteLength}`),__classPrivateFieldGet(this,_FormDataEncoder_encoder,"f").encode(`${header}${__classPrivateFieldGet(this,_FormDataEncoder_CRLF,"f").repeat(2)}`)},_FormDataEncoder_getContentLength=function(){let length=0;for(let[name,raw]of __classPrivateFieldGet(this,_FormDataEncoder_form,"f")){let value=isFile(raw)?raw:__classPrivateFieldGet(this,_FormDataEncoder_encoder,"f").encode(normalizeValue(raw)),size=isFile(value)?value.size:value.byteLength;if(size==null||isNaN(size))return;length+=__classPrivateFieldGet(this,_FormDataEncoder_instances,"m",_FormDataEncoder_getFieldHeader).call(this,name,value).byteLength,length+=size,length+=__classPrivateFieldGet(this,_FormDataEncoder_CRLF_BYTES_LENGTH,"f")}return String(length+__classPrivateFieldGet(this,_FormDataEncoder_footer,"f").byteLength)},Symbol.iterator)](){return this.values()}[Symbol.asyncIterator](){return this.encode()}};function isFormData2(body){return dist_default2.nodeStream(body)&&dist_default2.function_(body.getBoundary)}async function getBodySize(body,headers){if(headers&&"content-length"in headers)return Number(headers["content-length"]);if(!body)return 0;if(dist_default2.string(body))return import_node_buffer4.Buffer.byteLength(body);if(dist_default2.buffer(body))return body.length;if(isFormData2(body))return(0,import_node_util4.promisify)(body.getLength.bind(body))()}function proxyEvents(from,to,events){let eventFunctions={};for(let event of events){let eventFunction=(...args)=>{to.emit(event,...args)};eventFunctions[event]=eventFunction,from.on(event,eventFunction)}return()=>{for(let[event,eventFunction]of Object.entries(eventFunctions))from.off(event,eventFunction)}}function unhandle(){let handlers=[];return{once(origin,event,fn){origin.once(event,fn),handlers.push({origin,event,fn})},unhandleAll(){for(let handler of handlers){let{origin,event,fn}=handler;origin.removeListener(event,fn)}handlers.length=0}}}var reentry=Symbol("reentry"),noop2=()=>{},TimeoutError2=class extends Error{constructor(threshold,event){super(`Timeout awaiting '${event}' for ${threshold}ms`),Object.defineProperty(this,"event",{enumerable:!0,configurable:!0,writable:!0,value:event}),Object.defineProperty(this,"code",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="TimeoutError",this.code="ETIMEDOUT"}};function timedOut(request,delays,options){if(reentry in request)return noop2;request[reentry]=!0;let cancelers=[],{once:once2,unhandleAll}=unhandle(),addTimeout=(delay2,callback,event)=>{var _a;let timeout=setTimeout(callback,delay2,delay2,event);(_a=timeout.unref)==null||_a.call(timeout);let cancel=()=>{clearTimeout(timeout)};return cancelers.push(cancel),cancel},{host,hostname}=options,timeoutHandler=(delay2,event)=>{request.destroy(new TimeoutError2(delay2,event))},cancelTimeouts=()=>{for(let cancel of cancelers)cancel();unhandleAll()};if(request.once("error",error=>{if(cancelTimeouts(),request.listenerCount("error")===0)throw error}),typeof delays.request<"u"){let cancelTimeout=addTimeout(delays.request,timeoutHandler,"request");once2(request,"response",response=>{once2(response,"end",cancelTimeout)})}if(typeof delays.socket<"u"){let{socket}=delays,socketTimeoutHandler=()=>{timeoutHandler(socket,"socket")};request.setTimeout(socket,socketTimeoutHandler),cancelers.push(()=>{request.removeListener("timeout",socketTimeoutHandler)})}let hasLookup=typeof delays.lookup<"u",hasConnect=typeof delays.connect<"u",hasSecureConnect=typeof delays.secureConnect<"u",hasSend=typeof delays.send<"u";return(hasLookup||hasConnect||hasSecureConnect||hasSend)&&once2(request,"socket",socket=>{let{socketPath}=request;if(socket.connecting){let hasPath=!!(socketPath??import_node_net2.default.isIP(hostname??host??"")!==0);if(hasLookup&&!hasPath&&typeof socket.address().address>"u"){let cancelTimeout=addTimeout(delays.lookup,timeoutHandler,"lookup");once2(socket,"lookup",cancelTimeout)}if(hasConnect){let timeConnect=()=>addTimeout(delays.connect,timeoutHandler,"connect");hasPath?once2(socket,"connect",timeConnect()):once2(socket,"lookup",error=>{error===null&&once2(socket,"connect",timeConnect())})}hasSecureConnect&&options.protocol==="https:"&&once2(socket,"connect",()=>{let cancelTimeout=addTimeout(delays.secureConnect,timeoutHandler,"secureConnect");once2(socket,"secureConnect",cancelTimeout)})}if(hasSend){let timeRequest=()=>addTimeout(delays.send,timeoutHandler,"send");socket.connecting?once2(socket,"connect",()=>{once2(request,"upload-complete",timeRequest())}):once2(request,"upload-complete",timeRequest())}}),typeof delays.response<"u"&&once2(request,"upload-complete",()=>{let cancelTimeout=addTimeout(delays.response,timeoutHandler,"response");once2(request,"response",cancelTimeout)}),typeof delays.read<"u"&&once2(request,"response",response=>{let cancelTimeout=addTimeout(delays.read,timeoutHandler,"read");once2(response,"end",cancelTimeout)}),cancelTimeouts}function urlToOptions(url){url=url;let options={protocol:url.protocol,hostname:dist_default2.string(url.hostname)&&url.hostname.startsWith("[")?url.hostname.slice(1,-1):url.hostname,host:url.host,hash:url.hash,search:url.search,pathname:url.pathname,href:url.href,path:`${url.pathname||""}${url.search||""}`};return dist_default2.string(url.port)&&url.port.length>0&&(options.port=Number(url.port)),(url.username||url.password)&&(options.auth=`${url.username||""}:${url.password||""}`),options}var WeakableMap=class{constructor(){Object.defineProperty(this,"weakMap",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"map",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.weakMap=new WeakMap,this.map=new Map}set(key,value){typeof key=="object"?this.weakMap.set(key,value):this.map.set(key,value)}get(key){return typeof key=="object"?this.weakMap.get(key):this.map.get(key)}has(key){return typeof key=="object"?this.weakMap.has(key):this.map.has(key)}},calculateRetryDelay=({attemptCount,retryOptions,error,retryAfter,computedValue})=>{if(error.name==="RetryError")return 1;if(attemptCount>retryOptions.limit)return 0;let hasMethod=retryOptions.methods.includes(error.options.method),hasErrorCode=retryOptions.errorCodes.includes(error.code),hasStatusCode=error.response&&retryOptions.statusCodes.includes(error.response.statusCode);if(!hasMethod||!hasErrorCode&&!hasStatusCode)return 0;if(error.response){if(retryAfter)return retryAfter>computedValue?0:retryAfter;if(error.response.statusCode===413)return 0}let noise=Math.random()*retryOptions.noise;return Math.min(2**(attemptCount-1)*1e3,retryOptions.backoffLimit)+noise},calculate_retry_delay_default=calculateRetryDelay,{Resolver:AsyncResolver}=import_node_dns.promises,kCacheableLookupCreateConnection=Symbol("cacheableLookupCreateConnection"),kCacheableLookupInstance=Symbol("cacheableLookupInstance"),kExpires=Symbol("expires"),supportsALL=typeof import_node_dns.ALL=="number",verifyAgent=agent2=>{if(!(agent2&&typeof agent2.createConnection=="function"))throw new Error("Expected an Agent instance as the first argument")},map4to6=entries2=>{for(let entry of entries2)entry.family!==6&&(entry.address=`::ffff:${entry.address}`,entry.family=6)},getIfaceInfo=()=>{let has4=!1,has6=!1;for(let device of Object.values(import_node_os.default.networkInterfaces()))for(let iface of device)if(!iface.internal&&(iface.family==="IPv6"?has6=!0:has4=!0,has4&&has6))return{has4,has6};return{has4,has6}},isIterable=map=>Symbol.iterator in map,ignoreNoResultErrors=dnsPromise=>dnsPromise.catch(error=>{if(error.code==="ENODATA"||error.code==="ENOTFOUND"||error.code==="ENOENT")return[];throw error}),ttl={ttl:!0},all={all:!0},all4={all:!0,family:4},all6={all:!0,family:6},CacheableLookup=class{constructor({cache:cache3=new Map,maxTtl=1/0,fallbackDuration=3600,errorTtl=.15,resolver=new AsyncResolver,lookup=import_node_dns.lookup}={}){if(this.maxTtl=maxTtl,this.errorTtl=errorTtl,this._cache=cache3,this._resolver=resolver,this._dnsLookup=lookup&&(0,import_node_util6.promisify)(lookup),this.stats={cache:0,query:0},this._resolver instanceof AsyncResolver?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=(0,import_node_util6.promisify)(this._resolver.resolve4.bind(this._resolver)),this._resolve6=(0,import_node_util6.promisify)(this._resolver.resolve6.bind(this._resolver))),this._iface=getIfaceInfo(),this._pending={},this._nextRemovalTime=!1,this._hostnamesToFallback=new Set,this.fallbackDuration=fallbackDuration,fallbackDuration>0){let interval=setInterval(()=>{this._hostnamesToFallback.clear()},fallbackDuration*1e3);interval.unref&&interval.unref(),this._fallbackInterval=interval}this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(servers){this.clear(),this._resolver.setServers(servers)}get servers(){return this._resolver.getServers()}lookup(hostname,options,callback){if(typeof options=="function"?(callback=options,options={}):typeof options=="number"&&(options={family:options}),!callback)throw new Error("Callback must be a function.");this.lookupAsync(hostname,options).then(result=>{options.all?callback(null,result):callback(null,result.address,result.family,result.expires,result.ttl,result.source)},callback)}async lookupAsync(hostname,options={}){typeof options=="number"&&(options={family:options});let cached=await this.query(hostname);if(options.family===6){let filtered=cached.filter(entry=>entry.family===6);options.hints&import_node_dns.V4MAPPED&&(supportsALL&&options.hints&import_node_dns.ALL||filtered.length===0)?map4to6(cached):cached=filtered}else options.family===4&&(cached=cached.filter(entry=>entry.family===4));if(options.hints&import_node_dns.ADDRCONFIG){let{_iface}=this;cached=cached.filter(entry=>entry.family===6?_iface.has6:_iface.has4)}if(cached.length===0){let error=new Error(`cacheableLookup ENOTFOUND ${hostname}`);throw error.code="ENOTFOUND",error.hostname=hostname,error}return options.all?cached:cached[0]}async query(hostname){let source="cache",cached=await this._cache.get(hostname);if(cached&&this.stats.cache++,!cached){let pending=this._pending[hostname];if(pending)this.stats.cache++,cached=await pending;else{source="query";let newPromise=this.queryAndCache(hostname);this._pending[hostname]=newPromise,this.stats.query++;try{cached=await newPromise}finally{delete this._pending[hostname]}}}return cached=cached.map(entry=>({...entry,source})),cached}async _resolve(hostname){let[A2,AAAA]=await Promise.all([ignoreNoResultErrors(this._resolve4(hostname,ttl)),ignoreNoResultErrors(this._resolve6(hostname,ttl))]),aTtl=0,aaaaTtl=0,cacheTtl=0,now=Date.now();for(let entry of A2)entry.family=4,entry.expires=now+entry.ttl*1e3,aTtl=Math.max(aTtl,entry.ttl);for(let entry of AAAA)entry.family=6,entry.expires=now+entry.ttl*1e3,aaaaTtl=Math.max(aaaaTtl,entry.ttl);return A2.length>0?AAAA.length>0?cacheTtl=Math.min(aTtl,aaaaTtl):cacheTtl=aTtl:cacheTtl=aaaaTtl,{entries:[...A2,...AAAA],cacheTtl}}async _lookup(hostname){try{let[A2,AAAA]=await Promise.all([ignoreNoResultErrors(this._dnsLookup(hostname,all4)),ignoreNoResultErrors(this._dnsLookup(hostname,all6))]);return{entries:[...A2,...AAAA],cacheTtl:0}}catch{return{entries:[],cacheTtl:0}}}async _set(hostname,data,cacheTtl){if(this.maxTtl>0&&cacheTtl>0){cacheTtl=Math.min(cacheTtl,this.maxTtl)*1e3,data[kExpires]=Date.now()+cacheTtl;try{await this._cache.set(hostname,data,cacheTtl)}catch(error){this.lookupAsync=async()=>{let cacheError=new Error("Cache Error. Please recreate the CacheableLookup instance.");throw cacheError.cause=error,cacheError}}isIterable(this._cache)&&this._tick(cacheTtl)}}async queryAndCache(hostname){if(this._hostnamesToFallback.has(hostname))return this._dnsLookup(hostname,all);let query=await this._resolve(hostname);query.entries.length===0&&this._dnsLookup&&(query=await this._lookup(hostname),query.entries.length!==0&&this.fallbackDuration>0&&this._hostnamesToFallback.add(hostname));let cacheTtl=query.entries.length===0?this.errorTtl:query.cacheTtl;return await this._set(hostname,query.entries,cacheTtl),query.entries}_tick(ms){let nextRemovalTime=this._nextRemovalTime;(!nextRemovalTime||ms<nextRemovalTime)&&(clearTimeout(this._removalTimeout),this._nextRemovalTime=ms,this._removalTimeout=setTimeout(()=>{this._nextRemovalTime=!1;let nextExpiry=1/0,now=Date.now();for(let[hostname,entries2]of this._cache){let expires=entries2[kExpires];now>=expires?this._cache.delete(hostname):expires<nextExpiry&&(nextExpiry=expires)}nextExpiry!==1/0&&this._tick(nextExpiry-now)},ms),this._removalTimeout.unref&&this._removalTimeout.unref())}install(agent2){if(verifyAgent(agent2),kCacheableLookupCreateConnection in agent2)throw new Error("CacheableLookup has been already installed");agent2[kCacheableLookupCreateConnection]=agent2.createConnection,agent2[kCacheableLookupInstance]=this,agent2.createConnection=(options,callback)=>("lookup"in options||(options.lookup=this.lookup),agent2[kCacheableLookupCreateConnection](options,callback))}uninstall(agent2){if(verifyAgent(agent2),agent2[kCacheableLookupCreateConnection]){if(agent2[kCacheableLookupInstance]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");agent2.createConnection=agent2[kCacheableLookupCreateConnection],delete agent2[kCacheableLookupCreateConnection],delete agent2[kCacheableLookupInstance]}}updateInterfaceInfo(){let{_iface}=this;this._iface=getIfaceInfo(),(_iface.has4&&!this._iface.has4||_iface.has6&&!this._iface.has6)&&this._cache.clear()}clear(hostname){if(hostname){this._cache.delete(hostname);return}this._cache.clear()}},import_http2_wrapper=__toESM2(require_source2(),1);function parseLinkHeader(link){let parsed=[],items=link.split(",");for(let item of items){let[rawUriReference,...rawLinkParameters]=item.split(";"),trimmedUriReference=rawUriReference.trim();if(trimmedUriReference[0]!=="<"||trimmedUriReference[trimmedUriReference.length-1]!==">")throw new Error(`Invalid format of the Link header reference: ${trimmedUriReference}`);let reference=trimmedUriReference.slice(1,-1),parameters={};if(rawLinkParameters.length===0)throw new Error(`Unexpected end of Link header parameters: ${rawLinkParameters.join(";")}`);for(let rawParameter of rawLinkParameters){let trimmedRawParameter=rawParameter.trim(),center=trimmedRawParameter.indexOf("=");if(center===-1)throw new Error(`Failed to parse Link header: ${link}`);let name=trimmedRawParameter.slice(0,center).trim(),value=trimmedRawParameter.slice(center+1).trim();parameters[name]=value}parsed.push({reference,parameters})}return parsed}var[major,minor]=import_node_process2.default.versions.node.split(".").map(Number);function validateSearchParameters(searchParameters){for(let key in searchParameters){let value=searchParameters[key];assert.any([dist_default2.string,dist_default2.number,dist_default2.boolean,dist_default2.null_,dist_default2.undefined],value)}}var globalCache=new Map,globalDnsCache,getGlobalDnsCache=()=>globalDnsCache||(globalDnsCache=new CacheableLookup,globalDnsCache),defaultInternals={request:void 0,agent:{http:void 0,https:void 0,http2:void 0},h2session:void 0,decompress:!0,timeout:{connect:void 0,lookup:void 0,read:void 0,request:void 0,response:void 0,secureConnect:void 0,send:void 0,socket:void 0},prefixUrl:"",body:void 0,form:void 0,json:void 0,cookieJar:void 0,ignoreInvalidCookies:!1,searchParams:void 0,dnsLookup:void 0,dnsCache:void 0,context:{},hooks:{init:[],beforeRequest:[],beforeError:[],beforeRedirect:[],beforeRetry:[],afterResponse:[]},followRedirect:!0,maxRedirects:10,cache:void 0,throwHttpErrors:!0,username:"",password:"",http2:!1,allowGetBody:!1,headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},methodRewriting:!1,dnsLookupIpVersion:void 0,parseJson:JSON.parse,stringifyJson:JSON.stringify,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})=>computedValue,backoffLimit:Number.POSITIVE_INFINITY,noise:100},localAddress:void 0,method:"GET",createConnection:void 0,cacheOptions:{shared:void 0,cacheHeuristic:void 0,immutableMinTimeToLive:void 0,ignoreCargoCult:void 0},https:{alpnProtocols:void 0,rejectUnauthorized:void 0,checkServerIdentity:void 0,certificateAuthority:void 0,key:void 0,certificate:void 0,passphrase:void 0,pfx:void 0,ciphers:void 0,honorCipherOrder:void 0,minVersion:void 0,maxVersion:void 0,signatureAlgorithms:void 0,tlsSessionLifetime:void 0,dhparam:void 0,ecdhCurve:void 0,certificateRevocationLists:void 0},encoding:void 0,resolveBodyOnly:!1,isStream:!1,responseType:"text",url:void 0,pagination:{transform(response){return response.request.options.responseType==="json"?response.body:JSON.parse(response.body)},paginate({response}){let rawLinkHeader=response.headers.link;if(typeof rawLinkHeader!="string"||rawLinkHeader.trim()==="")return!1;let next=parseLinkHeader(rawLinkHeader).find(entry=>entry.parameters.rel==="next"||entry.parameters.rel==='"next"');return next?{url:new import_node_url5.URL(next.reference,response.url)}:!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:Number.POSITIVE_INFINITY,backoff:0,requestLimit:1e4,stackAllItems:!1},setHost:!0,maxHeaderSize:void 0,signal:void 0,enableUnixSockets:!0},cloneInternals=internals=>{let{hooks,retry}=internals,result={...internals,context:{...internals.context},cacheOptions:{...internals.cacheOptions},https:{...internals.https},agent:{...internals.agent},headers:{...internals.headers},retry:{...retry,errorCodes:[...retry.errorCodes],methods:[...retry.methods],statusCodes:[...retry.statusCodes]},timeout:{...internals.timeout},hooks:{init:[...hooks.init],beforeRequest:[...hooks.beforeRequest],beforeError:[...hooks.beforeError],beforeRedirect:[...hooks.beforeRedirect],beforeRetry:[...hooks.beforeRetry],afterResponse:[...hooks.afterResponse]},searchParams:internals.searchParams?new import_node_url5.URLSearchParams(internals.searchParams):void 0,pagination:{...internals.pagination}};return result.url!==void 0&&(result.prefixUrl=""),result},cloneRaw=raw=>{let{hooks,retry}=raw,result={...raw};return dist_default2.object(raw.context)&&(result.context={...raw.context}),dist_default2.object(raw.cacheOptions)&&(result.cacheOptions={...raw.cacheOptions}),dist_default2.object(raw.https)&&(result.https={...raw.https}),dist_default2.object(raw.cacheOptions)&&(result.cacheOptions={...result.cacheOptions}),dist_default2.object(raw.agent)&&(result.agent={...raw.agent}),dist_default2.object(raw.headers)&&(result.headers={...raw.headers}),dist_default2.object(retry)&&(result.retry={...retry},dist_default2.array(retry.errorCodes)&&(result.retry.errorCodes=[...retry.errorCodes]),dist_default2.array(retry.methods)&&(result.retry.methods=[...retry.methods]),dist_default2.array(retry.statusCodes)&&(result.retry.statusCodes=[...retry.statusCodes])),dist_default2.object(raw.timeout)&&(result.timeout={...raw.timeout}),dist_default2.object(hooks)&&(result.hooks={...hooks},dist_default2.array(hooks.init)&&(result.hooks.init=[...hooks.init]),dist_default2.array(hooks.beforeRequest)&&(result.hooks.beforeRequest=[...hooks.beforeRequest]),dist_default2.array(hooks.beforeError)&&(result.hooks.beforeError=[...hooks.beforeError]),dist_default2.array(hooks.beforeRedirect)&&(result.hooks.beforeRedirect=[...hooks.beforeRedirect]),dist_default2.array(hooks.beforeRetry)&&(result.hooks.beforeRetry=[...hooks.beforeRetry]),dist_default2.array(hooks.afterResponse)&&(result.hooks.afterResponse=[...hooks.afterResponse])),dist_default2.object(raw.pagination)&&(result.pagination={...raw.pagination}),result},getHttp2TimeoutOption=internals=>{let delays=[internals.timeout.socket,internals.timeout.connect,internals.timeout.lookup,internals.timeout.request,internals.timeout.secureConnect].filter(delay2=>typeof delay2=="number");if(delays.length>0)return Math.min(...delays)},init=(options,withOptions,self2)=>{var _a;let initHooks=(_a=options.hooks)==null?void 0:_a.init;if(initHooks)for(let hook of initHooks)hook(withOptions,self2)},Options=class{constructor(input,options,defaults2){if(Object.defineProperty(this,"_unixOptions",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_internals",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_merging",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_init",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),assert.any([dist_default2.string,dist_default2.urlInstance,dist_default2.object,dist_default2.undefined],input),assert.any([dist_default2.object,dist_default2.undefined],options),assert.any([dist_default2.object,dist_default2.undefined],defaults2),input instanceof Options||options instanceof Options)throw new TypeError("The defaults must be passed as the third argument");this._internals=cloneInternals(defaults2?._internals??defaults2??defaultInternals),this._init=[...defaults2?._init??[]],this._merging=!1,this._unixOptions=void 0;try{if(dist_default2.plainObject(input))try{this.merge(input),this.merge(options)}finally{this.url=input.url}else try{this.merge(options)}finally{if(options?.url!==void 0)if(input===void 0)this.url=options.url;else throw new TypeError("The `url` option is mutually exclusive with the `input` argument");else input!==void 0&&(this.url=input)}}catch(error){throw error.options=this,error}}merge(options){if(options){if(options instanceof Options){for(let init2 of options._init)this.merge(init2);return}options=cloneRaw(options),init(this,options,this),init(options,options,this),this._merging=!0,"isStream"in options&&(this.isStream=options.isStream);try{let push=!1;for(let key in options)if(!(key==="mutableDefaults"||key==="handlers")&&key!=="url"){if(!(key in this))throw new Error(`Unexpected option: ${key}`);this[key]=options[key],push=!0}push&&this._init.push(options)}finally{this._merging=!1}}}get request(){return this._internals.request}set request(value){assert.any([dist_default2.function_,dist_default2.undefined],value),this._internals.request=value}get agent(){return this._internals.agent}set agent(value){assert.plainObject(value);for(let key in value){if(!(key in this._internals.agent))throw new TypeError(`Unexpected agent option: ${key}`);assert.any([dist_default2.object,dist_default2.undefined],value[key])}this._merging?Object.assign(this._internals.agent,value):this._internals.agent={...value}}get h2session(){return this._internals.h2session}set h2session(value){this._internals.h2session=value}get decompress(){return this._internals.decompress}set decompress(value){assert.boolean(value),this._internals.decompress=value}get timeout(){return this._internals.timeout}set timeout(value){assert.plainObject(value);for(let key in value){if(!(key in this._internals.timeout))throw new Error(`Unexpected timeout option: ${key}`);assert.any([dist_default2.number,dist_default2.undefined],value[key])}this._merging?Object.assign(this._internals.timeout,value):this._internals.timeout={...value}}get prefixUrl(){return this._internals.prefixUrl}set prefixUrl(value){if(assert.any([dist_default2.string,dist_default2.urlInstance],value),value===""){this._internals.prefixUrl="";return}if(value=value.toString(),value.endsWith("/")||(value+="/"),this._internals.prefixUrl&&this._internals.url){let{href}=this._internals.url;this._internals.url.href=value+href.slice(this._internals.prefixUrl.length)}this._internals.prefixUrl=value}get body(){return this._internals.body}set body(value){assert.any([dist_default2.string,dist_default2.buffer,dist_default2.nodeStream,dist_default2.generator,dist_default2.asyncGenerator,isFormData,dist_default2.undefined],value),dist_default2.nodeStream(value)&&assert.truthy(value.readable),value!==void 0&&(assert.undefined(this._internals.form),assert.undefined(this._internals.json)),this._internals.body=value}get form(){return this._internals.form}set form(value){assert.any([dist_default2.plainObject,dist_default2.undefined],value),value!==void 0&&(assert.undefined(this._internals.body),assert.undefined(this._internals.json)),this._internals.form=value}get json(){return this._internals.json}set json(value){value!==void 0&&(assert.undefined(this._internals.body),assert.undefined(this._internals.form)),this._internals.json=value}get url(){return this._internals.url}set url(value){if(assert.any([dist_default2.string,dist_default2.urlInstance,dist_default2.undefined],value),value===void 0){this._internals.url=void 0;return}if(dist_default2.string(value)&&value.startsWith("/"))throw new Error("`url` must not start with a slash");let urlString=`${this.prefixUrl}${value.toString()}`,url=new import_node_url5.URL(urlString);if(this._internals.url=url,decodeURI(urlString),url.protocol==="unix:"&&(url.href=`http://unix${url.pathname}${url.search}`),url.protocol!=="http:"&&url.protocol!=="https:"){let error=new Error(`Unsupported protocol: ${url.protocol}`);throw error.code="ERR_UNSUPPORTED_PROTOCOL",error}if(this._internals.username&&(url.username=this._internals.username,this._internals.username=""),this._internals.password&&(url.password=this._internals.password,this._internals.password=""),this._internals.searchParams&&(url.search=this._internals.searchParams.toString(),this._internals.searchParams=void 0),url.hostname==="unix"){if(!this._internals.enableUnixSockets)throw new Error("Using UNIX domain sockets but option `enableUnixSockets` is not enabled");let matches=/(?<socketPath>.+?):(?<path>.+)/.exec(`${url.pathname}${url.search}`);if(matches?.groups){let{socketPath,path:path12}=matches.groups;this._unixOptions={socketPath,path:path12,host:""}}else this._unixOptions=void 0;return}this._unixOptions=void 0}get cookieJar(){return this._internals.cookieJar}set cookieJar(value){if(assert.any([dist_default2.object,dist_default2.undefined],value),value===void 0){this._internals.cookieJar=void 0;return}let{setCookie,getCookieString}=value;assert.function_(setCookie),assert.function_(getCookieString),setCookie.length===4&&getCookieString.length===0?(setCookie=(0,import_node_util5.promisify)(setCookie.bind(value)),getCookieString=(0,import_node_util5.promisify)(getCookieString.bind(value)),this._internals.cookieJar={setCookie,getCookieString}):this._internals.cookieJar=value}get signal(){return this._internals.signal}set signal(value){assert.object(value),this._internals.signal=value}get ignoreInvalidCookies(){return this._internals.ignoreInvalidCookies}set ignoreInvalidCookies(value){assert.boolean(value),this._internals.ignoreInvalidCookies=value}get searchParams(){return this._internals.url?this._internals.url.searchParams:(this._internals.searchParams===void 0&&(this._internals.searchParams=new import_node_url5.URLSearchParams),this._internals.searchParams)}set searchParams(value){assert.any([dist_default2.string,dist_default2.object,dist_default2.undefined],value);let url=this._internals.url;if(value===void 0){this._internals.searchParams=void 0,url&&(url.search="");return}let searchParameters=this.searchParams,updated;if(dist_default2.string(value))updated=new import_node_url5.URLSearchParams(value);else if(value instanceof import_node_url5.URLSearchParams)updated=value;else{validateSearchParameters(value),updated=new import_node_url5.URLSearchParams;for(let key in value){let entry=value[key];entry===null?updated.append(key,""):entry===void 0?searchParameters.delete(key):updated.append(key,entry)}}if(this._merging){for(let key of updated.keys())searchParameters.delete(key);for(let[key,value2]of updated)searchParameters.append(key,value2)}else url?url.search=searchParameters.toString():this._internals.searchParams=searchParameters}get searchParameters(){throw new Error("The `searchParameters` option does not exist. Use `searchParams` instead.")}set searchParameters(_value){throw new Error("The `searchParameters` option does not exist. Use `searchParams` instead.")}get dnsLookup(){return this._internals.dnsLookup}set dnsLookup(value){assert.any([dist_default2.function_,dist_default2.undefined],value),this._internals.dnsLookup=value}get dnsCache(){return this._internals.dnsCache}set dnsCache(value){assert.any([dist_default2.object,dist_default2.boolean,dist_default2.undefined],value),value===!0?this._internals.dnsCache=getGlobalDnsCache():value===!1?this._internals.dnsCache=void 0:this._internals.dnsCache=value}get context(){return this._internals.context}set context(value){assert.object(value),this._merging?Object.assign(this._internals.context,value):this._internals.context={...value}}get hooks(){return this._internals.hooks}set hooks(value){assert.object(value);for(let knownHookEvent in value){if(!(knownHookEvent in this._internals.hooks))throw new Error(`Unexpected hook event: ${knownHookEvent}`);let typedKnownHookEvent=knownHookEvent,hooks=value[typedKnownHookEvent];if(assert.any([dist_default2.array,dist_default2.undefined],hooks),hooks)for(let hook of hooks)assert.function_(hook);if(this._merging)hooks&&this._internals.hooks[typedKnownHookEvent].push(...hooks);else{if(!hooks)throw new Error(`Missing hook event: ${knownHookEvent}`);this._internals.hooks[knownHookEvent]=[...hooks]}}}get followRedirect(){return this._internals.followRedirect}set followRedirect(value){assert.boolean(value),this._internals.followRedirect=value}get followRedirects(){throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.")}set followRedirects(_value){throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.")}get maxRedirects(){return this._internals.maxRedirects}set maxRedirects(value){assert.number(value),this._internals.maxRedirects=value}get cache(){return this._internals.cache}set cache(value){assert.any([dist_default2.object,dist_default2.string,dist_default2.boolean,dist_default2.undefined],value),value===!0?this._internals.cache=globalCache:value===!1?this._internals.cache=void 0:this._internals.cache=value}get throwHttpErrors(){return this._internals.throwHttpErrors}set throwHttpErrors(value){assert.boolean(value),this._internals.throwHttpErrors=value}get username(){let url=this._internals.url,value=url?url.username:this._internals.username;return decodeURIComponent(value)}set username(value){assert.string(value);let url=this._internals.url,fixedValue=encodeURIComponent(value);url?url.username=fixedValue:this._internals.username=fixedValue}get password(){let url=this._internals.url,value=url?url.password:this._internals.password;return decodeURIComponent(value)}set password(value){assert.string(value);let url=this._internals.url,fixedValue=encodeURIComponent(value);url?url.password=fixedValue:this._internals.password=fixedValue}get http2(){return this._internals.http2}set http2(value){assert.boolean(value),this._internals.http2=value}get allowGetBody(){return this._internals.allowGetBody}set allowGetBody(value){assert.boolean(value),this._internals.allowGetBody=value}get headers(){return this._internals.headers}set headers(value){assert.plainObject(value),this._merging?Object.assign(this._internals.headers,lowercaseKeys(value)):this._internals.headers=lowercaseKeys(value)}get methodRewriting(){return this._internals.methodRewriting}set methodRewriting(value){assert.boolean(value),this._internals.methodRewriting=value}get dnsLookupIpVersion(){return this._internals.dnsLookupIpVersion}set dnsLookupIpVersion(value){if(value!==void 0&&value!==4&&value!==6)throw new TypeError(`Invalid DNS lookup IP version: ${value}`);this._internals.dnsLookupIpVersion=value}get parseJson(){return this._internals.parseJson}set parseJson(value){assert.function_(value),this._internals.parseJson=value}get stringifyJson(){return this._internals.stringifyJson}set stringifyJson(value){assert.function_(value),this._internals.stringifyJson=value}get retry(){return this._internals.retry}set retry(value){if(assert.plainObject(value),assert.any([dist_default2.function_,dist_default2.undefined],value.calculateDelay),assert.any([dist_default2.number,dist_default2.undefined],value.maxRetryAfter),assert.any([dist_default2.number,dist_default2.undefined],value.limit),assert.any([dist_default2.array,dist_default2.undefined],value.methods),assert.any([dist_default2.array,dist_default2.undefined],value.statusCodes),assert.any([dist_default2.array,dist_default2.undefined],value.errorCodes),assert.any([dist_default2.number,dist_default2.undefined],value.noise),value.noise&&Math.abs(value.noise)>100)throw new Error(`The maximum acceptable retry noise is +/- 100ms, got ${value.noise}`);for(let key in value)if(!(key in this._internals.retry))throw new Error(`Unexpected retry option: ${key}`);this._merging?Object.assign(this._internals.retry,value):this._internals.retry={...value};let{retry}=this._internals;retry.methods=[...new Set(retry.methods.map(method=>method.toUpperCase()))],retry.statusCodes=[...new Set(retry.statusCodes)],retry.errorCodes=[...new Set(retry.errorCodes)]}get localAddress(){return this._internals.localAddress}set localAddress(value){assert.any([dist_default2.string,dist_default2.undefined],value),this._internals.localAddress=value}get method(){return this._internals.method}set method(value){assert.string(value),this._internals.method=value.toUpperCase()}get createConnection(){return this._internals.createConnection}set createConnection(value){assert.any([dist_default2.function_,dist_default2.undefined],value),this._internals.createConnection=value}get cacheOptions(){return this._internals.cacheOptions}set cacheOptions(value){assert.plainObject(value),assert.any([dist_default2.boolean,dist_default2.undefined],value.shared),assert.any([dist_default2.number,dist_default2.undefined],value.cacheHeuristic),assert.any([dist_default2.number,dist_default2.undefined],value.immutableMinTimeToLive),assert.any([dist_default2.boolean,dist_default2.undefined],value.ignoreCargoCult);for(let key in value)if(!(key in this._internals.cacheOptions))throw new Error(`Cache option \`${key}\` does not exist`);this._merging?Object.assign(this._internals.cacheOptions,value):this._internals.cacheOptions={...value}}get https(){return this._internals.https}set https(value){assert.plainObject(value),assert.any([dist_default2.boolean,dist_default2.undefined],value.rejectUnauthorized),assert.any([dist_default2.function_,dist_default2.undefined],value.checkServerIdentity),assert.any([dist_default2.string,dist_default2.object,dist_default2.array,dist_default2.undefined],value.certificateAuthority),assert.any([dist_default2.string,dist_default2.object,dist_default2.array,dist_default2.undefined],value.key),assert.any([dist_default2.string,dist_default2.object,dist_default2.array,dist_default2.undefined],value.certificate),assert.any([dist_default2.string,dist_default2.undefined],value.passphrase),assert.any([dist_default2.string,dist_default2.buffer,dist_default2.array,dist_default2.undefined],value.pfx),assert.any([dist_default2.array,dist_default2.undefined],value.alpnProtocols),assert.any([dist_default2.string,dist_default2.undefined],value.ciphers),assert.any([dist_default2.string,dist_default2.buffer,dist_default2.undefined],value.dhparam),assert.any([dist_default2.string,dist_default2.undefined],value.signatureAlgorithms),assert.any([dist_default2.string,dist_default2.undefined],value.minVersion),assert.any([dist_default2.string,dist_default2.undefined],value.maxVersion),assert.any([dist_default2.boolean,dist_default2.undefined],value.honorCipherOrder),assert.any([dist_default2.number,dist_default2.undefined],value.tlsSessionLifetime),assert.any([dist_default2.string,dist_default2.undefined],value.ecdhCurve),assert.any([dist_default2.string,dist_default2.buffer,dist_default2.array,dist_default2.undefined],value.certificateRevocationLists);for(let key in value)if(!(key in this._internals.https))throw new Error(`HTTPS option \`${key}\` does not exist`);this._merging?Object.assign(this._internals.https,value):this._internals.https={...value}}get encoding(){return this._internals.encoding}set encoding(value){if(value===null)throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");assert.any([dist_default2.string,dist_default2.undefined],value),this._internals.encoding=value}get resolveBodyOnly(){return this._internals.resolveBodyOnly}set resolveBodyOnly(value){assert.boolean(value),this._internals.resolveBodyOnly=value}get isStream(){return this._internals.isStream}set isStream(value){assert.boolean(value),this._internals.isStream=value}get responseType(){return this._internals.responseType}set responseType(value){if(value===void 0){this._internals.responseType="text";return}if(value!=="text"&&value!=="buffer"&&value!=="json")throw new Error(`Invalid \`responseType\` option: ${value}`);this._internals.responseType=value}get pagination(){return this._internals.pagination}set pagination(value){assert.object(value),this._merging?Object.assign(this._internals.pagination,value):this._internals.pagination=value}get auth(){throw new Error("Parameter `auth` is deprecated. Use `username` / `password` instead.")}set auth(_value){throw new Error("Parameter `auth` is deprecated. Use `username` / `password` instead.")}get setHost(){return this._internals.setHost}set setHost(value){assert.boolean(value),this._internals.setHost=value}get maxHeaderSize(){return this._internals.maxHeaderSize}set maxHeaderSize(value){assert.any([dist_default2.number,dist_default2.undefined],value),this._internals.maxHeaderSize=value}get enableUnixSockets(){return this._internals.enableUnixSockets}set enableUnixSockets(value){assert.boolean(value),this._internals.enableUnixSockets=value}toJSON(){return{...this._internals}}[Symbol.for("nodejs.util.inspect.custom")](_depth,options){return(0,import_node_util5.inspect)(this._internals,options)}createNativeRequestOptions(){var _a;let internals=this._internals,url=internals.url,agent2;url.protocol==="https:"?agent2=internals.http2?internals.agent:internals.agent.https:agent2=internals.agent.http;let{https:https22}=internals,{pfx}=https22;return dist_default2.array(pfx)&&dist_default2.plainObject(pfx[0])&&(pfx=pfx.map(object=>({buf:object.buffer,passphrase:object.passphrase}))),{...internals.cacheOptions,...this._unixOptions,ALPNProtocols:https22.alpnProtocols,ca:https22.certificateAuthority,cert:https22.certificate,key:https22.key,passphrase:https22.passphrase,pfx:https22.pfx,rejectUnauthorized:https22.rejectUnauthorized,checkServerIdentity:https22.checkServerIdentity??import_node_tls.checkServerIdentity,ciphers:https22.ciphers,honorCipherOrder:https22.honorCipherOrder,minVersion:https22.minVersion,maxVersion:https22.maxVersion,sigalgs:https22.signatureAlgorithms,sessionTimeout:https22.tlsSessionLifetime,dhparam:https22.dhparam,ecdhCurve:https22.ecdhCurve,crl:https22.certificateRevocationLists,lookup:internals.dnsLookup??((_a=internals.dnsCache)==null?void 0:_a.lookup),family:internals.dnsLookupIpVersion,agent:agent2,setHost:internals.setHost,method:internals.method,maxHeaderSize:internals.maxHeaderSize,localAddress:internals.localAddress,headers:internals.headers,createConnection:internals.createConnection,timeout:internals.http2?getHttp2TimeoutOption(internals):void 0,h2session:internals.h2session}}getRequestFunction(){let url=this._internals.url,{request}=this._internals;return!request&&url?this.getFallbackRequestFunction():request}getFallbackRequestFunction(){let url=this._internals.url;if(url){if(url.protocol==="https:"){if(this._internals.http2){if(major<15||major===15&&minor<10){let error=new Error("To use the `http2` option, install Node.js 15.10.0 or above");throw error.code="EUNSUPPORTED",error}return import_http2_wrapper.default.auto}return import_node_https2.default.request}return import_node_http4.default.request}}freeze(){let options=this._internals;Object.freeze(options),Object.freeze(options.hooks),Object.freeze(options.hooks.afterResponse),Object.freeze(options.hooks.beforeError),Object.freeze(options.hooks.beforeRedirect),Object.freeze(options.hooks.beforeRequest),Object.freeze(options.hooks.beforeRetry),Object.freeze(options.hooks.init),Object.freeze(options.https),Object.freeze(options.cacheOptions),Object.freeze(options.agent),Object.freeze(options.headers),Object.freeze(options.timeout),Object.freeze(options.retry),Object.freeze(options.retry.errorCodes),Object.freeze(options.retry.methods),Object.freeze(options.retry.statusCodes)}},isResponseOk=response=>{let{statusCode}=response,limitStatusCode=response.request.options.followRedirect?299:399;return statusCode>=200&&statusCode<=limitStatusCode||statusCode===304},ParseError=class extends RequestError{constructor(error,response){let{options}=response.request;super(`${error.message} in "${options.url.toString()}"`,error,response.request),this.name="ParseError",this.code="ERR_BODY_PARSE_FAILURE"}},parseBody=(response,responseType,parseJson,encoding)=>{let{rawBody}=response;try{if(responseType==="text")return rawBody.toString(encoding);if(responseType==="json")return rawBody.length===0?"":parseJson(rawBody.toString(encoding));if(responseType==="buffer")return rawBody}catch(error){throw new ParseError(error,response)}throw new ParseError({message:`Unknown body type '${responseType}'`,name:"Error"},response)};function isClientRequest(clientRequest){return clientRequest.writable&&!clientRequest.writableEnded}var is_client_request_default=isClientRequest;function isUnixSocketURL(url){return url.protocol==="unix:"||url.hostname==="unix"}var supportsBrotli=dist_default2.string(import_node_process.default.versions.brotli),methodsWithoutBody=new Set(["GET","HEAD"]),cacheableStore=new WeakableMap,redirectCodes=new Set([300,301,302,303,304,307,308]),proxiedRequestEvents=["socket","connect","continue","information","upgrade"],noop22=()=>{},Request2=class extends import_node_stream3.Duplex{constructor(url,options,defaults2){super({autoDestroy:!1,highWaterMark:0}),Object.defineProperty(this,"constructor",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_noPipe",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"response",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"requestUrl",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"redirectUrls",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"retryCount",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_stopRetry",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_downloadedSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_uploadedSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_stopReading",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_pipedServerResponses",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_responseSize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_bodySize",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_unproxyEvents",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_isFromCache",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_cannotHaveBody",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_triggerRead",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_cancelTimeouts",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_removeListeners",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_nativeResponse",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_flushed",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_aborted",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_requestInitialized",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._downloadedSize=0,this._uploadedSize=0,this._stopReading=!1,this._pipedServerResponses=new Set,this._cannotHaveBody=!1,this._unproxyEvents=noop22,this._triggerRead=!1,this._cancelTimeouts=noop22,this._removeListeners=noop22,this._jobs=[],this._flushed=!1,this._requestInitialized=!1,this._aborted=!1,this.redirectUrls=[],this.retryCount=0,this._stopRetry=noop22,this.on("pipe",source=>{source.headers&&Object.assign(this.options.headers,source.headers)}),this.on("newListener",event=>{if(event==="retry"&&this.listenerCount("retry")>0)throw new Error("A retry listener has been attached already.")});try{if(this.options=new Options(url,options,defaults2),!this.options.url){if(this.options.prefixUrl==="")throw new TypeError("Missing `url` property");this.options.url=""}this.requestUrl=this.options.url}catch(error){let{options:options2}=error;options2&&(this.options=options2),this.flush=async()=>{this.flush=async()=>{},this.destroy(error)};return}let{body}=this.options;if(dist_default2.nodeStream(body)&&body.once("error",error=>{this._flushed?this._beforeError(new UploadError(error,this)):this.flush=async()=>{this.flush=async()=>{},this._beforeError(new UploadError(error,this))}}),this.options.signal){let abort=()=>{this.destroy(new AbortError2(this))};this.options.signal.aborted?abort():(this.options.signal.addEventListener("abort",abort),this._removeListeners=()=>{this.options.signal.removeEventListener("abort",abort)})}}async flush(){var _a;if(!this._flushed){this._flushed=!0;try{if(await this._finalizeBody(),this.destroyed)return;if(await this._makeRequest(),this.destroyed){(_a=this._request)==null||_a.destroy();return}for(let job of this._jobs)job();this._jobs.length=0,this._requestInitialized=!0}catch(error){this._beforeError(error)}}}_beforeError(error){if(this._stopReading)return;let{response,options}=this,attemptCount=this.retryCount+(error.name==="RetryError"?0:1);this._stopReading=!0,error instanceof RequestError||(error=new RequestError(error.message,error,this));let typedError=error;(async()=>{var _a,_b;if(response?.readable&&!response.rawBody&&!((_b=(_a=this._request)==null?void 0:_a.socket)!=null&&_b.destroyed)&&(response.setEncoding(this.readableEncoding),await this._setRawBody(response)&&(response.body=response.rawBody.toString())),this.listenerCount("retry")!==0){let backoff;try{let retryAfter;response&&"retry-after"in response.headers&&(retryAfter=Number(response.headers["retry-after"]),Number.isNaN(retryAfter)?(retryAfter=Date.parse(response.headers["retry-after"])-Date.now(),retryAfter<=0&&(retryAfter=1)):retryAfter*=1e3);let retryOptions=options.retry;backoff=await retryOptions.calculateDelay({attemptCount,retryOptions,error:typedError,retryAfter,computedValue:calculate_retry_delay_default({attemptCount,retryOptions,error:typedError,retryAfter,computedValue:retryOptions.maxRetryAfter??options.timeout.request??Number.POSITIVE_INFINITY})})}catch(error_){this._error(new RequestError(error_.message,error_,this));return}if(backoff){if(await new Promise(resolve3=>{let timeout=setTimeout(resolve3,backoff);this._stopRetry=()=>{clearTimeout(timeout),resolve3()}}),this.destroyed)return;try{for(let hook of this.options.hooks.beforeRetry)await hook(typedError,this.retryCount+1)}catch(error_){this._error(new RequestError(error_.message,error,this));return}if(this.destroyed)return;this.destroy(),this.emit("retry",this.retryCount+1,error,updatedOptions=>{let request=new Request2(options.url,updatedOptions,options);return request.retryCount=this.retryCount+1,import_node_process.default.nextTick(()=>{request.flush()}),request});return}}this._error(typedError)})()}_read(){this._triggerRead=!0;let{response}=this;if(response&&!this._stopReading){response.readableLength&&(this._triggerRead=!1);let data;for(;(data=response.read())!==null;){this._downloadedSize+=data.length;let progress=this.downloadProgress;progress.percent<1&&this.emit("downloadProgress",progress),this.push(data)}}}_write(chunk,encoding,callback){let write=()=>{this._writeRequest(chunk,encoding,callback)};this._requestInitialized?write():this._jobs.push(write)}_final(callback){let endRequest=()=>{if(!this._request||this._request.destroyed){callback();return}this._request.end(error=>{var _a;(_a=this._request._writableState)!=null&&_a.errored||(error||(this._bodySize=this._uploadedSize,this.emit("uploadProgress",this.uploadProgress),this._request.emit("upload-complete")),callback(error))})};this._requestInitialized?endRequest():this._jobs.push(endRequest)}_destroy(error,callback){if(this._stopReading=!0,this.flush=async()=>{},this._stopRetry(),this._cancelTimeouts(),this._removeListeners(),this.options){let{body}=this.options;dist_default2.nodeStream(body)&&body.destroy()}this._request&&this._request.destroy(),error!==null&&!dist_default2.undefined(error)&&!(error instanceof RequestError)&&(error=new RequestError(error.message,error,this)),callback(error)}pipe(destination,options){return destination instanceof import_node_http3.ServerResponse&&this._pipedServerResponses.add(destination),super.pipe(destination,options)}unpipe(destination){return destination instanceof import_node_http3.ServerResponse&&this._pipedServerResponses.delete(destination),super.unpipe(destination),this}async _finalizeBody(){let{options}=this,{headers}=options,isForm=!dist_default2.undefined(options.form),isJSON2=!dist_default2.undefined(options.json),isBody=!dist_default2.undefined(options.body),cannotHaveBody=methodsWithoutBody.has(options.method)&&!(options.method==="GET"&&options.allowGetBody);if(this._cannotHaveBody=cannotHaveBody,isForm||isJSON2||isBody){if(cannotHaveBody)throw new TypeError(`The \`${options.method}\` method cannot be used with a body`);let noContentType=!dist_default2.string(headers["content-type"]);if(isBody){if(isFormData(options.body)){let encoder=new FormDataEncoder(options.body);noContentType&&(headers["content-type"]=encoder.headers["Content-Type"]),"Content-Length"in encoder.headers&&(headers["content-length"]=encoder.headers["Content-Length"]),options.body=encoder.encode()}isFormData2(options.body)&&noContentType&&(headers["content-type"]=`multipart/form-data; boundary=${options.body.getBoundary()}`)}else if(isForm){noContentType&&(headers["content-type"]="application/x-www-form-urlencoded");let{form}=options;options.form=void 0,options.body=new import_node_url3.URLSearchParams(form).toString()}else{noContentType&&(headers["content-type"]="application/json");let{json}=options;options.json=void 0,options.body=options.stringifyJson(json)}let uploadBodySize=await getBodySize(options.body,options.headers);dist_default2.undefined(headers["content-length"])&&dist_default2.undefined(headers["transfer-encoding"])&&!cannotHaveBody&&!dist_default2.undefined(uploadBodySize)&&(headers["content-length"]=String(uploadBodySize))}options.responseType==="json"&&!("accept"in options.headers)&&(options.headers.accept="application/json"),this._bodySize=Number(headers["content-length"])||void 0}async _onResponseBase(response){if(this.isAborted)return;let{options}=this,{url}=options;this._nativeResponse=response,options.decompress&&(response=(0,import_decompress_response.default)(response));let statusCode=response.statusCode,typedResponse=response;typedResponse.statusMessage=typedResponse.statusMessage?typedResponse.statusMessage:import_node_http3.default.STATUS_CODES[statusCode],typedResponse.url=options.url.toString(),typedResponse.requestUrl=this.requestUrl,typedResponse.redirectUrls=this.redirectUrls,typedResponse.request=this,typedResponse.isFromCache=this._nativeResponse.fromCache??!1,typedResponse.ip=this.ip,typedResponse.retryCount=this.retryCount,typedResponse.ok=isResponseOk(typedResponse),this._isFromCache=typedResponse.isFromCache,this._responseSize=Number(response.headers["content-length"])||void 0,this.response=typedResponse,response.once("end",()=>{this._responseSize=this._downloadedSize,this.emit("downloadProgress",this.downloadProgress)}),response.once("error",error=>{this._aborted=!0,response.destroy(),this._beforeError(new ReadError(error,this))}),response.once("aborted",()=>{this._aborted=!0,this._beforeError(new ReadError({name:"Error",message:"The server aborted pending request",code:"ECONNRESET"},this))}),this.emit("downloadProgress",this.downloadProgress);let rawCookies=response.headers["set-cookie"];if(dist_default2.object(options.cookieJar)&&rawCookies){let promises=rawCookies.map(async rawCookie=>options.cookieJar.setCookie(rawCookie,url.toString()));options.ignoreInvalidCookies&&(promises=promises.map(async promise=>{try{await promise}catch{}}));try{await Promise.all(promises)}catch(error){this._beforeError(error);return}}if(!this.isAborted){if(options.followRedirect&&response.headers.location&&redirectCodes.has(statusCode)){if(response.resume(),this._cancelTimeouts(),this._unproxyEvents(),this.redirectUrls.length>=options.maxRedirects){this._beforeError(new MaxRedirectsError(this));return}this._request=void 0;let updatedOptions=new Options(void 0,void 0,this.options),serverRequestedGet=statusCode===303&&updatedOptions.method!=="GET"&&updatedOptions.method!=="HEAD",canRewrite=statusCode!==307&&statusCode!==308,userRequestedGet=updatedOptions.methodRewriting&&canRewrite;(serverRequestedGet||userRequestedGet)&&(updatedOptions.method="GET",updatedOptions.body=void 0,updatedOptions.json=void 0,updatedOptions.form=void 0,delete updatedOptions.headers["content-length"]);try{let redirectBuffer=import_node_buffer3.Buffer.from(response.headers.location,"binary").toString(),redirectUrl=new import_node_url3.URL(redirectBuffer,url);if(!isUnixSocketURL(url)&&isUnixSocketURL(redirectUrl)){this._beforeError(new RequestError("Cannot redirect to UNIX socket",{},this));return}redirectUrl.hostname!==url.hostname||redirectUrl.port!==url.port?("host"in updatedOptions.headers&&delete updatedOptions.headers.host,"cookie"in updatedOptions.headers&&delete updatedOptions.headers.cookie,"authorization"in updatedOptions.headers&&delete updatedOptions.headers.authorization,(updatedOptions.username||updatedOptions.password)&&(updatedOptions.username="",updatedOptions.password="")):(redirectUrl.username=updatedOptions.username,redirectUrl.password=updatedOptions.password),this.redirectUrls.push(redirectUrl),updatedOptions.prefixUrl="",updatedOptions.url=redirectUrl;for(let hook of updatedOptions.hooks.beforeRedirect)await hook(updatedOptions,typedResponse);this.emit("redirect",updatedOptions,typedResponse),this.options=updatedOptions,await this._makeRequest()}catch(error){this._beforeError(error);return}return}if(options.isStream&&options.throwHttpErrors&&!isResponseOk(typedResponse)){this._beforeError(new HTTPError(typedResponse));return}if(response.on("readable",()=>{this._triggerRead&&this._read()}),this.on("resume",()=>{response.resume()}),this.on("pause",()=>{response.pause()}),response.once("end",()=>{this.push(null)}),this._noPipe){await this._setRawBody()&&this.emit("response",response);return}this.emit("response",response);for(let destination of this._pipedServerResponses)if(!destination.headersSent){for(let key in response.headers){let isAllowed=options.decompress?key!=="content-encoding":!0,value=response.headers[key];isAllowed&&destination.setHeader(key,value)}destination.statusCode=statusCode}}}async _setRawBody(from=this){if(from.readableEnded)return!1;try{let rawBody=await(0,import_get_stream2.buffer)(from);if(!this.isAborted)return this.response.rawBody=rawBody,!0}catch{}return!1}async _onResponse(response){try{await this._onResponseBase(response)}catch(error){this._beforeError(error)}}_onRequest(request){let{options}=this,{timeout,url}=options;source_default(request),this.options.http2&&request.setTimeout(0),this._cancelTimeouts=timedOut(request,timeout,url);let responseEventName=options.cache?"cacheableResponse":"response";request.once(responseEventName,response=>{this._onResponse(response)}),request.once("error",error=>{this._aborted=!0,request.destroy(),error=error instanceof TimeoutError2?new TimeoutError(error,this.timings,this):new RequestError(error.message,error,this),this._beforeError(error)}),this._unproxyEvents=proxyEvents(request,this,proxiedRequestEvents),this._request=request,this.emit("uploadProgress",this.uploadProgress),this._sendBody(),this.emit("request",request)}async _asyncWrite(chunk){return new Promise((resolve3,reject)=>{super.write(chunk,error=>{if(error){reject(error);return}resolve3()})})}_sendBody(){let{body}=this.options,currentRequest=this.redirectUrls.length===0?this:this._request??this;dist_default2.nodeStream(body)?body.pipe(currentRequest):dist_default2.generator(body)||dist_default2.asyncGenerator(body)?(async()=>{try{for await(let chunk of body)await this._asyncWrite(chunk);super.end()}catch(error){this._beforeError(error)}})():dist_default2.undefined(body)?(this._cannotHaveBody||this._noPipe)&¤tRequest.end():(this._writeRequest(body,void 0,()=>{}),currentRequest.end())}_prepareCache(cache3){if(!cacheableStore.has(cache3)){let cacheableRequest=new dist_default22((requestOptions,handler)=>{let result=requestOptions._request(requestOptions,handler);return dist_default2.promise(result)&&(result.once=(event,handler2)=>{if(event==="error")(async()=>{try{await result}catch(error){handler2(error)}})();else if(event==="abort")(async()=>{try{(await result).once("abort",handler2)}catch{}})();else throw new Error(`Unknown HTTP2 promise event: ${event}`);return result}),result},cache3);cacheableStore.set(cache3,cacheableRequest.request())}}async _createCacheableRequest(url,options){return new Promise((resolve3,reject)=>{Object.assign(options,urlToOptions(url));let request,cacheRequest=cacheableStore.get(options.cache)(options,async response=>{if(response._readableState.autoDestroy=!1,request){let fix=()=>{response.req&&(response.complete=response.req.res.complete)};response.prependOnceListener("end",fix),fix(),(await request).emit("cacheableResponse",response)}resolve3(response)});cacheRequest.once("error",reject),cacheRequest.once("request",async requestOrPromise=>{request=requestOrPromise,resolve3(request)})})}async _makeRequest(){let{options}=this,{headers,username,password}=options,cookieJar=options.cookieJar;for(let key in headers)if(dist_default2.undefined(headers[key]))delete headers[key];else if(dist_default2.null_(headers[key]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${key}\` header`);if(options.decompress&&dist_default2.undefined(headers["accept-encoding"])&&(headers["accept-encoding"]=supportsBrotli?"gzip, deflate, br":"gzip, deflate"),username||password){let credentials=import_node_buffer3.Buffer.from(`${username}:${password}`).toString("base64");headers.authorization=`Basic ${credentials}`}if(cookieJar){let cookieString=await cookieJar.getCookieString(options.url.toString());dist_default2.nonEmptyString(cookieString)&&(headers.cookie=cookieString)}options.prefixUrl="";let request;for(let hook of options.hooks.beforeRequest){let result=await hook(options);if(!dist_default2.undefined(result)){request=()=>result;break}}request||(request=options.getRequestFunction());let url=options.url;this._requestOptions=options.createNativeRequestOptions(),options.cache&&(this._requestOptions._request=request,this._requestOptions.cache=options.cache,this._requestOptions.body=options.body,this._prepareCache(options.cache));let fn=options.cache?this._createCacheableRequest:request;try{let requestOrResponse=fn(url,this._requestOptions);dist_default2.promise(requestOrResponse)&&(requestOrResponse=await requestOrResponse),dist_default2.undefined(requestOrResponse)&&(requestOrResponse=options.getFallbackRequestFunction()(url,this._requestOptions),dist_default2.promise(requestOrResponse)&&(requestOrResponse=await requestOrResponse)),is_client_request_default(requestOrResponse)?this._onRequest(requestOrResponse):this.writable?(this.once("finish",()=>{this._onResponse(requestOrResponse)}),this._sendBody()):this._onResponse(requestOrResponse)}catch(error){throw error instanceof CacheError2?new CacheError(error,this):error}}async _error(error){try{if(!(error instanceof HTTPError&&!this.options.throwHttpErrors))for(let hook of this.options.hooks.beforeError)error=await hook(error)}catch(error_){error=new RequestError(error_.message,error_,this)}this.destroy(error)}_writeRequest(chunk,encoding,callback){!this._request||this._request.destroyed||this._request.write(chunk,encoding,error=>{if(!error&&!this._request.destroyed){this._uploadedSize+=import_node_buffer3.Buffer.byteLength(chunk,encoding);let progress=this.uploadProgress;progress.percent<1&&this.emit("uploadProgress",progress)}callback(error)})}get ip(){var _a;return(_a=this.socket)==null?void 0:_a.remoteAddress}get isAborted(){return this._aborted}get socket(){var _a;return((_a=this._request)==null?void 0:_a.socket)??void 0}get downloadProgress(){let percent;return this._responseSize?percent=this._downloadedSize/this._responseSize:this._responseSize===this._downloadedSize?percent=1:percent=0,{percent,transferred:this._downloadedSize,total:this._responseSize}}get uploadProgress(){let percent;return this._bodySize?percent=this._uploadedSize/this._bodySize:this._bodySize===this._uploadedSize?percent=1:percent=0,{percent,transferred:this._uploadedSize,total:this._bodySize}}get timings(){var _a;return(_a=this._request)==null?void 0:_a.timings}get isFromCache(){return this._isFromCache}get reusedSocket(){var _a;return(_a=this._request)==null?void 0:_a.reusedSocket}},CancelError2=class extends RequestError{constructor(request){super("Promise was canceled",{},request),this.name="CancelError",this.code="ERR_CANCELED"}get isCanceled(){return!0}},proxiedRequestEvents2=["request","response","redirect","uploadProgress","downloadProgress"];function asPromise(firstRequest){let globalRequest,globalResponse,normalizedOptions,emitter=new import_node_events.EventEmitter,promise=new PCancelable((resolve3,reject,onCancel)=>{onCancel(()=>{globalRequest.destroy()}),onCancel.shouldReject=!1,onCancel(()=>{reject(new CancelError2(globalRequest))});let makeRequest=retryCount=>{var _a;onCancel(()=>{});let request=firstRequest??new Request2(void 0,void 0,normalizedOptions);request.retryCount=retryCount,request._noPipe=!0,globalRequest=request,request.once("response",async response=>{let contentEncoding=(response.headers["content-encoding"]??"").toLowerCase(),isCompressed=contentEncoding==="gzip"||contentEncoding==="deflate"||contentEncoding==="br",{options}=request;if(isCompressed&&!options.decompress)response.body=response.rawBody;else try{response.body=parseBody(response,options.responseType,options.parseJson,options.encoding)}catch(error){if(response.body=response.rawBody.toString(),isResponseOk(response)){request._beforeError(error);return}}try{let hooks=options.hooks.afterResponse;for(let[index,hook]of hooks.entries())if(response=await hook(response,async updatedOptions=>{throw options.merge(updatedOptions),options.prefixUrl="",updatedOptions.url&&(options.url=updatedOptions.url),options.hooks.afterResponse=options.hooks.afterResponse.slice(0,index),new RetryError(request)}),!(dist_default2.object(response)&&dist_default2.number(response.statusCode)&&!dist_default2.nullOrUndefined(response.body)))throw new TypeError("The `afterResponse` hook returned an invalid value")}catch(error){request._beforeError(error);return}if(globalResponse=response,!isResponseOk(response)){request._beforeError(new HTTPError(response));return}request.destroy(),resolve3(request.options.resolveBodyOnly?response.body:response)});let onError=error=>{if(promise.isCanceled)return;let{options}=request;if(error instanceof HTTPError&&!options.throwHttpErrors){let{response}=error;request.destroy(),resolve3(request.options.resolveBodyOnly?response.body:response);return}reject(error)};request.once("error",onError);let previousBody=(_a=request.options)==null?void 0:_a.body;request.once("retry",(newRetryCount,error)=>{firstRequest=void 0;let newBody=request.options.body;if(previousBody===newBody&&dist_default2.nodeStream(newBody)){error.message="Cannot retry with consumed body stream",onError(error);return}normalizedOptions=request.options,makeRequest(newRetryCount)}),proxyEvents(request,emitter,proxiedRequestEvents2),dist_default2.undefined(firstRequest)&&request.flush()};makeRequest(0)});promise.on=(event,fn)=>(emitter.on(event,fn),promise),promise.off=(event,fn)=>(emitter.off(event,fn),promise);let shortcut=responseType=>{let newPromise=(async()=>{await promise;let{options}=globalResponse.request;return parseBody(globalResponse,responseType,options.parseJson,options.encoding)})();return Object.defineProperties(newPromise,Object.getOwnPropertyDescriptors(promise)),newPromise};return promise.json=()=>{if(globalRequest.options){let{headers}=globalRequest.options;!globalRequest.writableFinished&&!("accept"in headers)&&(headers.accept="application/json")}return shortcut("json")},promise.buffer=()=>shortcut("buffer"),promise.text=()=>shortcut("text"),promise}var delay=async ms=>new Promise(resolve3=>{setTimeout(resolve3,ms)}),isGotInstance=value=>dist_default2.function_(value),aliases=["get","post","put","patch","head","delete"],create=defaults2=>{defaults2={options:new Options(void 0,void 0,defaults2.options),handlers:[...defaults2.handlers],mutableDefaults:defaults2.mutableDefaults},Object.defineProperty(defaults2,"mutableDefaults",{enumerable:!0,configurable:!1,writable:!1});let got2=(url,options,defaultOptions2=defaults2.options)=>{let request=new Request2(url,options,defaultOptions2),promise,lastHandler=normalized=>(request.options=normalized,request._noPipe=!normalized.isStream,request.flush(),normalized.isStream?request:(promise||(promise=asPromise(request)),promise)),iteration=0,iterateHandlers=newOptions=>{let result=(defaults2.handlers[iteration++]??lastHandler)(newOptions,iterateHandlers);if(dist_default2.promise(result)&&!request.options.isStream&&(promise||(promise=asPromise(request)),result!==promise)){let descriptors=Object.getOwnPropertyDescriptors(promise);for(let key in descriptors)key in result&&delete descriptors[key];Object.defineProperties(result,descriptors),result.cancel=promise.cancel}return result};return iterateHandlers(request.options)};got2.extend=(...instancesOrOptions)=>{let options=new Options(void 0,void 0,defaults2.options),handlers=[...defaults2.handlers],mutableDefaults;for(let value of instancesOrOptions)isGotInstance(value)?(options.merge(value.defaults.options),handlers.push(...value.defaults.handlers),mutableDefaults=value.defaults.mutableDefaults):(options.merge(value),value.handlers&&handlers.push(...value.handlers),mutableDefaults=value.mutableDefaults);return create({options,handlers,mutableDefaults:!!mutableDefaults})};let paginateEach=async function*(url,options){let normalizedOptions=new Options(url,options,defaults2.options);normalizedOptions.resolveBodyOnly=!1;let{pagination}=normalizedOptions;assert.function_(pagination.transform),assert.function_(pagination.shouldContinue),assert.function_(pagination.filter),assert.function_(pagination.paginate),assert.number(pagination.countLimit),assert.number(pagination.requestLimit),assert.number(pagination.backoff);let allItems=[],{countLimit}=pagination,numberOfRequests=0;for(;numberOfRequests<pagination.requestLimit;){numberOfRequests!==0&&await delay(pagination.backoff);let response=await got2(void 0,void 0,normalizedOptions),parsed=await pagination.transform(response),currentItems=[];assert.array(parsed);for(let item of parsed)if(pagination.filter({item,currentItems,allItems})&&(!pagination.shouldContinue({item,currentItems,allItems})||(yield item,pagination.stackAllItems&&allItems.push(item),currentItems.push(item),--countLimit<=0)))return;let optionsToMerge=pagination.paginate({response,currentItems,allItems});if(optionsToMerge===!1)return;optionsToMerge===response.request.options?normalizedOptions=response.request.options:(normalizedOptions.merge(optionsToMerge),assert.any([dist_default2.urlInstance,dist_default2.undefined],optionsToMerge.url),optionsToMerge.url!==void 0&&(normalizedOptions.prefixUrl="",normalizedOptions.url=optionsToMerge.url)),numberOfRequests++}};got2.paginate=paginateEach,got2.paginate.all=async(url,options)=>{let results=[];for await(let item of paginateEach(url,options))results.push(item);return results},got2.paginate.each=paginateEach,got2.stream=(url,options)=>got2(url,{...options,isStream:!0});for(let method of aliases)got2[method]=(url,options)=>got2(url,{...options,method}),got2.stream[method]=(url,options)=>got2(url,{...options,method,isStream:!0});return defaults2.mutableDefaults||(Object.freeze(defaults2.handlers),defaults2.options.freeze()),Object.defineProperty(got2,"defaults",{value:defaults2,writable:!1,configurable:!1,enumerable:!0}),got2},create_default=create,defaults={options:new Options,handlers:[],mutableDefaults:!1},got=create_default(defaults);var agentOpts={keepAlive:!0,maxSockets:20},agent={http:new import_http2.Agent(agentOpts),https:new import_https2.Agent(agentOpts)};var tempy2=__toESM(require_tempy()),import_tiny_invariant4=__toESM(require("tiny-invariant"));var import_semver2=require("semver");var ProjectType=(ProjectType2=>(ProjectType2.UNDETECTED="UNDETECTED",ProjectType2.UNSUPPORTED="UNSUPPORTED",ProjectType2.REACT="REACT",ProjectType2.REACT_SCRIPTS="REACT_SCRIPTS",ProjectType2.REACT_NATIVE="REACT_NATIVE",ProjectType2.REACT_PROJECT="REACT_PROJECT",ProjectType2.WEBPACK_REACT="WEBPACK_REACT",ProjectType2.NEXTJS="NEXTJS",ProjectType2.VUE3="VUE3",ProjectType2.ANGULAR="ANGULAR",ProjectType2.EMBER="EMBER",ProjectType2.WEB_COMPONENTS="WEB_COMPONENTS",ProjectType2.HTML="HTML",ProjectType2.QWIK="QWIK",ProjectType2.PREACT="PREACT",ProjectType2.SVELTE="SVELTE",ProjectType2.SVELTEKIT="SVELTEKIT",ProjectType2.SERVER="SERVER",ProjectType2.NX="NX",ProjectType2.SOLID="SOLID",ProjectType2))(ProjectType||{});var notInstallableProjectTypes=["UNDETECTED","UNSUPPORTED","NX"],installableProjectTypes=Object.values(ProjectType).filter(type=>!notInstallableProjectTypes.includes(type)).map(type=>type.toLowerCase());var versions_default={"@storybook/addon-a11y":"8.0.0-alpha.8","@storybook/addon-actions":"8.0.0-alpha.8","@storybook/addon-backgrounds":"8.0.0-alpha.8","@storybook/addon-controls":"8.0.0-alpha.8","@storybook/addon-docs":"8.0.0-alpha.8","@storybook/addon-essentials":"8.0.0-alpha.8","@storybook/addon-highlight":"8.0.0-alpha.8","@storybook/addon-interactions":"8.0.0-alpha.8","@storybook/addon-jest":"8.0.0-alpha.8","@storybook/addon-links":"8.0.0-alpha.8","@storybook/addon-mdx-gfm":"8.0.0-alpha.8","@storybook/addon-measure":"8.0.0-alpha.8","@storybook/addon-outline":"8.0.0-alpha.8","@storybook/addon-storysource":"8.0.0-alpha.8","@storybook/addon-themes":"8.0.0-alpha.8","@storybook/addon-toolbars":"8.0.0-alpha.8","@storybook/addon-viewport":"8.0.0-alpha.8","@storybook/angular":"8.0.0-alpha.8","@storybook/blocks":"8.0.0-alpha.8","@storybook/builder-manager":"8.0.0-alpha.8","@storybook/builder-vite":"8.0.0-alpha.8","@storybook/builder-webpack5":"8.0.0-alpha.8","@storybook/channels":"8.0.0-alpha.8","@storybook/cli":"8.0.0-alpha.8","@storybook/client-logger":"8.0.0-alpha.8","@storybook/codemod":"8.0.0-alpha.8","@storybook/components":"8.0.0-alpha.8","@storybook/core-common":"8.0.0-alpha.8","@storybook/core-events":"8.0.0-alpha.8","@storybook/core-server":"8.0.0-alpha.8","@storybook/core-webpack":"8.0.0-alpha.8","@storybook/csf-plugin":"8.0.0-alpha.8","@storybook/csf-tools":"8.0.0-alpha.8","@storybook/docs-tools":"8.0.0-alpha.8","@storybook/ember":"8.0.0-alpha.8","@storybook/html":"8.0.0-alpha.8","@storybook/html-vite":"8.0.0-alpha.8","@storybook/html-webpack5":"8.0.0-alpha.8","@storybook/instrumenter":"8.0.0-alpha.8","@storybook/manager":"8.0.0-alpha.8","@storybook/manager-api":"8.0.0-alpha.8","@storybook/nextjs":"8.0.0-alpha.8","@storybook/node-logger":"8.0.0-alpha.8","@storybook/preact":"8.0.0-alpha.8","@storybook/preact-vite":"8.0.0-alpha.8","@storybook/preact-webpack5":"8.0.0-alpha.8","@storybook/preset-create-react-app":"8.0.0-alpha.8","@storybook/preset-html-webpack":"8.0.0-alpha.8","@storybook/preset-preact-webpack":"8.0.0-alpha.8","@storybook/preset-react-webpack":"8.0.0-alpha.8","@storybook/preset-server-webpack":"8.0.0-alpha.8","@storybook/preset-svelte-webpack":"8.0.0-alpha.8","@storybook/preset-vue3-webpack":"8.0.0-alpha.8","@storybook/preset-web-components-webpack":"8.0.0-alpha.8","@storybook/preview":"8.0.0-alpha.8","@storybook/preview-api":"8.0.0-alpha.8","@storybook/react":"8.0.0-alpha.8","@storybook/react-dom-shim":"8.0.0-alpha.8","@storybook/react-vite":"8.0.0-alpha.8","@storybook/react-webpack5":"8.0.0-alpha.8","@storybook/router":"8.0.0-alpha.8","@storybook/server":"8.0.0-alpha.8","@storybook/server-webpack5":"8.0.0-alpha.8","@storybook/source-loader":"8.0.0-alpha.8","@storybook/svelte":"8.0.0-alpha.8","@storybook/svelte-vite":"8.0.0-alpha.8","@storybook/svelte-webpack5":"8.0.0-alpha.8","@storybook/sveltekit":"8.0.0-alpha.8","@storybook/telemetry":"8.0.0-alpha.8","@storybook/test":"8.0.0-alpha.8","@storybook/theming":"8.0.0-alpha.8","@storybook/types":"8.0.0-alpha.8","@storybook/vue3":"8.0.0-alpha.8","@storybook/vue3-vite":"8.0.0-alpha.8","@storybook/vue3-webpack5":"8.0.0-alpha.8","@storybook/web-components":"8.0.0-alpha.8","@storybook/web-components-vite":"8.0.0-alpha.8","@storybook/web-components-webpack5":"8.0.0-alpha.8",sb:"8.0.0-alpha.8",storybook:"8.0.0-alpha.8"};var logger11=console;var commandLog=message=>(process.stdout.write(import_chalk9.default.cyan(" \u2022 ")+message),(errorMessage,errorInfo)=>{if(errorMessage){if(process.stdout.write(`. ${import_chalk9.default.red("\u2716")}
|
|
90
89
|
`),logger11.error(`
|
|
91
90
|
${import_chalk9.default.red(errorMessage)}`),!errorInfo)return;let newErrorInfo=errorInfo.split(`
|
|
92
91
|
`).map(line=>` ${import_chalk9.default.dim(line)}`).join(`
|