@storybook/addon-vitest 9.2.0-alpha.3 → 10.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +2 -0
  2. package/dist/_browser-chunks/chunk-JK72E6FR.js +6 -0
  3. package/dist/_browser-chunks/chunk-PMYV6BH2.js +76 -0
  4. package/dist/_node-chunks/chunk-2REKPEQ2.js +103 -0
  5. package/dist/_node-chunks/chunk-7BKJJYBS.js +295 -0
  6. package/dist/_node-chunks/chunk-HPGEHKZB.js +247 -0
  7. package/dist/_node-chunks/chunk-JXUNGTEW.js +50 -0
  8. package/dist/_node-chunks/chunk-MJQUUNLY.js +91 -0
  9. package/dist/_node-chunks/chunk-RCWLXKPJ.js +37 -0
  10. package/dist/_node-chunks/chunk-TL7KDPNQ.js +2264 -0
  11. package/dist/_node-chunks/chunk-ZY3KCBSS.js +481 -0
  12. package/dist/index.js +9 -6
  13. package/dist/manager.js +955 -8
  14. package/dist/node/coverage-reporter.js +1898 -4
  15. package/dist/node/vitest.js +871 -17
  16. package/dist/postinstall.js +2076 -88
  17. package/dist/preset.js +615 -35
  18. package/dist/vitest-plugin/global-setup.js +200 -6
  19. package/dist/vitest-plugin/index.js +3823 -43
  20. package/dist/vitest-plugin/setup-file.js +30 -8
  21. package/dist/vitest-plugin/test-utils.js +102 -8
  22. package/manager.js +1 -1
  23. package/package.json +27 -93
  24. package/preset.js +1 -1
  25. package/dist/chunk-55WZLVGN.mjs +0 -11
  26. package/dist/chunk-JKRQGT2U.mjs +0 -10
  27. package/dist/index.mjs +0 -5
  28. package/dist/node/coverage-reporter.d.ts +0 -184
  29. package/dist/node/coverage-reporter.mjs +0 -12
  30. package/dist/node/vitest.d.ts +0 -2
  31. package/dist/node/vitest.mjs +0 -19
  32. package/dist/vitest-plugin/global-setup.d.ts +0 -6
  33. package/dist/vitest-plugin/global-setup.mjs +0 -13
  34. package/dist/vitest-plugin/index.mjs +0 -28
  35. package/dist/vitest-plugin/setup-file.d.ts +0 -14
  36. package/dist/vitest-plugin/setup-file.mjs +0 -9
  37. package/dist/vitest-plugin/test-utils.d.ts +0 -20
  38. package/dist/vitest-plugin/test-utils.mjs +0 -8
  39. package/manager.mjs +0 -1
  40. package/postinstall.js +0 -1
  41. package/postinstall.mjs +0 -1
  42. package/preset.mjs +0 -1
@@ -1,48 +1,3828 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var module$1 = require('module');
6
- var config = require('vitest/config');
7
- var common = require('storybook/internal/common');
8
- var csfTools = require('storybook/internal/csf-tools');
9
- var serverErrors = require('storybook/internal/server-errors');
10
- var telemetry = require('storybook/internal/telemetry');
11
- var fs = require('fs');
12
- var path = require('path');
13
- var qs = require('querystring');
14
- var tsDedent = require('ts-dedent');
15
-
16
- var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
17
- function _interopNamespace(e) {
18
- if (e && e.__esModule) return e;
19
- var n = Object.create(null);
20
- if (e) {
21
- Object.keys(e).forEach(function (k) {
22
- if (k !== 'default') {
23
- var d = Object.getOwnPropertyDescriptor(e, k);
24
- Object.defineProperty(n, k, d.get ? d : {
25
- enumerable: true,
26
- get: function () { return e[k]; }
27
- });
28
- }
29
- });
30
- }
31
- n.default = e;
32
- return Object.freeze(n);
33
- }
34
-
35
- var fs__namespace = /*#__PURE__*/_interopNamespace(fs);
36
- var qs__namespace = /*#__PURE__*/_interopNamespace(qs);
37
-
38
- var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __require=(x=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(x,{get:(a,b)=>(typeof require<"u"?require:a)[b]}):x)(function(x){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+x+'" is not supported')});var __commonJS=(cb,mod)=>function(){return mod||(0, cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod));var require_utils=__commonJS({"../../node_modules/braces/lib/utils.js"(exports){exports.isInteger=num=>typeof num=="number"?Number.isInteger(num):typeof num=="string"&&num.trim()!==""?Number.isInteger(Number(num)):!1;exports.find=(node,type)=>node.nodes.find(node2=>node2.type===type);exports.exceedsLimit=(min,max,step=1,limit)=>limit===!1||!exports.isInteger(min)||!exports.isInteger(max)?!1:(Number(max)-Number(min))/Number(step)>=limit;exports.escapeNode=(block,n=0,type)=>{let node=block.nodes[n];node&&(type&&node.type===type||node.type==="open"||node.type==="close")&&node.escaped!==!0&&(node.value="\\"+node.value,node.escaped=!0);};exports.encloseBrace=node=>node.type!=="brace"?!1:node.commas>>0+node.ranges>>0===0?(node.invalid=!0,!0):!1;exports.isInvalidBrace=block=>block.type!=="brace"?!1:block.invalid===!0||block.dollar?!0:block.commas>>0+block.ranges>>0===0||block.open!==!0||block.close!==!0?(block.invalid=!0,!0):!1;exports.isOpenOrClose=node=>node.type==="open"||node.type==="close"?!0:node.open===!0||node.close===!0;exports.reduce=nodes=>nodes.reduce((acc,node)=>(node.type==="text"&&acc.push(node.value),node.type==="range"&&(node.type="text"),acc),[]);exports.flatten=(...args)=>{let result=[],flat=arr=>{for(let i=0;i<arr.length;i++){let ele=arr[i];if(Array.isArray(ele)){flat(ele);continue}ele!==void 0&&result.push(ele);}return result};return flat(args),result};}});var require_stringify=__commonJS({"../../node_modules/braces/lib/stringify.js"(exports,module){var utils=require_utils();module.exports=(ast,options={})=>{let stringify=(node,parent={})=>{let invalidBlock=options.escapeInvalid&&utils.isInvalidBrace(parent),invalidNode=node.invalid===!0&&options.escapeInvalid===!0,output="";if(node.value)return (invalidBlock||invalidNode)&&utils.isOpenOrClose(node)?"\\"+node.value:node.value;if(node.value)return node.value;if(node.nodes)for(let child of node.nodes)output+=stringify(child);return output};return stringify(ast)};}});var require_is_number=__commonJS({"../../node_modules/is-number/index.js"(exports,module){module.exports=function(num){return typeof num=="number"?num-num===0:typeof num=="string"&&num.trim()!==""?Number.isFinite?Number.isFinite(+num):isFinite(+num):!1};}});var require_to_regex_range=__commonJS({"../../node_modules/to-regex-range/index.js"(exports,module){var isNumber=require_is_number(),toRegexRange=(min,max,options)=>{if(isNumber(min)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(max===void 0||min===max)return String(min);if(isNumber(max)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let opts={relaxZeros:!0,...options};typeof opts.strictZeros=="boolean"&&(opts.relaxZeros=opts.strictZeros===!1);let relax=String(opts.relaxZeros),shorthand=String(opts.shorthand),capture=String(opts.capture),wrap=String(opts.wrap),cacheKey=min+":"+max+"="+relax+shorthand+capture+wrap;if(toRegexRange.cache.hasOwnProperty(cacheKey))return toRegexRange.cache[cacheKey].result;let a=Math.min(min,max),b=Math.max(min,max);if(Math.abs(a-b)===1){let result=min+"|"+max;return opts.capture?`(${result})`:opts.wrap===!1?result:`(?:${result})`}let isPadded=hasPadding(min)||hasPadding(max),state={min,max,a,b},positives=[],negatives=[];if(isPadded&&(state.isPadded=isPadded,state.maxLen=String(state.max).length),a<0){let newMin=b<0?Math.abs(b):1;negatives=splitToPatterns(newMin,Math.abs(a),state,opts),a=state.a=0;}return b>=0&&(positives=splitToPatterns(a,b,state,opts)),state.negatives=negatives,state.positives=positives,state.result=collatePatterns(negatives,positives),opts.capture===!0?state.result=`(${state.result})`:opts.wrap!==!1&&positives.length+negatives.length>1&&(state.result=`(?:${state.result})`),toRegexRange.cache[cacheKey]=state,state.result};function collatePatterns(neg,pos,options){let onlyNegative=filterPatterns(neg,pos,"-",!1)||[],onlyPositive=filterPatterns(pos,neg,"",!1)||[],intersected=filterPatterns(neg,pos,"-?",!0)||[];return onlyNegative.concat(intersected).concat(onlyPositive).join("|")}function splitToRanges(min,max){let nines=1,zeros=1,stop=countNines(min,nines),stops=new Set([max]);for(;min<=stop&&stop<=max;)stops.add(stop),nines+=1,stop=countNines(min,nines);for(stop=countZeros(max+1,zeros)-1;min<stop&&stop<=max;)stops.add(stop),zeros+=1,stop=countZeros(max+1,zeros)-1;return stops=[...stops],stops.sort(compare),stops}function rangeToPattern(start,stop,options){if(start===stop)return {pattern:start,count:[],digits:0};let zipped=zip(start,stop),digits=zipped.length,pattern="",count=0;for(let i=0;i<digits;i++){let[startDigit,stopDigit]=zipped[i];startDigit===stopDigit?pattern+=startDigit:startDigit!=="0"||stopDigit!=="9"?pattern+=toCharacterClass(startDigit,stopDigit):count++;}return count&&(pattern+=options.shorthand===!0?"\\d":"[0-9]"),{pattern,count:[count],digits}}function splitToPatterns(min,max,tok,options){let ranges=splitToRanges(min,max),tokens=[],start=min,prev;for(let i=0;i<ranges.length;i++){let max2=ranges[i],obj=rangeToPattern(String(start),String(max2),options),zeros="";if(!tok.isPadded&&prev&&prev.pattern===obj.pattern){prev.count.length>1&&prev.count.pop(),prev.count.push(obj.count[0]),prev.string=prev.pattern+toQuantifier(prev.count),start=max2+1;continue}tok.isPadded&&(zeros=padZeros(max2,tok,options)),obj.string=zeros+obj.pattern+toQuantifier(obj.count),tokens.push(obj),start=max2+1,prev=obj;}return tokens}function filterPatterns(arr,comparison,prefix,intersection,options){let result=[];for(let ele of arr){let{string}=ele;!intersection&&!contains(comparison,"string",string)&&result.push(prefix+string),intersection&&contains(comparison,"string",string)&&result.push(prefix+string);}return result}function zip(a,b){let arr=[];for(let i=0;i<a.length;i++)arr.push([a[i],b[i]]);return arr}function compare(a,b){return a>b?1:b>a?-1:0}function contains(arr,key,val){return arr.some(ele=>ele[key]===val)}function countNines(min,len){return Number(String(min).slice(0,-len)+"9".repeat(len))}function countZeros(integer,zeros){return integer-integer%Math.pow(10,zeros)}function toQuantifier(digits){let[start=0,stop=""]=digits;return stop||start>1?`{${start+(stop?","+stop:"")}}`:""}function toCharacterClass(a,b,options){return `[${a}${b-a===1?"":"-"}${b}]`}function hasPadding(str){return /^-?(0+)\d/.test(str)}function padZeros(value,tok,options){if(!tok.isPadded)return value;let diff=Math.abs(tok.maxLen-String(value).length),relax=options.relaxZeros!==!1;switch(diff){case 0:return "";case 1:return relax?"0?":"0";case 2:return relax?"0{0,2}":"00";default:return relax?`0{0,${diff}}`:`0{${diff}}`}}toRegexRange.cache={};toRegexRange.clearCache=()=>toRegexRange.cache={};module.exports=toRegexRange;}});var require_fill_range=__commonJS({"../../node_modules/fill-range/index.js"(exports,module){var util=__require("util"),toRegexRange=require_to_regex_range(),isObject=val=>val!==null&&typeof val=="object"&&!Array.isArray(val),transform=toNumber=>value=>toNumber===!0?Number(value):String(value),isValidValue=value=>typeof value=="number"||typeof value=="string"&&value!=="",isNumber=num=>Number.isInteger(+num),zeros=input=>{let value=`${input}`,index=-1;if(value[0]==="-"&&(value=value.slice(1)),value==="0")return !1;for(;value[++index]==="0";);return index>0},stringify=(start,end,options)=>typeof start=="string"||typeof end=="string"?!0:options.stringify===!0,pad=(input,maxLength,toNumber)=>{if(maxLength>0){let dash=input[0]==="-"?"-":"";dash&&(input=input.slice(1)),input=dash+input.padStart(dash?maxLength-1:maxLength,"0");}return toNumber===!1?String(input):input},toMaxLen=(input,maxLength)=>{let negative=input[0]==="-"?"-":"";for(negative&&(input=input.slice(1),maxLength--);input.length<maxLength;)input="0"+input;return negative?"-"+input:input},toSequence=(parts,options,maxLen)=>{parts.negatives.sort((a,b)=>a<b?-1:a>b?1:0),parts.positives.sort((a,b)=>a<b?-1:a>b?1:0);let prefix=options.capture?"":"?:",positives="",negatives="",result;return parts.positives.length&&(positives=parts.positives.map(v=>toMaxLen(String(v),maxLen)).join("|")),parts.negatives.length&&(negatives=`-(${prefix}${parts.negatives.map(v=>toMaxLen(String(v),maxLen)).join("|")})`),positives&&negatives?result=`${positives}|${negatives}`:result=positives||negatives,options.wrap?`(${prefix}${result})`:result},toRange=(a,b,isNumbers,options)=>{if(isNumbers)return toRegexRange(a,b,{wrap:!1,...options});let start=String.fromCharCode(a);if(a===b)return start;let stop=String.fromCharCode(b);return `[${start}-${stop}]`},toRegex=(start,end,options)=>{if(Array.isArray(start)){let wrap=options.wrap===!0,prefix=options.capture?"":"?:";return wrap?`(${prefix}${start.join("|")})`:start.join("|")}return toRegexRange(start,end,options)},rangeError=(...args)=>new RangeError("Invalid range arguments: "+util.inspect(...args)),invalidRange=(start,end,options)=>{if(options.strictRanges===!0)throw rangeError([start,end]);return []},invalidStep=(step,options)=>{if(options.strictRanges===!0)throw new TypeError(`Expected step "${step}" to be a number`);return []},fillNumbers=(start,end,step=1,options={})=>{let a=Number(start),b=Number(end);if(!Number.isInteger(a)||!Number.isInteger(b)){if(options.strictRanges===!0)throw rangeError([start,end]);return []}a===0&&(a=0),b===0&&(b=0);let descending=a>b,startString=String(start),endString=String(end),stepString=String(step);step=Math.max(Math.abs(step),1);let padded=zeros(startString)||zeros(endString)||zeros(stepString),maxLen=padded?Math.max(startString.length,endString.length,stepString.length):0,toNumber=padded===!1&&stringify(start,end,options)===!1,format2=options.transform||transform(toNumber);if(options.toRegex&&step===1)return toRange(toMaxLen(start,maxLen),toMaxLen(end,maxLen),!0,options);let parts={negatives:[],positives:[]},push=num=>parts[num<0?"negatives":"positives"].push(Math.abs(num)),range=[],index=0;for(;descending?a>=b:a<=b;)options.toRegex===!0&&step>1?push(a):range.push(pad(format2(a,index),maxLen,toNumber)),a=descending?a-step:a+step,index++;return options.toRegex===!0?step>1?toSequence(parts,options,maxLen):toRegex(range,null,{wrap:!1,...options}):range},fillLetters=(start,end,step=1,options={})=>{if(!isNumber(start)&&start.length>1||!isNumber(end)&&end.length>1)return invalidRange(start,end,options);let format2=options.transform||(val=>String.fromCharCode(val)),a=`${start}`.charCodeAt(0),b=`${end}`.charCodeAt(0),descending=a>b,min=Math.min(a,b),max=Math.max(a,b);if(options.toRegex&&step===1)return toRange(min,max,!1,options);let range=[],index=0;for(;descending?a>=b:a<=b;)range.push(format2(a,index)),a=descending?a-step:a+step,index++;return options.toRegex===!0?toRegex(range,null,{wrap:!1,options}):range},fill=(start,end,step,options={})=>{if(end==null&&isValidValue(start))return [start];if(!isValidValue(start)||!isValidValue(end))return invalidRange(start,end,options);if(typeof step=="function")return fill(start,end,1,{transform:step});if(isObject(step))return fill(start,end,0,step);let opts={...options};return opts.capture===!0&&(opts.wrap=!0),step=step||opts.step||1,isNumber(step)?isNumber(start)&&isNumber(end)?fillNumbers(start,end,step,opts):fillLetters(start,end,Math.max(Math.abs(step),1),opts):step!=null&&!isObject(step)?invalidStep(step,opts):fill(start,end,1,step)};module.exports=fill;}});var require_compile=__commonJS({"../../node_modules/braces/lib/compile.js"(exports,module){var fill=require_fill_range(),utils=require_utils(),compile=(ast,options={})=>{let walk=(node,parent={})=>{let invalidBlock=utils.isInvalidBrace(parent),invalidNode=node.invalid===!0&&options.escapeInvalid===!0,invalid=invalidBlock===!0||invalidNode===!0,prefix=options.escapeInvalid===!0?"\\":"",output="";if(node.isOpen===!0)return prefix+node.value;if(node.isClose===!0)return console.log("node.isClose",prefix,node.value),prefix+node.value;if(node.type==="open")return invalid?prefix+node.value:"(";if(node.type==="close")return invalid?prefix+node.value:")";if(node.type==="comma")return node.prev.type==="comma"?"":invalid?node.value:"|";if(node.value)return node.value;if(node.nodes&&node.ranges>0){let args=utils.reduce(node.nodes),range=fill(...args,{...options,wrap:!1,toRegex:!0,strictZeros:!0});if(range.length!==0)return args.length>1&&range.length>1?`(${range})`:range}if(node.nodes)for(let child of node.nodes)output+=walk(child,node);return output};return walk(ast)};module.exports=compile;}});var require_expand=__commonJS({"../../node_modules/braces/lib/expand.js"(exports,module){var fill=require_fill_range(),stringify=require_stringify(),utils=require_utils(),append=(queue="",stash="",enclose=!1)=>{let result=[];if(queue=[].concat(queue),stash=[].concat(stash),!stash.length)return queue;if(!queue.length)return enclose?utils.flatten(stash).map(ele=>`{${ele}}`):stash;for(let item of queue)if(Array.isArray(item))for(let value of item)result.push(append(value,stash,enclose));else for(let ele of stash)enclose===!0&&typeof ele=="string"&&(ele=`{${ele}}`),result.push(Array.isArray(ele)?append(item,ele,enclose):item+ele);return utils.flatten(result)},expand=(ast,options={})=>{let rangeLimit=options.rangeLimit===void 0?1e3:options.rangeLimit,walk=(node,parent={})=>{node.queue=[];let p=parent,q=parent.queue;for(;p.type!=="brace"&&p.type!=="root"&&p.parent;)p=p.parent,q=p.queue;if(node.invalid||node.dollar){q.push(append(q.pop(),stringify(node,options)));return}if(node.type==="brace"&&node.invalid!==!0&&node.nodes.length===2){q.push(append(q.pop(),["{}"]));return}if(node.nodes&&node.ranges>0){let args=utils.reduce(node.nodes);if(utils.exceedsLimit(...args,options.step,rangeLimit))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let range=fill(...args,options);range.length===0&&(range=stringify(node,options)),q.push(append(q.pop(),range)),node.nodes=[];return}let enclose=utils.encloseBrace(node),queue=node.queue,block=node;for(;block.type!=="brace"&&block.type!=="root"&&block.parent;)block=block.parent,queue=block.queue;for(let i=0;i<node.nodes.length;i++){let child=node.nodes[i];if(child.type==="comma"&&node.type==="brace"){i===1&&queue.push(""),queue.push("");continue}if(child.type==="close"){q.push(append(q.pop(),queue,enclose));continue}if(child.value&&child.type!=="open"){queue.push(append(queue.pop(),child.value));continue}child.nodes&&walk(child,node);}return queue};return utils.flatten(walk(ast))};module.exports=expand;}});var require_constants=__commonJS({"../../node_modules/braces/lib/constants.js"(exports,module){module.exports={MAX_LENGTH:1e4,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:`
39
- `,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"};}});var require_parse=__commonJS({"../../node_modules/braces/lib/parse.js"(exports,module){var stringify=require_stringify(),{MAX_LENGTH,CHAR_BACKSLASH,CHAR_BACKTICK,CHAR_COMMA,CHAR_DOT,CHAR_LEFT_PARENTHESES,CHAR_RIGHT_PARENTHESES,CHAR_LEFT_CURLY_BRACE,CHAR_RIGHT_CURLY_BRACE,CHAR_LEFT_SQUARE_BRACKET,CHAR_RIGHT_SQUARE_BRACKET,CHAR_DOUBLE_QUOTE,CHAR_SINGLE_QUOTE,CHAR_NO_BREAK_SPACE,CHAR_ZERO_WIDTH_NOBREAK_SPACE}=require_constants(),parse4=(input,options={})=>{if(typeof input!="string")throw new TypeError("Expected a string");let opts=options||{},max=typeof opts.maxLength=="number"?Math.min(MAX_LENGTH,opts.maxLength):MAX_LENGTH;if(input.length>max)throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max})`);let ast={type:"root",input,nodes:[]},stack=[ast],block=ast,prev=ast,brackets=0,length=input.length,index=0,depth=0,value,advance=()=>input[index++],push=node=>{if(node.type==="text"&&prev.type==="dot"&&(prev.type="text"),prev&&prev.type==="text"&&node.type==="text"){prev.value+=node.value;return}return block.nodes.push(node),node.parent=block,node.prev=prev,prev=node,node};for(push({type:"bos"});index<length;)if(block=stack[stack.length-1],value=advance(),!(value===CHAR_ZERO_WIDTH_NOBREAK_SPACE||value===CHAR_NO_BREAK_SPACE)){if(value===CHAR_BACKSLASH){push({type:"text",value:(options.keepEscaping?value:"")+advance()});continue}if(value===CHAR_RIGHT_SQUARE_BRACKET){push({type:"text",value:"\\"+value});continue}if(value===CHAR_LEFT_SQUARE_BRACKET){brackets++;let next;for(;index<length&&(next=advance());){if(value+=next,next===CHAR_LEFT_SQUARE_BRACKET){brackets++;continue}if(next===CHAR_BACKSLASH){value+=advance();continue}if(next===CHAR_RIGHT_SQUARE_BRACKET&&(brackets--,brackets===0))break}push({type:"text",value});continue}if(value===CHAR_LEFT_PARENTHESES){block=push({type:"paren",nodes:[]}),stack.push(block),push({type:"text",value});continue}if(value===CHAR_RIGHT_PARENTHESES){if(block.type!=="paren"){push({type:"text",value});continue}block=stack.pop(),push({type:"text",value}),block=stack[stack.length-1];continue}if(value===CHAR_DOUBLE_QUOTE||value===CHAR_SINGLE_QUOTE||value===CHAR_BACKTICK){let open=value,next;for(options.keepQuotes!==!0&&(value="");index<length&&(next=advance());){if(next===CHAR_BACKSLASH){value+=next+advance();continue}if(next===open){options.keepQuotes===!0&&(value+=next);break}value+=next;}push({type:"text",value});continue}if(value===CHAR_LEFT_CURLY_BRACE){depth++;let brace={type:"brace",open:!0,close:!1,dollar:prev.value&&prev.value.slice(-1)==="$"||block.dollar===!0,depth,commas:0,ranges:0,nodes:[]};block=push(brace),stack.push(block),push({type:"open",value});continue}if(value===CHAR_RIGHT_CURLY_BRACE){if(block.type!=="brace"){push({type:"text",value});continue}let type="close";block=stack.pop(),block.close=!0,push({type,value}),depth--,block=stack[stack.length-1];continue}if(value===CHAR_COMMA&&depth>0){if(block.ranges>0){block.ranges=0;let open=block.nodes.shift();block.nodes=[open,{type:"text",value:stringify(block)}];}push({type:"comma",value}),block.commas++;continue}if(value===CHAR_DOT&&depth>0&&block.commas===0){let siblings=block.nodes;if(depth===0||siblings.length===0){push({type:"text",value});continue}if(prev.type==="dot"){if(block.range=[],prev.value+=value,prev.type="range",block.nodes.length!==3&&block.nodes.length!==5){block.invalid=!0,block.ranges=0,prev.type="text";continue}block.ranges++,block.args=[];continue}if(prev.type==="range"){siblings.pop();let before=siblings[siblings.length-1];before.value+=prev.value+value,prev=before,block.ranges--;continue}push({type:"dot",value});continue}push({type:"text",value});}do if(block=stack.pop(),block.type!=="root"){block.nodes.forEach(node=>{node.nodes||(node.type==="open"&&(node.isOpen=!0),node.type==="close"&&(node.isClose=!0),node.nodes||(node.type="text"),node.invalid=!0);});let parent=stack[stack.length-1],index2=parent.nodes.indexOf(block);parent.nodes.splice(index2,1,...block.nodes);}while(stack.length>0);return push({type:"eos"}),ast};module.exports=parse4;}});var require_braces=__commonJS({"../../node_modules/braces/index.js"(exports,module){var stringify=require_stringify(),compile=require_compile(),expand=require_expand(),parse4=require_parse(),braces=(input,options={})=>{let output=[];if(Array.isArray(input))for(let pattern of input){let result=braces.create(pattern,options);Array.isArray(result)?output.push(...result):output.push(result);}else output=[].concat(braces.create(input,options));return options&&options.expand===!0&&options.nodupes===!0&&(output=[...new Set(output)]),output};braces.parse=(input,options={})=>parse4(input,options);braces.stringify=(input,options={})=>stringify(typeof input=="string"?braces.parse(input,options):input,options);braces.compile=(input,options={})=>(typeof input=="string"&&(input=braces.parse(input,options)),compile(input,options));braces.expand=(input,options={})=>{typeof input=="string"&&(input=braces.parse(input,options));let result=expand(input,options);return options.noempty===!0&&(result=result.filter(Boolean)),options.nodupes===!0&&(result=[...new Set(result)]),result};braces.create=(input,options={})=>input===""||input.length<3?[input]:options.expand!==!0?braces.compile(input,options):braces.expand(input,options);module.exports=braces;}});var require_constants2=__commonJS({"../../node_modules/picomatch/lib/constants.js"(exports,module){var path2=__require("path"),WIN_SLASH="\\\\/",WIN_NO_SLASH=`[^${WIN_SLASH}]`,DOT_LITERAL="\\.",PLUS_LITERAL="\\+",QMARK_LITERAL="\\?",SLASH_LITERAL="\\/",ONE_CHAR="(?=.)",QMARK="[^/]",END_ANCHOR=`(?:${SLASH_LITERAL}|$)`,START_ANCHOR=`(?:^|${SLASH_LITERAL})`,DOTS_SLASH=`${DOT_LITERAL}{1,2}${END_ANCHOR}`,NO_DOT=`(?!${DOT_LITERAL})`,NO_DOTS=`(?!${START_ANCHOR}${DOTS_SLASH})`,NO_DOT_SLASH=`(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`,NO_DOTS_SLASH=`(?!${DOTS_SLASH})`,QMARK_NO_DOT=`[^.${SLASH_LITERAL}]`,STAR=`${QMARK}*?`,POSIX_CHARS={DOT_LITERAL,PLUS_LITERAL,QMARK_LITERAL,SLASH_LITERAL,ONE_CHAR,QMARK,END_ANCHOR,DOTS_SLASH,NO_DOT,NO_DOTS,NO_DOT_SLASH,NO_DOTS_SLASH,QMARK_NO_DOT,STAR,START_ANCHOR},WINDOWS_CHARS={...POSIX_CHARS,SLASH_LITERAL:`[${WIN_SLASH}]`,QMARK:WIN_NO_SLASH,STAR:`${WIN_NO_SLASH}*?`,DOTS_SLASH:`${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`,NO_DOT:`(?!${DOT_LITERAL})`,NO_DOTS:`(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,NO_DOT_SLASH:`(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`,NO_DOTS_SLASH:`(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,QMARK_NO_DOT:`[^.${WIN_SLASH}]`,START_ANCHOR:`(?:^|[${WIN_SLASH}])`,END_ANCHOR:`(?:[${WIN_SLASH}]|$)`},POSIX_REGEX_SOURCE={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};module.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:path2.sep,extglobChars(chars){return {"!":{type:"negate",open:"(?:(?!(?:",close:`))${chars.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(win32){return win32===!0?WINDOWS_CHARS:POSIX_CHARS}};}});var require_utils2=__commonJS({"../../node_modules/picomatch/lib/utils.js"(exports){var path2=__require("path"),win32=process.platform==="win32",{REGEX_BACKSLASH,REGEX_REMOVE_BACKSLASH,REGEX_SPECIAL_CHARS,REGEX_SPECIAL_CHARS_GLOBAL}=require_constants2();exports.isObject=val=>val!==null&&typeof val=="object"&&!Array.isArray(val);exports.hasRegexChars=str=>REGEX_SPECIAL_CHARS.test(str);exports.isRegexChar=str=>str.length===1&&exports.hasRegexChars(str);exports.escapeRegex=str=>str.replace(REGEX_SPECIAL_CHARS_GLOBAL,"\\$1");exports.toPosixSlashes=str=>str.replace(REGEX_BACKSLASH,"/");exports.removeBackslashes=str=>str.replace(REGEX_REMOVE_BACKSLASH,match2=>match2==="\\"?"":match2);exports.supportsLookbehinds=()=>{let segs=process.version.slice(1).split(".").map(Number);return segs.length===3&&segs[0]>=9||segs[0]===8&&segs[1]>=10};exports.isWindows=options=>options&&typeof options.windows=="boolean"?options.windows:win32===!0||path2.sep==="\\";exports.escapeLast=(input,char,lastIdx)=>{let idx=input.lastIndexOf(char,lastIdx);return idx===-1?input:input[idx-1]==="\\"?exports.escapeLast(input,char,idx-1):`${input.slice(0,idx)}\\${input.slice(idx)}`};exports.removePrefix=(input,state={})=>{let output=input;return output.startsWith("./")&&(output=output.slice(2),state.prefix="./"),output};exports.wrapOutput=(input,state={},options={})=>{let prepend=options.contains?"":"^",append=options.contains?"":"$",output=`${prepend}(?:${input})${append}`;return state.negated===!0&&(output=`(?:^(?!${output}).*$)`),output};}});var require_scan=__commonJS({"../../node_modules/picomatch/lib/scan.js"(exports,module){var utils=require_utils2(),{CHAR_ASTERISK,CHAR_AT,CHAR_BACKWARD_SLASH,CHAR_COMMA,CHAR_DOT,CHAR_EXCLAMATION_MARK,CHAR_FORWARD_SLASH,CHAR_LEFT_CURLY_BRACE,CHAR_LEFT_PARENTHESES,CHAR_LEFT_SQUARE_BRACKET,CHAR_PLUS,CHAR_QUESTION_MARK,CHAR_RIGHT_CURLY_BRACE,CHAR_RIGHT_PARENTHESES,CHAR_RIGHT_SQUARE_BRACKET}=require_constants2(),isPathSeparator=code=>code===CHAR_FORWARD_SLASH||code===CHAR_BACKWARD_SLASH,depth=token=>{token.isPrefix!==!0&&(token.depth=token.isGlobstar?1/0:1);},scan=(input,options)=>{let opts=options||{},length=input.length-1,scanToEnd=opts.parts===!0||opts.scanToEnd===!0,slashes=[],tokens=[],parts=[],str=input,index=-1,start=0,lastIndex=0,isBrace=!1,isBracket=!1,isGlob=!1,isExtglob=!1,isGlobstar=!1,braceEscaped=!1,backslashes=!1,negated=!1,negatedExtglob=!1,finished=!1,braces=0,prev,code,token={value:"",depth:0,isGlob:!1},eos=()=>index>=length,peek=()=>str.charCodeAt(index+1),advance=()=>(prev=code,str.charCodeAt(++index));for(;index<length;){code=advance();let next;if(code===CHAR_BACKWARD_SLASH){backslashes=token.backslashes=!0,code=advance(),code===CHAR_LEFT_CURLY_BRACE&&(braceEscaped=!0);continue}if(braceEscaped===!0||code===CHAR_LEFT_CURLY_BRACE){for(braces++;eos()!==!0&&(code=advance());){if(code===CHAR_BACKWARD_SLASH){backslashes=token.backslashes=!0,advance();continue}if(code===CHAR_LEFT_CURLY_BRACE){braces++;continue}if(braceEscaped!==!0&&code===CHAR_DOT&&(code=advance())===CHAR_DOT){if(isBrace=token.isBrace=!0,isGlob=token.isGlob=!0,finished=!0,scanToEnd===!0)continue;break}if(braceEscaped!==!0&&code===CHAR_COMMA){if(isBrace=token.isBrace=!0,isGlob=token.isGlob=!0,finished=!0,scanToEnd===!0)continue;break}if(code===CHAR_RIGHT_CURLY_BRACE&&(braces--,braces===0)){braceEscaped=!1,isBrace=token.isBrace=!0,finished=!0;break}}if(scanToEnd===!0)continue;break}if(code===CHAR_FORWARD_SLASH){if(slashes.push(index),tokens.push(token),token={value:"",depth:0,isGlob:!1},finished===!0)continue;if(prev===CHAR_DOT&&index===start+1){start+=2;continue}lastIndex=index+1;continue}if(opts.noext!==!0&&(code===CHAR_PLUS||code===CHAR_AT||code===CHAR_ASTERISK||code===CHAR_QUESTION_MARK||code===CHAR_EXCLAMATION_MARK)===!0&&peek()===CHAR_LEFT_PARENTHESES){if(isGlob=token.isGlob=!0,isExtglob=token.isExtglob=!0,finished=!0,code===CHAR_EXCLAMATION_MARK&&index===start&&(negatedExtglob=!0),scanToEnd===!0){for(;eos()!==!0&&(code=advance());){if(code===CHAR_BACKWARD_SLASH){backslashes=token.backslashes=!0,code=advance();continue}if(code===CHAR_RIGHT_PARENTHESES){isGlob=token.isGlob=!0,finished=!0;break}}continue}break}if(code===CHAR_ASTERISK){if(prev===CHAR_ASTERISK&&(isGlobstar=token.isGlobstar=!0),isGlob=token.isGlob=!0,finished=!0,scanToEnd===!0)continue;break}if(code===CHAR_QUESTION_MARK){if(isGlob=token.isGlob=!0,finished=!0,scanToEnd===!0)continue;break}if(code===CHAR_LEFT_SQUARE_BRACKET){for(;eos()!==!0&&(next=advance());){if(next===CHAR_BACKWARD_SLASH){backslashes=token.backslashes=!0,advance();continue}if(next===CHAR_RIGHT_SQUARE_BRACKET){isBracket=token.isBracket=!0,isGlob=token.isGlob=!0,finished=!0;break}}if(scanToEnd===!0)continue;break}if(opts.nonegate!==!0&&code===CHAR_EXCLAMATION_MARK&&index===start){negated=token.negated=!0,start++;continue}if(opts.noparen!==!0&&code===CHAR_LEFT_PARENTHESES){if(isGlob=token.isGlob=!0,scanToEnd===!0){for(;eos()!==!0&&(code=advance());){if(code===CHAR_LEFT_PARENTHESES){backslashes=token.backslashes=!0,code=advance();continue}if(code===CHAR_RIGHT_PARENTHESES){finished=!0;break}}continue}break}if(isGlob===!0){if(finished=!0,scanToEnd===!0)continue;break}}opts.noext===!0&&(isExtglob=!1,isGlob=!1);let base=str,prefix="",glob="";start>0&&(prefix=str.slice(0,start),str=str.slice(start),lastIndex-=start),base&&isGlob===!0&&lastIndex>0?(base=str.slice(0,lastIndex),glob=str.slice(lastIndex)):isGlob===!0?(base="",glob=str):base=str,base&&base!==""&&base!=="/"&&base!==str&&isPathSeparator(base.charCodeAt(base.length-1))&&(base=base.slice(0,-1)),opts.unescape===!0&&(glob&&(glob=utils.removeBackslashes(glob)),base&&backslashes===!0&&(base=utils.removeBackslashes(base)));let state={prefix,input,start,base,glob,isBrace,isBracket,isGlob,isExtglob,isGlobstar,negated,negatedExtglob};if(opts.tokens===!0&&(state.maxDepth=0,isPathSeparator(code)||tokens.push(token),state.tokens=tokens),opts.parts===!0||opts.tokens===!0){let prevIndex;for(let idx=0;idx<slashes.length;idx++){let n=prevIndex?prevIndex+1:start,i=slashes[idx],value=input.slice(n,i);opts.tokens&&(idx===0&&start!==0?(tokens[idx].isPrefix=!0,tokens[idx].value=prefix):tokens[idx].value=value,depth(tokens[idx]),state.maxDepth+=tokens[idx].depth),(idx!==0||value!=="")&&parts.push(value),prevIndex=i;}if(prevIndex&&prevIndex+1<input.length){let value=input.slice(prevIndex+1);parts.push(value),opts.tokens&&(tokens[tokens.length-1].value=value,depth(tokens[tokens.length-1]),state.maxDepth+=tokens[tokens.length-1].depth);}state.slashes=slashes,state.parts=parts;}return state};module.exports=scan;}});var require_parse2=__commonJS({"../../node_modules/picomatch/lib/parse.js"(exports,module){var constants=require_constants2(),utils=require_utils2(),{MAX_LENGTH,POSIX_REGEX_SOURCE,REGEX_NON_SPECIAL_CHARS,REGEX_SPECIAL_CHARS_BACKREF,REPLACEMENTS}=constants,expandRange=(args,options)=>{if(typeof options.expandRange=="function")return options.expandRange(...args,options);args.sort();let value=`[${args.join("-")}]`;try{new RegExp(value);}catch{return args.map(v=>utils.escapeRegex(v)).join("..")}return value},syntaxError=(type,char)=>`Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`,parse4=(input,options)=>{if(typeof input!="string")throw new TypeError("Expected a string");input=REPLACEMENTS[input]||input;let opts={...options},max=typeof opts.maxLength=="number"?Math.min(MAX_LENGTH,opts.maxLength):MAX_LENGTH,len=input.length;if(len>max)throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);let bos={type:"bos",value:"",output:opts.prepend||""},tokens=[bos],capture=opts.capture?"":"?:",win32=utils.isWindows(options),PLATFORM_CHARS=constants.globChars(win32),EXTGLOB_CHARS=constants.extglobChars(PLATFORM_CHARS),{DOT_LITERAL,PLUS_LITERAL,SLASH_LITERAL,ONE_CHAR,DOTS_SLASH,NO_DOT,NO_DOT_SLASH,NO_DOTS_SLASH,QMARK,QMARK_NO_DOT,STAR,START_ANCHOR}=PLATFORM_CHARS,globstar=opts2=>`(${capture}(?:(?!${START_ANCHOR}${opts2.dot?DOTS_SLASH:DOT_LITERAL}).)*?)`,nodot=opts.dot?"":NO_DOT,qmarkNoDot=opts.dot?QMARK:QMARK_NO_DOT,star=opts.bash===!0?globstar(opts):STAR;opts.capture&&(star=`(${star})`),typeof opts.noext=="boolean"&&(opts.noextglob=opts.noext);let state={input,index:-1,start:0,dot:opts.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens};input=utils.removePrefix(input,state),len=input.length;let extglobs=[],braces=[],stack=[],prev=bos,value,eos=()=>state.index===len-1,peek=state.peek=(n=1)=>input[state.index+n],advance=state.advance=()=>input[++state.index]||"",remaining=()=>input.slice(state.index+1),consume=(value2="",num=0)=>{state.consumed+=value2,state.index+=num;},append=token=>{state.output+=token.output!=null?token.output:token.value,consume(token.value);},negate=()=>{let count=1;for(;peek()==="!"&&(peek(2)!=="("||peek(3)==="?");)advance(),state.start++,count++;return count%2===0?!1:(state.negated=!0,state.start++,!0)},increment=type=>{state[type]++,stack.push(type);},decrement=type=>{state[type]--,stack.pop();},push=tok=>{if(prev.type==="globstar"){let isBrace=state.braces>0&&(tok.type==="comma"||tok.type==="brace"),isExtglob=tok.extglob===!0||extglobs.length&&(tok.type==="pipe"||tok.type==="paren");tok.type!=="slash"&&tok.type!=="paren"&&!isBrace&&!isExtglob&&(state.output=state.output.slice(0,-prev.output.length),prev.type="star",prev.value="*",prev.output=star,state.output+=prev.output);}if(extglobs.length&&tok.type!=="paren"&&(extglobs[extglobs.length-1].inner+=tok.value),(tok.value||tok.output)&&append(tok),prev&&prev.type==="text"&&tok.type==="text"){prev.value+=tok.value,prev.output=(prev.output||"")+tok.value;return}tok.prev=prev,tokens.push(tok),prev=tok;},extglobOpen=(type,value2)=>{let token={...EXTGLOB_CHARS[value2],conditions:1,inner:""};token.prev=prev,token.parens=state.parens,token.output=state.output;let output=(opts.capture?"(":"")+token.open;increment("parens"),push({type,value:value2,output:state.output?"":ONE_CHAR}),push({type:"paren",extglob:!0,value:advance(),output}),extglobs.push(token);},extglobClose=token=>{let output=token.close+(opts.capture?")":""),rest;if(token.type==="negate"){let extglobStar=star;if(token.inner&&token.inner.length>1&&token.inner.includes("/")&&(extglobStar=globstar(opts)),(extglobStar!==star||eos()||/^\)+$/.test(remaining()))&&(output=token.close=`)$))${extglobStar}`),token.inner.includes("*")&&(rest=remaining())&&/^\.[^\\/.]+$/.test(rest)){let expression=parse4(rest,{...options,fastpaths:!1}).output;output=token.close=`)${expression})${extglobStar})`;}token.prev.type==="bos"&&(state.negatedExtglob=!0);}push({type:"paren",extglob:!0,value,output}),decrement("parens");};if(opts.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(input)){let backslashes=!1,output=input.replace(REGEX_SPECIAL_CHARS_BACKREF,(m,esc,chars,first,rest,index)=>first==="\\"?(backslashes=!0,m):first==="?"?esc?esc+first+(rest?QMARK.repeat(rest.length):""):index===0?qmarkNoDot+(rest?QMARK.repeat(rest.length):""):QMARK.repeat(chars.length):first==="."?DOT_LITERAL.repeat(chars.length):first==="*"?esc?esc+first+(rest?star:""):star:esc?m:`\\${m}`);return backslashes===!0&&(opts.unescape===!0?output=output.replace(/\\/g,""):output=output.replace(/\\+/g,m=>m.length%2===0?"\\\\":m?"\\":"")),output===input&&opts.contains===!0?(state.output=input,state):(state.output=utils.wrapOutput(output,state,options),state)}for(;!eos();){if(value=advance(),value==="\0")continue;if(value==="\\"){let next=peek();if(next==="/"&&opts.bash!==!0||next==="."||next===";")continue;if(!next){value+="\\",push({type:"text",value});continue}let match2=/^\\+/.exec(remaining()),slashes=0;if(match2&&match2[0].length>2&&(slashes=match2[0].length,state.index+=slashes,slashes%2!==0&&(value+="\\")),opts.unescape===!0?value=advance():value+=advance(),state.brackets===0){push({type:"text",value});continue}}if(state.brackets>0&&(value!=="]"||prev.value==="["||prev.value==="[^")){if(opts.posix!==!1&&value===":"){let inner=prev.value.slice(1);if(inner.includes("[")&&(prev.posix=!0,inner.includes(":"))){let idx=prev.value.lastIndexOf("["),pre=prev.value.slice(0,idx),rest2=prev.value.slice(idx+2),posix=POSIX_REGEX_SOURCE[rest2];if(posix){prev.value=pre+posix,state.backtrack=!0,advance(),!bos.output&&tokens.indexOf(prev)===1&&(bos.output=ONE_CHAR);continue}}}(value==="["&&peek()!==":"||value==="-"&&peek()==="]")&&(value=`\\${value}`),value==="]"&&(prev.value==="["||prev.value==="[^")&&(value=`\\${value}`),opts.posix===!0&&value==="!"&&prev.value==="["&&(value="^"),prev.value+=value,append({value});continue}if(state.quotes===1&&value!=='"'){value=utils.escapeRegex(value),prev.value+=value,append({value});continue}if(value==='"'){state.quotes=state.quotes===1?0:1,opts.keepQuotes===!0&&push({type:"text",value});continue}if(value==="("){increment("parens"),push({type:"paren",value});continue}if(value===")"){if(state.parens===0&&opts.strictBrackets===!0)throw new SyntaxError(syntaxError("opening","("));let extglob=extglobs[extglobs.length-1];if(extglob&&state.parens===extglob.parens+1){extglobClose(extglobs.pop());continue}push({type:"paren",value,output:state.parens?")":"\\)"}),decrement("parens");continue}if(value==="["){if(opts.nobracket===!0||!remaining().includes("]")){if(opts.nobracket!==!0&&opts.strictBrackets===!0)throw new SyntaxError(syntaxError("closing","]"));value=`\\${value}`;}else increment("brackets");push({type:"bracket",value});continue}if(value==="]"){if(opts.nobracket===!0||prev&&prev.type==="bracket"&&prev.value.length===1){push({type:"text",value,output:`\\${value}`});continue}if(state.brackets===0){if(opts.strictBrackets===!0)throw new SyntaxError(syntaxError("opening","["));push({type:"text",value,output:`\\${value}`});continue}decrement("brackets");let prevValue=prev.value.slice(1);if(prev.posix!==!0&&prevValue[0]==="^"&&!prevValue.includes("/")&&(value=`/${value}`),prev.value+=value,append({value}),opts.literalBrackets===!1||utils.hasRegexChars(prevValue))continue;let escaped=utils.escapeRegex(prev.value);if(state.output=state.output.slice(0,-prev.value.length),opts.literalBrackets===!0){state.output+=escaped,prev.value=escaped;continue}prev.value=`(${capture}${escaped}|${prev.value})`,state.output+=prev.value;continue}if(value==="{"&&opts.nobrace!==!0){increment("braces");let open={type:"brace",value,output:"(",outputIndex:state.output.length,tokensIndex:state.tokens.length};braces.push(open),push(open);continue}if(value==="}"){let brace=braces[braces.length-1];if(opts.nobrace===!0||!brace){push({type:"text",value,output:value});continue}let output=")";if(brace.dots===!0){let arr=tokens.slice(),range=[];for(let i=arr.length-1;i>=0&&(tokens.pop(),arr[i].type!=="brace");i--)arr[i].type!=="dots"&&range.unshift(arr[i].value);output=expandRange(range,opts),state.backtrack=!0;}if(brace.comma!==!0&&brace.dots!==!0){let out=state.output.slice(0,brace.outputIndex),toks=state.tokens.slice(brace.tokensIndex);brace.value=brace.output="\\{",value=output="\\}",state.output=out;for(let t of toks)state.output+=t.output||t.value;}push({type:"brace",value,output}),decrement("braces"),braces.pop();continue}if(value==="|"){extglobs.length>0&&extglobs[extglobs.length-1].conditions++,push({type:"text",value});continue}if(value===","){let output=value,brace=braces[braces.length-1];brace&&stack[stack.length-1]==="braces"&&(brace.comma=!0,output="|"),push({type:"comma",value,output});continue}if(value==="/"){if(prev.type==="dot"&&state.index===state.start+1){state.start=state.index+1,state.consumed="",state.output="",tokens.pop(),prev=bos;continue}push({type:"slash",value,output:SLASH_LITERAL});continue}if(value==="."){if(state.braces>0&&prev.type==="dot"){prev.value==="."&&(prev.output=DOT_LITERAL);let brace=braces[braces.length-1];prev.type="dots",prev.output+=value,prev.value+=value,brace.dots=!0;continue}if(state.braces+state.parens===0&&prev.type!=="bos"&&prev.type!=="slash"){push({type:"text",value,output:DOT_LITERAL});continue}push({type:"dot",value,output:DOT_LITERAL});continue}if(value==="?"){if(!(prev&&prev.value==="(")&&opts.noextglob!==!0&&peek()==="("&&peek(2)!=="?"){extglobOpen("qmark",value);continue}if(prev&&prev.type==="paren"){let next=peek(),output=value;if(next==="<"&&!utils.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(prev.value==="("&&!/[!=<:]/.test(next)||next==="<"&&!/<([!=]|\w+>)/.test(remaining()))&&(output=`\\${value}`),push({type:"text",value,output});continue}if(opts.dot!==!0&&(prev.type==="slash"||prev.type==="bos")){push({type:"qmark",value,output:QMARK_NO_DOT});continue}push({type:"qmark",value,output:QMARK});continue}if(value==="!"){if(opts.noextglob!==!0&&peek()==="("&&(peek(2)!=="?"||!/[!=<:]/.test(peek(3)))){extglobOpen("negate",value);continue}if(opts.nonegate!==!0&&state.index===0){negate();continue}}if(value==="+"){if(opts.noextglob!==!0&&peek()==="("&&peek(2)!=="?"){extglobOpen("plus",value);continue}if(prev&&prev.value==="("||opts.regex===!1){push({type:"plus",value,output:PLUS_LITERAL});continue}if(prev&&(prev.type==="bracket"||prev.type==="paren"||prev.type==="brace")||state.parens>0){push({type:"plus",value});continue}push({type:"plus",value:PLUS_LITERAL});continue}if(value==="@"){if(opts.noextglob!==!0&&peek()==="("&&peek(2)!=="?"){push({type:"at",extglob:!0,value,output:""});continue}push({type:"text",value});continue}if(value!=="*"){(value==="$"||value==="^")&&(value=`\\${value}`);let match2=REGEX_NON_SPECIAL_CHARS.exec(remaining());match2&&(value+=match2[0],state.index+=match2[0].length),push({type:"text",value});continue}if(prev&&(prev.type==="globstar"||prev.star===!0)){prev.type="star",prev.star=!0,prev.value+=value,prev.output=star,state.backtrack=!0,state.globstar=!0,consume(value);continue}let rest=remaining();if(opts.noextglob!==!0&&/^\([^?]/.test(rest)){extglobOpen("star",value);continue}if(prev.type==="star"){if(opts.noglobstar===!0){consume(value);continue}let prior=prev.prev,before=prior.prev,isStart=prior.type==="slash"||prior.type==="bos",afterStar=before&&(before.type==="star"||before.type==="globstar");if(opts.bash===!0&&(!isStart||rest[0]&&rest[0]!=="/")){push({type:"star",value,output:""});continue}let isBrace=state.braces>0&&(prior.type==="comma"||prior.type==="brace"),isExtglob=extglobs.length&&(prior.type==="pipe"||prior.type==="paren");if(!isStart&&prior.type!=="paren"&&!isBrace&&!isExtglob){push({type:"star",value,output:""});continue}for(;rest.slice(0,3)==="/**";){let after=input[state.index+4];if(after&&after!=="/")break;rest=rest.slice(3),consume("/**",3);}if(prior.type==="bos"&&eos()){prev.type="globstar",prev.value+=value,prev.output=globstar(opts),state.output=prev.output,state.globstar=!0,consume(value);continue}if(prior.type==="slash"&&prior.prev.type!=="bos"&&!afterStar&&eos()){state.output=state.output.slice(0,-(prior.output+prev.output).length),prior.output=`(?:${prior.output}`,prev.type="globstar",prev.output=globstar(opts)+(opts.strictSlashes?")":"|$)"),prev.value+=value,state.globstar=!0,state.output+=prior.output+prev.output,consume(value);continue}if(prior.type==="slash"&&prior.prev.type!=="bos"&&rest[0]==="/"){let end=rest[1]!==void 0?"|$":"";state.output=state.output.slice(0,-(prior.output+prev.output).length),prior.output=`(?:${prior.output}`,prev.type="globstar",prev.output=`${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`,prev.value+=value,state.output+=prior.output+prev.output,state.globstar=!0,consume(value+advance()),push({type:"slash",value:"/",output:""});continue}if(prior.type==="bos"&&rest[0]==="/"){prev.type="globstar",prev.value+=value,prev.output=`(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`,state.output=prev.output,state.globstar=!0,consume(value+advance()),push({type:"slash",value:"/",output:""});continue}state.output=state.output.slice(0,-prev.output.length),prev.type="globstar",prev.output=globstar(opts),prev.value+=value,state.output+=prev.output,state.globstar=!0,consume(value);continue}let token={type:"star",value,output:star};if(opts.bash===!0){token.output=".*?",(prev.type==="bos"||prev.type==="slash")&&(token.output=nodot+token.output),push(token);continue}if(prev&&(prev.type==="bracket"||prev.type==="paren")&&opts.regex===!0){token.output=value,push(token);continue}(state.index===state.start||prev.type==="slash"||prev.type==="dot")&&(prev.type==="dot"?(state.output+=NO_DOT_SLASH,prev.output+=NO_DOT_SLASH):opts.dot===!0?(state.output+=NO_DOTS_SLASH,prev.output+=NO_DOTS_SLASH):(state.output+=nodot,prev.output+=nodot),peek()!=="*"&&(state.output+=ONE_CHAR,prev.output+=ONE_CHAR)),push(token);}for(;state.brackets>0;){if(opts.strictBrackets===!0)throw new SyntaxError(syntaxError("closing","]"));state.output=utils.escapeLast(state.output,"["),decrement("brackets");}for(;state.parens>0;){if(opts.strictBrackets===!0)throw new SyntaxError(syntaxError("closing",")"));state.output=utils.escapeLast(state.output,"("),decrement("parens");}for(;state.braces>0;){if(opts.strictBrackets===!0)throw new SyntaxError(syntaxError("closing","}"));state.output=utils.escapeLast(state.output,"{"),decrement("braces");}if(opts.strictSlashes!==!0&&(prev.type==="star"||prev.type==="bracket")&&push({type:"maybe_slash",value:"",output:`${SLASH_LITERAL}?`}),state.backtrack===!0){state.output="";for(let token of state.tokens)state.output+=token.output!=null?token.output:token.value,token.suffix&&(state.output+=token.suffix);}return state};parse4.fastpaths=(input,options)=>{let opts={...options},max=typeof opts.maxLength=="number"?Math.min(MAX_LENGTH,opts.maxLength):MAX_LENGTH,len=input.length;if(len>max)throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);input=REPLACEMENTS[input]||input;let win32=utils.isWindows(options),{DOT_LITERAL,SLASH_LITERAL,ONE_CHAR,DOTS_SLASH,NO_DOT,NO_DOTS,NO_DOTS_SLASH,STAR,START_ANCHOR}=constants.globChars(win32),nodot=opts.dot?NO_DOTS:NO_DOT,slashDot=opts.dot?NO_DOTS_SLASH:NO_DOT,capture=opts.capture?"":"?:",state={negated:!1,prefix:""},star=opts.bash===!0?".*?":STAR;opts.capture&&(star=`(${star})`);let globstar=opts2=>opts2.noglobstar===!0?star:`(${capture}(?:(?!${START_ANCHOR}${opts2.dot?DOTS_SLASH:DOT_LITERAL}).)*?)`,create=str=>{switch(str){case"*":return `${nodot}${ONE_CHAR}${star}`;case".*":return `${DOT_LITERAL}${ONE_CHAR}${star}`;case"*.*":return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;case"*/*":return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`;case"**":return nodot+globstar(opts);case"**/*":return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`;case"**/*.*":return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;case"**/.*":return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`;default:{let match2=/^(.*?)\.(\w+)$/.exec(str);if(!match2)return;let source2=create(match2[1]);return source2?source2+DOT_LITERAL+match2[2]:void 0}}},output=utils.removePrefix(input,state),source=create(output);return source&&opts.strictSlashes!==!0&&(source+=`${SLASH_LITERAL}?`),source};module.exports=parse4;}});var require_picomatch=__commonJS({"../../node_modules/picomatch/lib/picomatch.js"(exports,module){var path2=__require("path"),scan=require_scan(),parse4=require_parse2(),utils=require_utils2(),constants=require_constants2(),isObject=val=>val&&typeof val=="object"&&!Array.isArray(val),picomatch=(glob,options,returnState=!1)=>{if(Array.isArray(glob)){let fns=glob.map(input=>picomatch(input,options,returnState));return str=>{for(let isMatch2 of fns){let state2=isMatch2(str);if(state2)return state2}return !1}}let isState=isObject(glob)&&glob.tokens&&glob.input;if(glob===""||typeof glob!="string"&&!isState)throw new TypeError("Expected pattern to be a non-empty string");let opts=options||{},posix=utils.isWindows(options),regex=isState?picomatch.compileRe(glob,options):picomatch.makeRe(glob,options,!1,!0),state=regex.state;delete regex.state;let isIgnored=()=>!1;if(opts.ignore){let ignoreOpts={...options,ignore:null,onMatch:null,onResult:null};isIgnored=picomatch(opts.ignore,ignoreOpts,returnState);}let matcher=(input,returnObject=!1)=>{let{isMatch:isMatch2,match:match2,output}=picomatch.test(input,regex,options,{glob,posix}),result={glob,state,regex,posix,input,output,match:match2,isMatch:isMatch2};return typeof opts.onResult=="function"&&opts.onResult(result),isMatch2===!1?(result.isMatch=!1,returnObject?result:!1):isIgnored(input)?(typeof opts.onIgnore=="function"&&opts.onIgnore(result),result.isMatch=!1,returnObject?result:!1):(typeof opts.onMatch=="function"&&opts.onMatch(result),returnObject?result:!0)};return returnState&&(matcher.state=state),matcher};picomatch.test=(input,regex,options,{glob,posix}={})=>{if(typeof input!="string")throw new TypeError("Expected input to be a string");if(input==="")return {isMatch:!1,output:""};let opts=options||{},format2=opts.format||(posix?utils.toPosixSlashes:null),match2=input===glob,output=match2&&format2?format2(input):input;return match2===!1&&(output=format2?format2(input):input,match2=output===glob),(match2===!1||opts.capture===!0)&&(opts.matchBase===!0||opts.basename===!0?match2=picomatch.matchBase(input,regex,options,posix):match2=regex.exec(output)),{isMatch:!!match2,match:match2,output}};picomatch.matchBase=(input,glob,options,posix=utils.isWindows(options))=>(glob instanceof RegExp?glob:picomatch.makeRe(glob,options)).test(path2.basename(input));picomatch.isMatch=(str,patterns,options)=>picomatch(patterns,options)(str);picomatch.parse=(pattern,options)=>Array.isArray(pattern)?pattern.map(p=>picomatch.parse(p,options)):parse4(pattern,{...options,fastpaths:!1});picomatch.scan=(input,options)=>scan(input,options);picomatch.compileRe=(state,options,returnOutput=!1,returnState=!1)=>{if(returnOutput===!0)return state.output;let opts=options||{},prepend=opts.contains?"":"^",append=opts.contains?"":"$",source=`${prepend}(?:${state.output})${append}`;state&&state.negated===!0&&(source=`^(?!${source}).*$`);let regex=picomatch.toRegex(source,options);return returnState===!0&&(regex.state=state),regex};picomatch.makeRe=(input,options={},returnOutput=!1,returnState=!1)=>{if(!input||typeof input!="string")throw new TypeError("Expected a non-empty string");let parsed={negated:!1,fastpaths:!0};return options.fastpaths!==!1&&(input[0]==="."||input[0]==="*")&&(parsed.output=parse4.fastpaths(input,options)),parsed.output||(parsed=parse4(input,options)),picomatch.compileRe(parsed,options,returnOutput,returnState)};picomatch.toRegex=(source,options)=>{try{let opts=options||{};return new RegExp(source,opts.flags||(opts.nocase?"i":""))}catch(err){if(options&&options.debug===!0)throw err;return /$^/}};picomatch.constants=constants;module.exports=picomatch;}});var require_picomatch2=__commonJS({"../../node_modules/picomatch/index.js"(exports,module){module.exports=require_picomatch();}});var require_micromatch=__commonJS({"../../node_modules/micromatch/index.js"(exports,module){var util=__require("util"),braces=require_braces(),picomatch=require_picomatch2(),utils=require_utils2(),isEmptyString=v=>v===""||v==="./",hasBraces=v=>{let index=v.indexOf("{");return index>-1&&v.indexOf("}",index)>-1},micromatch=(list,patterns,options)=>{patterns=[].concat(patterns),list=[].concat(list);let omit=new Set,keep=new Set,items=new Set,negatives=0,onResult=state=>{items.add(state.output),options&&options.onResult&&options.onResult(state);};for(let i=0;i<patterns.length;i++){let isMatch2=picomatch(String(patterns[i]),{...options,onResult},!0),negated=isMatch2.state.negated||isMatch2.state.negatedExtglob;negated&&negatives++;for(let item of list){let matched=isMatch2(item,!0);(negated?!matched.isMatch:matched.isMatch)&&(negated?omit.add(matched.output):(omit.delete(matched.output),keep.add(matched.output)));}}let matches=(negatives===patterns.length?[...items]:[...keep]).filter(item=>!omit.has(item));if(options&&matches.length===0){if(options.failglob===!0)throw new Error(`No matches found for "${patterns.join(", ")}"`);if(options.nonull===!0||options.nullglob===!0)return options.unescape?patterns.map(p=>p.replace(/\\/g,"")):patterns}return matches};micromatch.match=micromatch;micromatch.matcher=(pattern,options)=>picomatch(pattern,options);micromatch.isMatch=(str,patterns,options)=>picomatch(patterns,options)(str);micromatch.any=micromatch.isMatch;micromatch.not=(list,patterns,options={})=>{patterns=[].concat(patterns).map(String);let result=new Set,items=[],onResult=state=>{options.onResult&&options.onResult(state),items.push(state.output);},matches=new Set(micromatch(list,patterns,{...options,onResult}));for(let item of items)matches.has(item)||result.add(item);return [...result]};micromatch.contains=(str,pattern,options)=>{if(typeof str!="string")throw new TypeError(`Expected a string: "${util.inspect(str)}"`);if(Array.isArray(pattern))return pattern.some(p=>micromatch.contains(str,p,options));if(typeof pattern=="string"){if(isEmptyString(str)||isEmptyString(pattern))return !1;if(str.includes(pattern)||str.startsWith("./")&&str.slice(2).includes(pattern))return !0}return micromatch.isMatch(str,pattern,{...options,contains:!0})};micromatch.matchKeys=(obj,patterns,options)=>{if(!utils.isObject(obj))throw new TypeError("Expected the first argument to be an object");let keys=micromatch(Object.keys(obj),patterns,options),res={};for(let key of keys)res[key]=obj[key];return res};micromatch.some=(list,patterns,options)=>{let items=[].concat(list);for(let pattern of [].concat(patterns)){let isMatch2=picomatch(String(pattern),options);if(items.some(item=>isMatch2(item)))return !0}return !1};micromatch.every=(list,patterns,options)=>{let items=[].concat(list);for(let pattern of [].concat(patterns)){let isMatch2=picomatch(String(pattern),options);if(!items.every(item=>isMatch2(item)))return !1}return !0};micromatch.all=(str,patterns,options)=>{if(typeof str!="string")throw new TypeError(`Expected a string: "${util.inspect(str)}"`);return [].concat(patterns).every(p=>picomatch(p,options)(str))};micromatch.capture=(glob,input,options)=>{let posix=utils.isWindows(options),match2=picomatch.makeRe(String(glob),{...options,capture:!0}).exec(posix?utils.toPosixSlashes(input):input);if(match2)return match2.slice(1).map(v=>v===void 0?"":v)};micromatch.makeRe=(...args)=>picomatch.makeRe(...args);micromatch.scan=(...args)=>picomatch.scan(...args);micromatch.parse=(patterns,options)=>{let res=[];for(let pattern of [].concat(patterns||[]))for(let str of braces(String(pattern),options))res.push(picomatch.parse(str,options));return res};micromatch.braces=(pattern,options)=>{if(typeof pattern!="string")throw new TypeError("Expected a string");return options&&options.nobrace===!0||!hasBraces(pattern)?[pattern]:braces(pattern,options)};micromatch.braceExpand=(pattern,options)=>{if(typeof pattern!="string")throw new TypeError("Expected a string");return micromatch.braces(pattern,{...options,expand:!0})};micromatch.hasBraces=hasBraces;module.exports=micromatch;}});var require_picocolors=__commonJS({"../../node_modules/picocolors/picocolors.js"(exports,module){var p=process||{},argv=p.argv||[],env=p.env||{},isColorSupported=!(env.NO_COLOR||argv.includes("--no-color"))&&(!!env.FORCE_COLOR||argv.includes("--color")||p.platform==="win32"||(p.stdout||{}).isTTY&&env.TERM!=="dumb"||!!env.CI),formatter=(open,close,replace=open)=>input=>{let string=""+input,index=string.indexOf(close,open.length);return ~index?open+replaceClose(string,close,replace,index)+close:open+string+close},replaceClose=(string,close,replace,index)=>{let result="",cursor=0;do result+=string.substring(cursor,index)+replace,cursor=index+close.length,index=string.indexOf(close,cursor);while(~index);return result+string.substring(cursor)},createColors=(enabled=isColorSupported)=>{let f=enabled?formatter:()=>String;return {isColorSupported:enabled,reset:f("\x1B[0m","\x1B[0m"),bold:f("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:f("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:f("\x1B[3m","\x1B[23m"),underline:f("\x1B[4m","\x1B[24m"),inverse:f("\x1B[7m","\x1B[27m"),hidden:f("\x1B[8m","\x1B[28m"),strikethrough:f("\x1B[9m","\x1B[29m"),black:f("\x1B[30m","\x1B[39m"),red:f("\x1B[31m","\x1B[39m"),green:f("\x1B[32m","\x1B[39m"),yellow:f("\x1B[33m","\x1B[39m"),blue:f("\x1B[34m","\x1B[39m"),magenta:f("\x1B[35m","\x1B[39m"),cyan:f("\x1B[36m","\x1B[39m"),white:f("\x1B[37m","\x1B[39m"),gray:f("\x1B[90m","\x1B[39m"),bgBlack:f("\x1B[40m","\x1B[49m"),bgRed:f("\x1B[41m","\x1B[49m"),bgGreen:f("\x1B[42m","\x1B[49m"),bgYellow:f("\x1B[43m","\x1B[49m"),bgBlue:f("\x1B[44m","\x1B[49m"),bgMagenta:f("\x1B[45m","\x1B[49m"),bgCyan:f("\x1B[46m","\x1B[49m"),bgWhite:f("\x1B[47m","\x1B[49m"),blackBright:f("\x1B[90m","\x1B[39m"),redBright:f("\x1B[91m","\x1B[39m"),greenBright:f("\x1B[92m","\x1B[39m"),yellowBright:f("\x1B[93m","\x1B[39m"),blueBright:f("\x1B[94m","\x1B[39m"),magentaBright:f("\x1B[95m","\x1B[39m"),cyanBright:f("\x1B[96m","\x1B[39m"),whiteBright:f("\x1B[97m","\x1B[39m"),bgBlackBright:f("\x1B[100m","\x1B[49m"),bgRedBright:f("\x1B[101m","\x1B[49m"),bgGreenBright:f("\x1B[102m","\x1B[49m"),bgYellowBright:f("\x1B[103m","\x1B[49m"),bgBlueBright:f("\x1B[104m","\x1B[49m"),bgMagentaBright:f("\x1B[105m","\x1B[49m"),bgCyanBright:f("\x1B[106m","\x1B[49m"),bgWhiteBright:f("\x1B[107m","\x1B[49m")}};module.exports=createColors();module.exports.createColors=createColors;}});var import_micromatch=__toESM(require_micromatch());var _DRIVE_LETTER_START_RE=/^[A-Za-z]:\//;function normalizeWindowsPath(input=""){return input&&input.replace(/\\/g,"/").replace(_DRIVE_LETTER_START_RE,r=>r.toUpperCase())}var _UNC_REGEX=/^[/\\]{2}/,_IS_ABSOLUTE_RE=/^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Za-z]:[/\\]/,_DRIVE_LETTER_RE=/^[A-Za-z]:$/,_ROOT_FOLDER_RE=/^\/([A-Za-z]:)?$/,sep="/";var normalize=function(path2){if(path2.length===0)return ".";path2=normalizeWindowsPath(path2);let isUNCPath=path2.match(_UNC_REGEX),isPathAbsolute=isAbsolute(path2),trailingSeparator=path2[path2.length-1]==="/";return path2=normalizeString(path2,!isPathAbsolute),path2.length===0?isPathAbsolute?"/":trailingSeparator?"./":".":(trailingSeparator&&(path2+="/"),_DRIVE_LETTER_RE.test(path2)&&(path2+="/"),isUNCPath?isPathAbsolute?`//${path2}`:`//./${path2}`:isPathAbsolute&&!isAbsolute(path2)?`/${path2}`:path2)},join=function(...arguments_){if(arguments_.length===0)return ".";let joined;for(let argument of arguments_)argument&&argument.length>0&&(joined===void 0?joined=argument:joined+=`/${argument}`);return joined===void 0?".":normalize(joined.replace(/\/\/+/g,"/"))};function cwd(){return typeof process<"u"&&typeof process.cwd=="function"?process.cwd().replace(/\\/g,"/"):"/"}var resolve=function(...arguments_){arguments_=arguments_.map(argument=>normalizeWindowsPath(argument));let resolvedPath="",resolvedAbsolute=!1;for(let index=arguments_.length-1;index>=-1&&!resolvedAbsolute;index--){let path2=index>=0?arguments_[index]:cwd();!path2||path2.length===0||(resolvedPath=`${path2}/${resolvedPath}`,resolvedAbsolute=isAbsolute(path2));}return resolvedPath=normalizeString(resolvedPath,!resolvedAbsolute),resolvedAbsolute&&!isAbsolute(resolvedPath)?`/${resolvedPath}`:resolvedPath.length>0?resolvedPath:"."};function normalizeString(path2,allowAboveRoot){let res="",lastSegmentLength=0,lastSlash=-1,dots=0,char=null;for(let index=0;index<=path2.length;++index){if(index<path2.length)char=path2[index];else {if(char==="/")break;char="/";}if(char==="/"){if(!(lastSlash===index-1||dots===1))if(dots===2){if(res.length<2||lastSegmentLength!==2||res[res.length-1]!=="."||res[res.length-2]!=="."){if(res.length>2){let lastSlashIndex=res.lastIndexOf("/");lastSlashIndex===-1?(res="",lastSegmentLength=0):(res=res.slice(0,lastSlashIndex),lastSegmentLength=res.length-1-res.lastIndexOf("/")),lastSlash=index,dots=0;continue}else if(res.length>0){res="",lastSegmentLength=0,lastSlash=index,dots=0;continue}}allowAboveRoot&&(res+=res.length>0?"/..":"..",lastSegmentLength=2);}else res.length>0?res+=`/${path2.slice(lastSlash+1,index)}`:res=path2.slice(lastSlash+1,index),lastSegmentLength=index-lastSlash-1;lastSlash=index,dots=0;}else char==="."&&dots!==-1?++dots:dots=-1;}return res}var isAbsolute=function(p){return _IS_ABSOLUTE_RE.test(p)};var relative=function(from,to){let _from=resolve(from).replace(_ROOT_FOLDER_RE,"$1").split("/"),_to=resolve(to).replace(_ROOT_FOLDER_RE,"$1").split("/");if(_to[0][1]===":"&&_from[0][1]===":"&&_from[0]!==_to[0])return _to.join("/");let _fromCopy=[..._from];for(let segment of _fromCopy){if(_to[0]!==segment)break;_from.shift(),_to.shift();}return [..._from.map(()=>".."),..._to].join("/")},dirname=function(p){let segments=normalizeWindowsPath(p).replace(/\/$/,"").split("/").slice(0,-1);return segments.length===1&&_DRIVE_LETTER_RE.test(segments[0])&&(segments[0]+="/"),segments.join("/")||(isAbsolute(p)?"/":".")};var import_picocolors=__toESM(require_picocolors());function totalist(dir,callback,pre=""){dir=path.resolve(".",dir);let arr=fs.readdirSync(dir),i=0,abs,stats;for(;i<arr.length;i++)abs=path.join(dir,arr[i]),stats=fs.statSync(abs),stats.isDirectory()?totalist(abs,callback,path.join(pre,arr[i])):callback(path.join(pre,arr[i]),abs,stats);}function parse3(req){let raw=req.url;if(raw==null)return;let prev=req._parsedUrl;if(prev&&prev.raw===raw)return prev;let pathname=raw,search="",query,hash;if(raw.length>1){let idx=raw.indexOf("#",1);idx!==-1&&(hash=raw.substring(idx),pathname=raw.substring(0,idx)),idx=pathname.indexOf("?",1),idx!==-1&&(search=pathname.substring(idx),pathname=pathname.substring(0,idx),search.length>1&&(query=qs__namespace.parse(search.substring(1))));}return req._parsedUrl={pathname,search,query,hash,raw}}var mimes={"3g2":"video/3gpp2","3gp":"video/3gpp","3gpp":"video/3gpp","3mf":"model/3mf",aac:"audio/aac",ac:"application/pkix-attr-cert",adp:"audio/adpcm",adts:"audio/aac",ai:"application/postscript",aml:"application/automationml-aml+xml",amlx:"application/automationml-amlx+zip",amr:"audio/amr",apng:"image/apng",appcache:"text/cache-manifest",appinstaller:"application/appinstaller",appx:"application/appx",appxbundle:"application/appxbundle",asc:"application/pgp-keys",atom:"application/atom+xml",atomcat:"application/atomcat+xml",atomdeleted:"application/atomdeleted+xml",atomsvc:"application/atomsvc+xml",au:"audio/basic",avci:"image/avci",avcs:"image/avcs",avif:"image/avif",aw:"application/applixware",bdoc:"application/bdoc",bin:"application/octet-stream",bmp:"image/bmp",bpk:"application/octet-stream",btf:"image/prs.btif",btif:"image/prs.btif",buffer:"application/octet-stream",ccxml:"application/ccxml+xml",cdfx:"application/cdfx+xml",cdmia:"application/cdmi-capability",cdmic:"application/cdmi-container",cdmid:"application/cdmi-domain",cdmio:"application/cdmi-object",cdmiq:"application/cdmi-queue",cer:"application/pkix-cert",cgm:"image/cgm",cjs:"application/node",class:"application/java-vm",coffee:"text/coffeescript",conf:"text/plain",cpl:"application/cpl+xml",cpt:"application/mac-compactpro",crl:"application/pkix-crl",css:"text/css",csv:"text/csv",cu:"application/cu-seeme",cwl:"application/cwl",cww:"application/prs.cww",davmount:"application/davmount+xml",dbk:"application/docbook+xml",deb:"application/octet-stream",def:"text/plain",deploy:"application/octet-stream",dib:"image/bmp","disposition-notification":"message/disposition-notification",dist:"application/octet-stream",distz:"application/octet-stream",dll:"application/octet-stream",dmg:"application/octet-stream",dms:"application/octet-stream",doc:"application/msword",dot:"application/msword",dpx:"image/dpx",drle:"image/dicom-rle",dsc:"text/prs.lines.tag",dssc:"application/dssc+der",dtd:"application/xml-dtd",dump:"application/octet-stream",dwd:"application/atsc-dwd+xml",ear:"application/java-archive",ecma:"application/ecmascript",elc:"application/octet-stream",emf:"image/emf",eml:"message/rfc822",emma:"application/emma+xml",emotionml:"application/emotionml+xml",eps:"application/postscript",epub:"application/epub+zip",exe:"application/octet-stream",exi:"application/exi",exp:"application/express",exr:"image/aces",ez:"application/andrew-inset",fdf:"application/fdf",fdt:"application/fdt+xml",fits:"image/fits",g3:"image/g3fax",gbr:"application/rpki-ghostbusters",geojson:"application/geo+json",gif:"image/gif",glb:"model/gltf-binary",gltf:"model/gltf+json",gml:"application/gml+xml",gpx:"application/gpx+xml",gram:"application/srgs",grxml:"application/srgs+xml",gxf:"application/gxf",gz:"application/gzip",h261:"video/h261",h263:"video/h263",h264:"video/h264",heic:"image/heic",heics:"image/heic-sequence",heif:"image/heif",heifs:"image/heif-sequence",hej2:"image/hej2k",held:"application/atsc-held+xml",hjson:"application/hjson",hlp:"application/winhlp",hqx:"application/mac-binhex40",hsj2:"image/hsj2",htm:"text/html",html:"text/html",ics:"text/calendar",ief:"image/ief",ifb:"text/calendar",iges:"model/iges",igs:"model/iges",img:"application/octet-stream",in:"text/plain",ini:"text/plain",ink:"application/inkml+xml",inkml:"application/inkml+xml",ipfix:"application/ipfix",iso:"application/octet-stream",its:"application/its+xml",jade:"text/jade",jar:"application/java-archive",jhc:"image/jphc",jls:"image/jls",jp2:"image/jp2",jpe:"image/jpeg",jpeg:"image/jpeg",jpf:"image/jpx",jpg:"image/jpeg",jpg2:"image/jp2",jpgm:"image/jpm",jpgv:"video/jpeg",jph:"image/jph",jpm:"image/jpm",jpx:"image/jpx",js:"text/javascript",json:"application/json",json5:"application/json5",jsonld:"application/ld+json",jsonml:"application/jsonml+json",jsx:"text/jsx",jt:"model/jt",jxl:"image/jxl",jxr:"image/jxr",jxra:"image/jxra",jxrs:"image/jxrs",jxs:"image/jxs",jxsc:"image/jxsc",jxsi:"image/jxsi",jxss:"image/jxss",kar:"audio/midi",ktx:"image/ktx",ktx2:"image/ktx2",less:"text/less",lgr:"application/lgr+xml",list:"text/plain",litcoffee:"text/coffeescript",log:"text/plain",lostxml:"application/lost+xml",lrf:"application/octet-stream",m1v:"video/mpeg",m21:"application/mp21",m2a:"audio/mpeg",m2t:"video/mp2t",m2ts:"video/mp2t",m2v:"video/mpeg",m3a:"audio/mpeg",m4a:"audio/mp4",m4p:"application/mp4",m4s:"video/iso.segment",ma:"application/mathematica",mads:"application/mads+xml",maei:"application/mmt-aei+xml",man:"text/troff",manifest:"text/cache-manifest",map:"application/json",mar:"application/octet-stream",markdown:"text/markdown",mathml:"application/mathml+xml",mb:"application/mathematica",mbox:"application/mbox",md:"text/markdown",mdx:"text/mdx",me:"text/troff",mesh:"model/mesh",meta4:"application/metalink4+xml",metalink:"application/metalink+xml",mets:"application/mets+xml",mft:"application/rpki-manifest",mid:"audio/midi",midi:"audio/midi",mime:"message/rfc822",mj2:"video/mj2",mjp2:"video/mj2",mjs:"text/javascript",mml:"text/mathml",mods:"application/mods+xml",mov:"video/quicktime",mp2:"audio/mpeg",mp21:"application/mp21",mp2a:"audio/mpeg",mp3:"audio/mpeg",mp4:"video/mp4",mp4a:"audio/mp4",mp4s:"application/mp4",mp4v:"video/mp4",mpd:"application/dash+xml",mpe:"video/mpeg",mpeg:"video/mpeg",mpf:"application/media-policy-dataset+xml",mpg:"video/mpeg",mpg4:"video/mp4",mpga:"audio/mpeg",mpp:"application/dash-patch+xml",mrc:"application/marc",mrcx:"application/marcxml+xml",ms:"text/troff",mscml:"application/mediaservercontrol+xml",msh:"model/mesh",msi:"application/octet-stream",msix:"application/msix",msixbundle:"application/msixbundle",msm:"application/octet-stream",msp:"application/octet-stream",mtl:"model/mtl",mts:"video/mp2t",musd:"application/mmt-usd+xml",mxf:"application/mxf",mxmf:"audio/mobile-xmf",mxml:"application/xv+xml",n3:"text/n3",nb:"application/mathematica",nq:"application/n-quads",nt:"application/n-triples",obj:"model/obj",oda:"application/oda",oga:"audio/ogg",ogg:"audio/ogg",ogv:"video/ogg",ogx:"application/ogg",omdoc:"application/omdoc+xml",onepkg:"application/onenote",onetmp:"application/onenote",onetoc:"application/onenote",onetoc2:"application/onenote",opf:"application/oebps-package+xml",opus:"audio/ogg",otf:"font/otf",owl:"application/rdf+xml",oxps:"application/oxps",p10:"application/pkcs10",p7c:"application/pkcs7-mime",p7m:"application/pkcs7-mime",p7s:"application/pkcs7-signature",p8:"application/pkcs8",pdf:"application/pdf",pfr:"application/font-tdpfr",pgp:"application/pgp-encrypted",pkg:"application/octet-stream",pki:"application/pkixcmp",pkipath:"application/pkix-pkipath",pls:"application/pls+xml",png:"image/png",prc:"model/prc",prf:"application/pics-rules",provx:"application/provenance+xml",ps:"application/postscript",pskcxml:"application/pskc+xml",pti:"image/prs.pti",qt:"video/quicktime",raml:"application/raml+yaml",rapd:"application/route-apd+xml",rdf:"application/rdf+xml",relo:"application/p2p-overlay+xml",rif:"application/reginfo+xml",rl:"application/resource-lists+xml",rld:"application/resource-lists-diff+xml",rmi:"audio/midi",rnc:"application/relax-ng-compact-syntax",rng:"application/xml",roa:"application/rpki-roa",roff:"text/troff",rq:"application/sparql-query",rs:"application/rls-services+xml",rsat:"application/atsc-rsat+xml",rsd:"application/rsd+xml",rsheet:"application/urc-ressheet+xml",rss:"application/rss+xml",rtf:"text/rtf",rtx:"text/richtext",rusd:"application/route-usd+xml",s3m:"audio/s3m",sbml:"application/sbml+xml",scq:"application/scvp-cv-request",scs:"application/scvp-cv-response",sdp:"application/sdp",senmlx:"application/senml+xml",sensmlx:"application/sensml+xml",ser:"application/java-serialized-object",setpay:"application/set-payment-initiation",setreg:"application/set-registration-initiation",sgi:"image/sgi",sgm:"text/sgml",sgml:"text/sgml",shex:"text/shex",shf:"application/shf+xml",shtml:"text/html",sieve:"application/sieve",sig:"application/pgp-signature",sil:"audio/silk",silo:"model/mesh",siv:"application/sieve",slim:"text/slim",slm:"text/slim",sls:"application/route-s-tsid+xml",smi:"application/smil+xml",smil:"application/smil+xml",snd:"audio/basic",so:"application/octet-stream",spdx:"text/spdx",spp:"application/scvp-vp-response",spq:"application/scvp-vp-request",spx:"audio/ogg",sql:"application/sql",sru:"application/sru+xml",srx:"application/sparql-results+xml",ssdl:"application/ssdl+xml",ssml:"application/ssml+xml",stk:"application/hyperstudio",stl:"model/stl",stpx:"model/step+xml",stpxz:"model/step-xml+zip",stpz:"model/step+zip",styl:"text/stylus",stylus:"text/stylus",svg:"image/svg+xml",svgz:"image/svg+xml",swidtag:"application/swid+xml",t:"text/troff",t38:"image/t38",td:"application/urc-targetdesc+xml",tei:"application/tei+xml",teicorpus:"application/tei+xml",text:"text/plain",tfi:"application/thraud+xml",tfx:"image/tiff-fx",tif:"image/tiff",tiff:"image/tiff",toml:"application/toml",tr:"text/troff",trig:"application/trig",ts:"video/mp2t",tsd:"application/timestamped-data",tsv:"text/tab-separated-values",ttc:"font/collection",ttf:"font/ttf",ttl:"text/turtle",ttml:"application/ttml+xml",txt:"text/plain",u3d:"model/u3d",u8dsn:"message/global-delivery-status",u8hdr:"message/global-headers",u8mdn:"message/global-disposition-notification",u8msg:"message/global",ubj:"application/ubjson",uri:"text/uri-list",uris:"text/uri-list",urls:"text/uri-list",vcard:"text/vcard",vrml:"model/vrml",vtt:"text/vtt",vxml:"application/voicexml+xml",war:"application/java-archive",wasm:"application/wasm",wav:"audio/wav",weba:"audio/webm",webm:"video/webm",webmanifest:"application/manifest+json",webp:"image/webp",wgsl:"text/wgsl",wgt:"application/widget",wif:"application/watcherinfo+xml",wmf:"image/wmf",woff:"font/woff",woff2:"font/woff2",wrl:"model/vrml",wsdl:"application/wsdl+xml",wspolicy:"application/wspolicy+xml",x3d:"model/x3d+xml",x3db:"model/x3d+fastinfoset",x3dbz:"model/x3d+binary",x3dv:"model/x3d-vrml",x3dvz:"model/x3d+vrml",x3dz:"model/x3d+xml",xaml:"application/xaml+xml",xav:"application/xcap-att+xml",xca:"application/xcap-caps+xml",xcs:"application/calendar+xml",xdf:"application/xcap-diff+xml",xdssc:"application/dssc+xml",xel:"application/xcap-el+xml",xenc:"application/xenc+xml",xer:"application/patch-ops-error+xml",xfdf:"application/xfdf",xht:"application/xhtml+xml",xhtml:"application/xhtml+xml",xhvml:"application/xv+xml",xlf:"application/xliff+xml",xm:"audio/xm",xml:"text/xml",xns:"application/xcap-ns+xml",xop:"application/xop+xml",xpl:"application/xproc+xml",xsd:"application/xml",xsf:"application/prs.xsf+xml",xsl:"application/xml",xslt:"application/xml",xspf:"application/xspf+xml",xvm:"application/xv+xml",xvml:"application/xv+xml",yaml:"text/yaml",yang:"application/yang",yin:"application/yin+xml",yml:"text/yaml",zip:"application/zip"};function lookup(extn){let tmp=(""+extn).trim().toLowerCase(),idx=tmp.lastIndexOf(".");return mimes[~idx?tmp.substring(++idx):tmp]}var noop=()=>{};function isMatch(uri,arr){for(let i=0;i<arr.length;i++)if(arr[i].test(uri))return !0}function toAssume(uri,extns){let i=0,x,len=uri.length-1;uri.charCodeAt(len)===47&&(uri=uri.substring(0,len));let arr=[],tmp=`${uri}/index`;for(;i<extns.length;i++)x=extns[i]?`.${extns[i]}`:"",uri&&arr.push(uri+x),arr.push(tmp+x);return arr}function viaCache(cache,uri,extns){let i=0,data,arr=toAssume(uri,extns);for(;i<arr.length;i++)if(data=cache[arr[i]])return data}function viaLocal(dir,isEtag,uri,extns){let i=0,arr=toAssume(uri,extns),abs,stats,name,headers;for(;i<arr.length;i++)if(abs=path.normalize(path.join(dir,name=arr[i])),abs.startsWith(dir)&&fs__namespace.existsSync(abs)){if(stats=fs__namespace.statSync(abs),stats.isDirectory())continue;return headers=toHeaders(name,stats,isEtag),headers["Cache-Control"]=isEtag?"no-cache":"no-store",{abs,stats,headers}}}function is404(req,res){return res.statusCode=404,res.end()}function send(req,res,file,stats,headers){let code=200,tmp,opts={};headers={...headers};for(let key in headers)tmp=res.getHeader(key),tmp&&(headers[key]=tmp);if((tmp=res.getHeader("content-type"))&&(headers["Content-Type"]=tmp),req.headers.range){code=206;let[x,y]=req.headers.range.replace("bytes=","").split("-"),end=opts.end=parseInt(y,10)||stats.size-1,start=opts.start=parseInt(x,10)||0;if(end>=stats.size&&(end=stats.size-1),start>=stats.size)return res.setHeader("Content-Range",`bytes */${stats.size}`),res.statusCode=416,res.end();headers["Content-Range"]=`bytes ${start}-${end}/${stats.size}`,headers["Content-Length"]=end-start+1,headers["Accept-Ranges"]="bytes";}res.writeHead(code,headers),fs__namespace.createReadStream(file,opts).pipe(res);}var ENCODING={".br":"br",".gz":"gzip"};function toHeaders(name,stats,isEtag){let enc=ENCODING[name.slice(-3)],ctype=lookup(name.slice(0,enc&&-3))||"";ctype==="text/html"&&(ctype+=";charset=utf-8");let headers={"Content-Length":stats.size,"Content-Type":ctype,"Last-Modified":stats.mtime.toUTCString()};return enc&&(headers["Content-Encoding"]=enc),isEtag&&(headers.ETag=`W/"${stats.size}-${stats.mtime.getTime()}"`),headers}function build_default(dir,opts={}){dir=path.resolve(dir||".");let isNotFound=opts.onNoMatch||is404,setHeaders=opts.setHeaders||noop,extensions=opts.extensions||["html","htm"],gzips=opts.gzip&&extensions.map(x=>`${x}.gz`).concat("gz"),brots=opts.brotli&&extensions.map(x=>`${x}.br`).concat("br"),FILES={},fallback="/",isEtag=!!opts.etag,isSPA=!!opts.single;if(typeof opts.single=="string"){let idx=opts.single.lastIndexOf(".");fallback+=~idx?opts.single.substring(0,idx):opts.single;}let ignores=[];opts.ignores!==!1&&(ignores.push(/[/]([A-Za-z\s\d~$._-]+\.\w+){1,}$/),opts.dotfiles?ignores.push(/\/\.\w/):ignores.push(/\/\.well-known/),[].concat(opts.ignores||[]).forEach(x=>{ignores.push(new RegExp(x,"i"));}));let cc=opts.maxAge!=null&&`public,max-age=${opts.maxAge}`;cc&&opts.immutable?cc+=",immutable":cc&&opts.maxAge===0&&(cc+=",must-revalidate"),opts.dev||totalist(dir,(name,abs,stats)=>{if(!/\.well-known[\\+\/]/.test(name)){if(!opts.dotfiles&&/(^\.|[\\+|\/+]\.)/.test(name))return}let headers=toHeaders(name,stats,isEtag);cc&&(headers["Cache-Control"]=cc),FILES["/"+name.normalize().replace(/\\+/g,"/")]={abs,stats,headers};});let lookup2=opts.dev?viaLocal.bind(0,dir,isEtag):viaCache.bind(0,FILES);return function(req,res,next){let extns=[""],pathname=parse3(req).pathname,val=req.headers["accept-encoding"]||"";if(gzips&&val.includes("gzip")&&extns.unshift(...gzips),brots&&/(br|brotli)/i.test(val)&&extns.unshift(...brots),extns.push(...extensions),pathname.indexOf("%")!==-1)try{pathname=decodeURI(pathname);}catch{}let data=lookup2(pathname,extns)||isSPA&&!isMatch(pathname,ignores)&&lookup2(fallback,extns);if(!data)return next?next():isNotFound(req,res);if(isEtag&&req.headers["if-none-match"]===data.headers.ETag)return res.writeHead(304),res.end();(gzips||brots)&&res.setHeader("Vary","Accept-Encoding"),setHeaders(res,pathname,data.stats),send(req,res,data.abs,data.stats,data.headers);}}var withoutVitePlugins=async(plugins=[],namesToRemove)=>{let result=[],resolvedPlugins=await Promise.all(plugins);for(let plugin of resolvedPlugins)Array.isArray(plugin)?result.push(await withoutVitePlugins(plugin,namesToRemove)):plugin&&typeof plugin=="object"&&"name"in plugin&&typeof plugin.name=="string"&&!namesToRemove.includes(plugin.name)&&result.push(plugin);return result};var require2=module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.src || new URL('out.js', document.baseURI).href))),{StoryIndexGenerator,experimental_loadStorybook,mapStaticDir}=require2("storybook/internal/core-server"),WORKING_DIR=process.cwd(),defaultOptions={storybookScript:void 0,configDir:resolve(join(WORKING_DIR,".storybook")),storybookUrl:"http://localhost:6006",disableAddonDocs:!0},extractTagsFromPreview=async configDir=>{let previewConfigPath=common.getInterpretedFile(join(resolve(configDir),"preview"));return previewConfigPath?(await csfTools.readConfig(previewConfigPath)).getFieldValue(["tags"])??[]:[]},getStoryGlobsAndFiles=async(presets,directories)=>{let stories=await presets.apply("stories",[]),normalizedStories=common.normalizeStories(stories,{configDir:directories.configDir,workingDir:directories.workingDir}),matchingStoryFiles=await StoryIndexGenerator.findMatchingFilesForSpecifiers(normalizedStories,directories.workingDir);return {storiesGlobs:stories,storiesFiles:StoryIndexGenerator.storyFileNames(new Map(matchingStoryFiles.map(([specifier,cache])=>[specifier,cache])))}},mdxStubPlugin={name:"storybook:stub-mdx-plugin",enforce:"pre",resolveId(id){return id.endsWith(".mdx")?id:null},load(id){return id.endsWith(".mdx")?"export default {};":null}},PACKAGE_DIR=dirname(require2.resolve("@storybook/addon-vitest/package.json")),storybookTest=async options=>{let finalOptions={...defaultOptions,...options,configDir:options?.configDir?resolve(WORKING_DIR,options.configDir):defaultOptions.configDir,tags:{include:options?.tags?.include??["test"],exclude:options?.tags?.exclude??[],skip:options?.tags?.skip??[]}};common.optionalEnvToBoolean(process.env.DEBUG)&&(finalOptions.debug=!0),process.env.__STORYBOOK_URL__=finalOptions.storybookUrl,process.env.__STORYBOOK_SCRIPT__=finalOptions.storybookScript;let isVitestStorybook=common.optionalEnvToBoolean(process.env.VITEST_STORYBOOK),directories={configDir:finalOptions.configDir,workingDir:WORKING_DIR},{presets}=await experimental_loadStorybook({configDir:finalOptions.configDir,packageJson:{}}),stories=await presets.apply("stories",[]),[{storiesGlobs},framework,storybookEnv,viteConfigFromStorybook,staticDirs,previewLevelTags,core,extraOptimizeDeps]=await Promise.all([getStoryGlobsAndFiles(presets,directories),presets.apply("framework",void 0),presets.apply("env",{}),presets.apply("viteFinal",{}),presets.apply("staticDirs",[]),extractTagsFromPreview(finalOptions.configDir),presets.apply("core"),presets.apply("optimizeViteDeps",[])]),pluginsToIgnore=["storybook:react-docgen-plugin","vite:react-docgen-typescript","storybook:svelte-docgen-plugin","storybook:vue-component-meta-plugin"];finalOptions.disableAddonDocs&&pluginsToIgnore.push("storybook:package-deduplication","storybook:mdx-plugin");let plugins=await withoutVitePlugins(viteConfigFromStorybook.plugins??[],pluginsToIgnore);finalOptions.disableAddonDocs&&plugins.push(mdxStubPlugin);let storybookTestPlugin={name:"vite-plugin-storybook-test",async transformIndexHtml(html){let[headHtmlSnippet,bodyHtmlSnippet]=await Promise.all([presets.apply("previewHead"),presets.apply("previewBody")]);return html.replace("</head>",`${headHtmlSnippet??""}</head>`).replace("<body>",`<body>${bodyHtmlSnippet??""}`)},async config(nonMutableInputConfig){try{await common.validateConfigurationFiles(finalOptions.configDir);}catch{throw new serverErrors.MainFileMissingError({location:finalOptions.configDir,source:"vitest"})}let frameworkName=typeof framework=="string"?framework:framework.name,testConfig=nonMutableInputConfig.test;finalOptions.vitestRoot=testConfig?.dir||testConfig?.root||nonMutableInputConfig.root||process.cwd();let includeStories=stories.map(story=>{let storyPath;return typeof story=="string"?storyPath=story:storyPath=`${story.directory}/${story.files??common.DEFAULT_FILES_PATTERN}`,join(finalOptions.configDir,storyPath)}).map(story=>relative(finalOptions.vitestRoot,story));finalOptions.includeStories=includeStories;let projectId=telemetry.oneWayHash(finalOptions.configDir),baseConfig={cacheDir:common.resolvePathInStorybookCache("sb-vitest",projectId),test:{setupFiles:[join(PACKAGE_DIR,"dist/vitest-plugin/setup-file.mjs"),typeof nonMutableInputConfig.test?.setupFiles=="string"&&nonMutableInputConfig.test?.setupFiles].filter(Boolean),...finalOptions.storybookScript?{globalSetup:[join(PACKAGE_DIR,"dist/vitest-plugin/global-setup.mjs")]}:{},env:{...storybookEnv,__STORYBOOK_URL__:finalOptions.storybookUrl,VITEST_STORYBOOK:isVitestStorybook?"true":"false",__VITEST_INCLUDE_TAGS__:finalOptions.tags.include.join(","),__VITEST_EXCLUDE_TAGS__:finalOptions.tags.exclude.join(","),__VITEST_SKIP_TAGS__:finalOptions.tags.skip.join(",")},include:includeStories,exclude:[...nonMutableInputConfig.test?.exclude??[],join(relative(finalOptions.vitestRoot,process.cwd()),"**/*.mdx").replaceAll(sep,"/")],...nonMutableInputConfig.test?.server?.deps?.inline!==!0?{server:{deps:{inline:["@storybook/addon-vitest"]}}}:{},browser:{commands:{getInitialGlobals:()=>{let envConfig=JSON.parse(process.env.VITEST_STORYBOOK_CONFIG??"{}");return {a11y:{manual:!(isVitestStorybook?envConfig.a11y??!1:!0)}}}},...nonMutableInputConfig.test?.browser&&nonMutableInputConfig.test.browser.screenshotFailures===void 0?{screenshotFailures:!1}:{}}},envPrefix:Array.from(new Set([...nonMutableInputConfig.envPrefix||[],"STORYBOOK_","VITE_"])),resolve:{conditions:["storybook","stories","test","module","browser","development|production"]},optimizeDeps:{include:[...extraOptimizeDeps,"@storybook/addon-vitest/internal/setup-file","@storybook/addon-vitest/internal/global-setup","@storybook/addon-vitest/internal/test-utils",...frameworkName?.includes("react")||frameworkName?.includes("nextjs")?["react-dom/test-utils"]:[]]},define:{...frameworkName?.includes("vue3")?{__VUE_PROD_HYDRATION_MISMATCH_DETAILS__:"false"}:{}}},config$1=config.mergeConfig(baseConfig,viteConfigFromStorybook);return (nonMutableInputConfig.test?.include?.length??0)>0&&(nonMutableInputConfig.test.include=[],console.log(import_picocolors.default.yellow(tsDedent.dedent`
1
+ import CJS_COMPAT_NODE_URL_3fqiy48f2ku from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_3fqiy48f2ku from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_3fqiy48f2ku from "node:module";
4
+
5
+ var __filename = CJS_COMPAT_NODE_URL_3fqiy48f2ku.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_3fqiy48f2ku.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_3fqiy48f2ku.createRequire(import.meta.url);
8
+
9
+ // ------------------------------------------------------------
10
+ // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
+ // ------------------------------------------------------------
12
+ import {
13
+ require_picocolors
14
+ } from "../_node-chunks/chunk-MJQUUNLY.js";
15
+ import {
16
+ join,
17
+ normalize,
18
+ relative,
19
+ resolve,
20
+ sep
21
+ } from "../_node-chunks/chunk-HPGEHKZB.js";
22
+ import {
23
+ __commonJS,
24
+ __name,
25
+ __require,
26
+ __toESM
27
+ } from "../_node-chunks/chunk-JXUNGTEW.js";
28
+
29
+ // ../../node_modules/braces/lib/utils.js
30
+ var require_utils = __commonJS({
31
+ "../../node_modules/braces/lib/utils.js"(exports) {
32
+ "use strict";
33
+ exports.isInteger = (num) => {
34
+ if (typeof num === "number") {
35
+ return Number.isInteger(num);
36
+ }
37
+ if (typeof num === "string" && num.trim() !== "") {
38
+ return Number.isInteger(Number(num));
39
+ }
40
+ return false;
41
+ };
42
+ exports.find = (node, type) => node.nodes.find((node2) => node2.type === type);
43
+ exports.exceedsLimit = (min, max, step = 1, limit) => {
44
+ if (limit === false) return false;
45
+ if (!exports.isInteger(min) || !exports.isInteger(max)) return false;
46
+ return (Number(max) - Number(min)) / Number(step) >= limit;
47
+ };
48
+ exports.escapeNode = (block, n = 0, type) => {
49
+ const node = block.nodes[n];
50
+ if (!node) return;
51
+ if (type && node.type === type || node.type === "open" || node.type === "close") {
52
+ if (node.escaped !== true) {
53
+ node.value = "\\" + node.value;
54
+ node.escaped = true;
55
+ }
56
+ }
57
+ };
58
+ exports.encloseBrace = (node) => {
59
+ if (node.type !== "brace") return false;
60
+ if (node.commas >> 0 + node.ranges >> 0 === 0) {
61
+ node.invalid = true;
62
+ return true;
63
+ }
64
+ return false;
65
+ };
66
+ exports.isInvalidBrace = (block) => {
67
+ if (block.type !== "brace") return false;
68
+ if (block.invalid === true || block.dollar) return true;
69
+ if (block.commas >> 0 + block.ranges >> 0 === 0) {
70
+ block.invalid = true;
71
+ return true;
72
+ }
73
+ if (block.open !== true || block.close !== true) {
74
+ block.invalid = true;
75
+ return true;
76
+ }
77
+ return false;
78
+ };
79
+ exports.isOpenOrClose = (node) => {
80
+ if (node.type === "open" || node.type === "close") {
81
+ return true;
82
+ }
83
+ return node.open === true || node.close === true;
84
+ };
85
+ exports.reduce = (nodes) => nodes.reduce((acc, node) => {
86
+ if (node.type === "text") acc.push(node.value);
87
+ if (node.type === "range") node.type = "text";
88
+ return acc;
89
+ }, []);
90
+ exports.flatten = (...args) => {
91
+ const result = [];
92
+ const flat = /* @__PURE__ */ __name((arr) => {
93
+ for (let i = 0; i < arr.length; i++) {
94
+ const ele = arr[i];
95
+ if (Array.isArray(ele)) {
96
+ flat(ele);
97
+ continue;
98
+ }
99
+ if (ele !== void 0) {
100
+ result.push(ele);
101
+ }
102
+ }
103
+ return result;
104
+ }, "flat");
105
+ flat(args);
106
+ return result;
107
+ };
108
+ }
109
+ });
110
+
111
+ // ../../node_modules/braces/lib/stringify.js
112
+ var require_stringify = __commonJS({
113
+ "../../node_modules/braces/lib/stringify.js"(exports, module) {
114
+ "use strict";
115
+ var utils = require_utils();
116
+ module.exports = (ast, options = {}) => {
117
+ const stringify = /* @__PURE__ */ __name((node, parent = {}) => {
118
+ const invalidBlock = options.escapeInvalid && utils.isInvalidBrace(parent);
119
+ const invalidNode = node.invalid === true && options.escapeInvalid === true;
120
+ let output = "";
121
+ if (node.value) {
122
+ if ((invalidBlock || invalidNode) && utils.isOpenOrClose(node)) {
123
+ return "\\" + node.value;
124
+ }
125
+ return node.value;
126
+ }
127
+ if (node.value) {
128
+ return node.value;
129
+ }
130
+ if (node.nodes) {
131
+ for (const child of node.nodes) {
132
+ output += stringify(child);
133
+ }
134
+ }
135
+ return output;
136
+ }, "stringify");
137
+ return stringify(ast);
138
+ };
139
+ }
140
+ });
141
+
142
+ // ../../node_modules/is-number/index.js
143
+ var require_is_number = __commonJS({
144
+ "../../node_modules/is-number/index.js"(exports, module) {
145
+ "use strict";
146
+ module.exports = function(num) {
147
+ if (typeof num === "number") {
148
+ return num - num === 0;
149
+ }
150
+ if (typeof num === "string" && num.trim() !== "") {
151
+ return Number.isFinite ? Number.isFinite(+num) : isFinite(+num);
152
+ }
153
+ return false;
154
+ };
155
+ }
156
+ });
157
+
158
+ // ../../node_modules/to-regex-range/index.js
159
+ var require_to_regex_range = __commonJS({
160
+ "../../node_modules/to-regex-range/index.js"(exports, module) {
161
+ "use strict";
162
+ var isNumber = require_is_number();
163
+ var toRegexRange = /* @__PURE__ */ __name((min, max, options) => {
164
+ if (isNumber(min) === false) {
165
+ throw new TypeError("toRegexRange: expected the first argument to be a number");
166
+ }
167
+ if (max === void 0 || min === max) {
168
+ return String(min);
169
+ }
170
+ if (isNumber(max) === false) {
171
+ throw new TypeError("toRegexRange: expected the second argument to be a number.");
172
+ }
173
+ let opts = { relaxZeros: true, ...options };
174
+ if (typeof opts.strictZeros === "boolean") {
175
+ opts.relaxZeros = opts.strictZeros === false;
176
+ }
177
+ let relax = String(opts.relaxZeros);
178
+ let shorthand = String(opts.shorthand);
179
+ let capture = String(opts.capture);
180
+ let wrap = String(opts.wrap);
181
+ let cacheKey = min + ":" + max + "=" + relax + shorthand + capture + wrap;
182
+ if (toRegexRange.cache.hasOwnProperty(cacheKey)) {
183
+ return toRegexRange.cache[cacheKey].result;
184
+ }
185
+ let a = Math.min(min, max);
186
+ let b = Math.max(min, max);
187
+ if (Math.abs(a - b) === 1) {
188
+ let result = min + "|" + max;
189
+ if (opts.capture) {
190
+ return `(${result})`;
191
+ }
192
+ if (opts.wrap === false) {
193
+ return result;
194
+ }
195
+ return `(?:${result})`;
196
+ }
197
+ let isPadded = hasPadding(min) || hasPadding(max);
198
+ let state = { min, max, a, b };
199
+ let positives = [];
200
+ let negatives = [];
201
+ if (isPadded) {
202
+ state.isPadded = isPadded;
203
+ state.maxLen = String(state.max).length;
204
+ }
205
+ if (a < 0) {
206
+ let newMin = b < 0 ? Math.abs(b) : 1;
207
+ negatives = splitToPatterns(newMin, Math.abs(a), state, opts);
208
+ a = state.a = 0;
209
+ }
210
+ if (b >= 0) {
211
+ positives = splitToPatterns(a, b, state, opts);
212
+ }
213
+ state.negatives = negatives;
214
+ state.positives = positives;
215
+ state.result = collatePatterns(negatives, positives, opts);
216
+ if (opts.capture === true) {
217
+ state.result = `(${state.result})`;
218
+ } else if (opts.wrap !== false && positives.length + negatives.length > 1) {
219
+ state.result = `(?:${state.result})`;
220
+ }
221
+ toRegexRange.cache[cacheKey] = state;
222
+ return state.result;
223
+ }, "toRegexRange");
224
+ function collatePatterns(neg, pos, options) {
225
+ let onlyNegative = filterPatterns(neg, pos, "-", false, options) || [];
226
+ let onlyPositive = filterPatterns(pos, neg, "", false, options) || [];
227
+ let intersected = filterPatterns(neg, pos, "-?", true, options) || [];
228
+ let subpatterns = onlyNegative.concat(intersected).concat(onlyPositive);
229
+ return subpatterns.join("|");
230
+ }
231
+ __name(collatePatterns, "collatePatterns");
232
+ function splitToRanges(min, max) {
233
+ let nines = 1;
234
+ let zeros = 1;
235
+ let stop = countNines(min, nines);
236
+ let stops = /* @__PURE__ */ new Set([max]);
237
+ while (min <= stop && stop <= max) {
238
+ stops.add(stop);
239
+ nines += 1;
240
+ stop = countNines(min, nines);
241
+ }
242
+ stop = countZeros(max + 1, zeros) - 1;
243
+ while (min < stop && stop <= max) {
244
+ stops.add(stop);
245
+ zeros += 1;
246
+ stop = countZeros(max + 1, zeros) - 1;
247
+ }
248
+ stops = [...stops];
249
+ stops.sort(compare);
250
+ return stops;
251
+ }
252
+ __name(splitToRanges, "splitToRanges");
253
+ function rangeToPattern(start, stop, options) {
254
+ if (start === stop) {
255
+ return { pattern: start, count: [], digits: 0 };
256
+ }
257
+ let zipped = zip(start, stop);
258
+ let digits = zipped.length;
259
+ let pattern = "";
260
+ let count = 0;
261
+ for (let i = 0; i < digits; i++) {
262
+ let [startDigit, stopDigit] = zipped[i];
263
+ if (startDigit === stopDigit) {
264
+ pattern += startDigit;
265
+ } else if (startDigit !== "0" || stopDigit !== "9") {
266
+ pattern += toCharacterClass(startDigit, stopDigit, options);
267
+ } else {
268
+ count++;
269
+ }
270
+ }
271
+ if (count) {
272
+ pattern += options.shorthand === true ? "\\d" : "[0-9]";
273
+ }
274
+ return { pattern, count: [count], digits };
275
+ }
276
+ __name(rangeToPattern, "rangeToPattern");
277
+ function splitToPatterns(min, max, tok, options) {
278
+ let ranges = splitToRanges(min, max);
279
+ let tokens = [];
280
+ let start = min;
281
+ let prev;
282
+ for (let i = 0; i < ranges.length; i++) {
283
+ let max2 = ranges[i];
284
+ let obj = rangeToPattern(String(start), String(max2), options);
285
+ let zeros = "";
286
+ if (!tok.isPadded && prev && prev.pattern === obj.pattern) {
287
+ if (prev.count.length > 1) {
288
+ prev.count.pop();
289
+ }
290
+ prev.count.push(obj.count[0]);
291
+ prev.string = prev.pattern + toQuantifier(prev.count);
292
+ start = max2 + 1;
293
+ continue;
294
+ }
295
+ if (tok.isPadded) {
296
+ zeros = padZeros(max2, tok, options);
297
+ }
298
+ obj.string = zeros + obj.pattern + toQuantifier(obj.count);
299
+ tokens.push(obj);
300
+ start = max2 + 1;
301
+ prev = obj;
302
+ }
303
+ return tokens;
304
+ }
305
+ __name(splitToPatterns, "splitToPatterns");
306
+ function filterPatterns(arr, comparison, prefix, intersection, options) {
307
+ let result = [];
308
+ for (let ele of arr) {
309
+ let { string } = ele;
310
+ if (!intersection && !contains(comparison, "string", string)) {
311
+ result.push(prefix + string);
312
+ }
313
+ if (intersection && contains(comparison, "string", string)) {
314
+ result.push(prefix + string);
315
+ }
316
+ }
317
+ return result;
318
+ }
319
+ __name(filterPatterns, "filterPatterns");
320
+ function zip(a, b) {
321
+ let arr = [];
322
+ for (let i = 0; i < a.length; i++) arr.push([a[i], b[i]]);
323
+ return arr;
324
+ }
325
+ __name(zip, "zip");
326
+ function compare(a, b) {
327
+ return a > b ? 1 : b > a ? -1 : 0;
328
+ }
329
+ __name(compare, "compare");
330
+ function contains(arr, key, val) {
331
+ return arr.some((ele) => ele[key] === val);
332
+ }
333
+ __name(contains, "contains");
334
+ function countNines(min, len) {
335
+ return Number(String(min).slice(0, -len) + "9".repeat(len));
336
+ }
337
+ __name(countNines, "countNines");
338
+ function countZeros(integer, zeros) {
339
+ return integer - integer % Math.pow(10, zeros);
340
+ }
341
+ __name(countZeros, "countZeros");
342
+ function toQuantifier(digits) {
343
+ let [start = 0, stop = ""] = digits;
344
+ if (stop || start > 1) {
345
+ return `{${start + (stop ? "," + stop : "")}}`;
346
+ }
347
+ return "";
348
+ }
349
+ __name(toQuantifier, "toQuantifier");
350
+ function toCharacterClass(a, b, options) {
351
+ return `[${a}${b - a === 1 ? "" : "-"}${b}]`;
352
+ }
353
+ __name(toCharacterClass, "toCharacterClass");
354
+ function hasPadding(str) {
355
+ return /^-?(0+)\d/.test(str);
356
+ }
357
+ __name(hasPadding, "hasPadding");
358
+ function padZeros(value, tok, options) {
359
+ if (!tok.isPadded) {
360
+ return value;
361
+ }
362
+ let diff = Math.abs(tok.maxLen - String(value).length);
363
+ let relax = options.relaxZeros !== false;
364
+ switch (diff) {
365
+ case 0:
366
+ return "";
367
+ case 1:
368
+ return relax ? "0?" : "0";
369
+ case 2:
370
+ return relax ? "0{0,2}" : "00";
371
+ default: {
372
+ return relax ? `0{0,${diff}}` : `0{${diff}}`;
373
+ }
374
+ }
375
+ }
376
+ __name(padZeros, "padZeros");
377
+ toRegexRange.cache = {};
378
+ toRegexRange.clearCache = () => toRegexRange.cache = {};
379
+ module.exports = toRegexRange;
380
+ }
381
+ });
382
+
383
+ // ../../node_modules/fill-range/index.js
384
+ var require_fill_range = __commonJS({
385
+ "../../node_modules/fill-range/index.js"(exports, module) {
386
+ "use strict";
387
+ var util = __require("util");
388
+ var toRegexRange = require_to_regex_range();
389
+ var isObject = /* @__PURE__ */ __name((val) => val !== null && typeof val === "object" && !Array.isArray(val), "isObject");
390
+ var transform = /* @__PURE__ */ __name((toNumber) => {
391
+ return (value) => toNumber === true ? Number(value) : String(value);
392
+ }, "transform");
393
+ var isValidValue = /* @__PURE__ */ __name((value) => {
394
+ return typeof value === "number" || typeof value === "string" && value !== "";
395
+ }, "isValidValue");
396
+ var isNumber = /* @__PURE__ */ __name((num) => Number.isInteger(+num), "isNumber");
397
+ var zeros = /* @__PURE__ */ __name((input) => {
398
+ let value = `${input}`;
399
+ let index = -1;
400
+ if (value[0] === "-") value = value.slice(1);
401
+ if (value === "0") return false;
402
+ while (value[++index] === "0") ;
403
+ return index > 0;
404
+ }, "zeros");
405
+ var stringify = /* @__PURE__ */ __name((start, end, options) => {
406
+ if (typeof start === "string" || typeof end === "string") {
407
+ return true;
408
+ }
409
+ return options.stringify === true;
410
+ }, "stringify");
411
+ var pad = /* @__PURE__ */ __name((input, maxLength, toNumber) => {
412
+ if (maxLength > 0) {
413
+ let dash = input[0] === "-" ? "-" : "";
414
+ if (dash) input = input.slice(1);
415
+ input = dash + input.padStart(dash ? maxLength - 1 : maxLength, "0");
416
+ }
417
+ if (toNumber === false) {
418
+ return String(input);
419
+ }
420
+ return input;
421
+ }, "pad");
422
+ var toMaxLen = /* @__PURE__ */ __name((input, maxLength) => {
423
+ let negative = input[0] === "-" ? "-" : "";
424
+ if (negative) {
425
+ input = input.slice(1);
426
+ maxLength--;
427
+ }
428
+ while (input.length < maxLength) input = "0" + input;
429
+ return negative ? "-" + input : input;
430
+ }, "toMaxLen");
431
+ var toSequence = /* @__PURE__ */ __name((parts, options, maxLen) => {
432
+ parts.negatives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0);
433
+ parts.positives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0);
434
+ let prefix = options.capture ? "" : "?:";
435
+ let positives = "";
436
+ let negatives = "";
437
+ let result;
438
+ if (parts.positives.length) {
439
+ positives = parts.positives.map((v) => toMaxLen(String(v), maxLen)).join("|");
440
+ }
441
+ if (parts.negatives.length) {
442
+ negatives = `-(${prefix}${parts.negatives.map((v) => toMaxLen(String(v), maxLen)).join("|")})`;
443
+ }
444
+ if (positives && negatives) {
445
+ result = `${positives}|${negatives}`;
446
+ } else {
447
+ result = positives || negatives;
448
+ }
449
+ if (options.wrap) {
450
+ return `(${prefix}${result})`;
451
+ }
452
+ return result;
453
+ }, "toSequence");
454
+ var toRange = /* @__PURE__ */ __name((a, b, isNumbers, options) => {
455
+ if (isNumbers) {
456
+ return toRegexRange(a, b, { wrap: false, ...options });
457
+ }
458
+ let start = String.fromCharCode(a);
459
+ if (a === b) return start;
460
+ let stop = String.fromCharCode(b);
461
+ return `[${start}-${stop}]`;
462
+ }, "toRange");
463
+ var toRegex = /* @__PURE__ */ __name((start, end, options) => {
464
+ if (Array.isArray(start)) {
465
+ let wrap = options.wrap === true;
466
+ let prefix = options.capture ? "" : "?:";
467
+ return wrap ? `(${prefix}${start.join("|")})` : start.join("|");
468
+ }
469
+ return toRegexRange(start, end, options);
470
+ }, "toRegex");
471
+ var rangeError = /* @__PURE__ */ __name((...args) => {
472
+ return new RangeError("Invalid range arguments: " + util.inspect(...args));
473
+ }, "rangeError");
474
+ var invalidRange = /* @__PURE__ */ __name((start, end, options) => {
475
+ if (options.strictRanges === true) throw rangeError([start, end]);
476
+ return [];
477
+ }, "invalidRange");
478
+ var invalidStep = /* @__PURE__ */ __name((step, options) => {
479
+ if (options.strictRanges === true) {
480
+ throw new TypeError(`Expected step "${step}" to be a number`);
481
+ }
482
+ return [];
483
+ }, "invalidStep");
484
+ var fillNumbers = /* @__PURE__ */ __name((start, end, step = 1, options = {}) => {
485
+ let a = Number(start);
486
+ let b = Number(end);
487
+ if (!Number.isInteger(a) || !Number.isInteger(b)) {
488
+ if (options.strictRanges === true) throw rangeError([start, end]);
489
+ return [];
490
+ }
491
+ if (a === 0) a = 0;
492
+ if (b === 0) b = 0;
493
+ let descending = a > b;
494
+ let startString = String(start);
495
+ let endString = String(end);
496
+ let stepString = String(step);
497
+ step = Math.max(Math.abs(step), 1);
498
+ let padded = zeros(startString) || zeros(endString) || zeros(stepString);
499
+ let maxLen = padded ? Math.max(startString.length, endString.length, stepString.length) : 0;
500
+ let toNumber = padded === false && stringify(start, end, options) === false;
501
+ let format = options.transform || transform(toNumber);
502
+ if (options.toRegex && step === 1) {
503
+ return toRange(toMaxLen(start, maxLen), toMaxLen(end, maxLen), true, options);
504
+ }
505
+ let parts = { negatives: [], positives: [] };
506
+ let push = /* @__PURE__ */ __name((num) => parts[num < 0 ? "negatives" : "positives"].push(Math.abs(num)), "push");
507
+ let range = [];
508
+ let index = 0;
509
+ while (descending ? a >= b : a <= b) {
510
+ if (options.toRegex === true && step > 1) {
511
+ push(a);
512
+ } else {
513
+ range.push(pad(format(a, index), maxLen, toNumber));
514
+ }
515
+ a = descending ? a - step : a + step;
516
+ index++;
517
+ }
518
+ if (options.toRegex === true) {
519
+ return step > 1 ? toSequence(parts, options, maxLen) : toRegex(range, null, { wrap: false, ...options });
520
+ }
521
+ return range;
522
+ }, "fillNumbers");
523
+ var fillLetters = /* @__PURE__ */ __name((start, end, step = 1, options = {}) => {
524
+ if (!isNumber(start) && start.length > 1 || !isNumber(end) && end.length > 1) {
525
+ return invalidRange(start, end, options);
526
+ }
527
+ let format = options.transform || ((val) => String.fromCharCode(val));
528
+ let a = `${start}`.charCodeAt(0);
529
+ let b = `${end}`.charCodeAt(0);
530
+ let descending = a > b;
531
+ let min = Math.min(a, b);
532
+ let max = Math.max(a, b);
533
+ if (options.toRegex && step === 1) {
534
+ return toRange(min, max, false, options);
535
+ }
536
+ let range = [];
537
+ let index = 0;
538
+ while (descending ? a >= b : a <= b) {
539
+ range.push(format(a, index));
540
+ a = descending ? a - step : a + step;
541
+ index++;
542
+ }
543
+ if (options.toRegex === true) {
544
+ return toRegex(range, null, { wrap: false, options });
545
+ }
546
+ return range;
547
+ }, "fillLetters");
548
+ var fill = /* @__PURE__ */ __name((start, end, step, options = {}) => {
549
+ if (end == null && isValidValue(start)) {
550
+ return [start];
551
+ }
552
+ if (!isValidValue(start) || !isValidValue(end)) {
553
+ return invalidRange(start, end, options);
554
+ }
555
+ if (typeof step === "function") {
556
+ return fill(start, end, 1, { transform: step });
557
+ }
558
+ if (isObject(step)) {
559
+ return fill(start, end, 0, step);
560
+ }
561
+ let opts = { ...options };
562
+ if (opts.capture === true) opts.wrap = true;
563
+ step = step || opts.step || 1;
564
+ if (!isNumber(step)) {
565
+ if (step != null && !isObject(step)) return invalidStep(step, opts);
566
+ return fill(start, end, 1, step);
567
+ }
568
+ if (isNumber(start) && isNumber(end)) {
569
+ return fillNumbers(start, end, step, opts);
570
+ }
571
+ return fillLetters(start, end, Math.max(Math.abs(step), 1), opts);
572
+ }, "fill");
573
+ module.exports = fill;
574
+ }
575
+ });
576
+
577
+ // ../../node_modules/braces/lib/compile.js
578
+ var require_compile = __commonJS({
579
+ "../../node_modules/braces/lib/compile.js"(exports, module) {
580
+ "use strict";
581
+ var fill = require_fill_range();
582
+ var utils = require_utils();
583
+ var compile = /* @__PURE__ */ __name((ast, options = {}) => {
584
+ const walk = /* @__PURE__ */ __name((node, parent = {}) => {
585
+ const invalidBlock = utils.isInvalidBrace(parent);
586
+ const invalidNode = node.invalid === true && options.escapeInvalid === true;
587
+ const invalid = invalidBlock === true || invalidNode === true;
588
+ const prefix = options.escapeInvalid === true ? "\\" : "";
589
+ let output = "";
590
+ if (node.isOpen === true) {
591
+ return prefix + node.value;
592
+ }
593
+ if (node.isClose === true) {
594
+ console.log("node.isClose", prefix, node.value);
595
+ return prefix + node.value;
596
+ }
597
+ if (node.type === "open") {
598
+ return invalid ? prefix + node.value : "(";
599
+ }
600
+ if (node.type === "close") {
601
+ return invalid ? prefix + node.value : ")";
602
+ }
603
+ if (node.type === "comma") {
604
+ return node.prev.type === "comma" ? "" : invalid ? node.value : "|";
605
+ }
606
+ if (node.value) {
607
+ return node.value;
608
+ }
609
+ if (node.nodes && node.ranges > 0) {
610
+ const args = utils.reduce(node.nodes);
611
+ const range = fill(...args, { ...options, wrap: false, toRegex: true, strictZeros: true });
612
+ if (range.length !== 0) {
613
+ return args.length > 1 && range.length > 1 ? `(${range})` : range;
614
+ }
615
+ }
616
+ if (node.nodes) {
617
+ for (const child of node.nodes) {
618
+ output += walk(child, node);
619
+ }
620
+ }
621
+ return output;
622
+ }, "walk");
623
+ return walk(ast);
624
+ }, "compile");
625
+ module.exports = compile;
626
+ }
627
+ });
628
+
629
+ // ../../node_modules/braces/lib/expand.js
630
+ var require_expand = __commonJS({
631
+ "../../node_modules/braces/lib/expand.js"(exports, module) {
632
+ "use strict";
633
+ var fill = require_fill_range();
634
+ var stringify = require_stringify();
635
+ var utils = require_utils();
636
+ var append = /* @__PURE__ */ __name((queue = "", stash = "", enclose = false) => {
637
+ const result = [];
638
+ queue = [].concat(queue);
639
+ stash = [].concat(stash);
640
+ if (!stash.length) return queue;
641
+ if (!queue.length) {
642
+ return enclose ? utils.flatten(stash).map((ele) => `{${ele}}`) : stash;
643
+ }
644
+ for (const item of queue) {
645
+ if (Array.isArray(item)) {
646
+ for (const value of item) {
647
+ result.push(append(value, stash, enclose));
648
+ }
649
+ } else {
650
+ for (let ele of stash) {
651
+ if (enclose === true && typeof ele === "string") ele = `{${ele}}`;
652
+ result.push(Array.isArray(ele) ? append(item, ele, enclose) : item + ele);
653
+ }
654
+ }
655
+ }
656
+ return utils.flatten(result);
657
+ }, "append");
658
+ var expand = /* @__PURE__ */ __name((ast, options = {}) => {
659
+ const rangeLimit = options.rangeLimit === void 0 ? 1e3 : options.rangeLimit;
660
+ const walk = /* @__PURE__ */ __name((node, parent = {}) => {
661
+ node.queue = [];
662
+ let p = parent;
663
+ let q = parent.queue;
664
+ while (p.type !== "brace" && p.type !== "root" && p.parent) {
665
+ p = p.parent;
666
+ q = p.queue;
667
+ }
668
+ if (node.invalid || node.dollar) {
669
+ q.push(append(q.pop(), stringify(node, options)));
670
+ return;
671
+ }
672
+ if (node.type === "brace" && node.invalid !== true && node.nodes.length === 2) {
673
+ q.push(append(q.pop(), ["{}"]));
674
+ return;
675
+ }
676
+ if (node.nodes && node.ranges > 0) {
677
+ const args = utils.reduce(node.nodes);
678
+ if (utils.exceedsLimit(...args, options.step, rangeLimit)) {
679
+ throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");
680
+ }
681
+ let range = fill(...args, options);
682
+ if (range.length === 0) {
683
+ range = stringify(node, options);
684
+ }
685
+ q.push(append(q.pop(), range));
686
+ node.nodes = [];
687
+ return;
688
+ }
689
+ const enclose = utils.encloseBrace(node);
690
+ let queue = node.queue;
691
+ let block = node;
692
+ while (block.type !== "brace" && block.type !== "root" && block.parent) {
693
+ block = block.parent;
694
+ queue = block.queue;
695
+ }
696
+ for (let i = 0; i < node.nodes.length; i++) {
697
+ const child = node.nodes[i];
698
+ if (child.type === "comma" && node.type === "brace") {
699
+ if (i === 1) queue.push("");
700
+ queue.push("");
701
+ continue;
702
+ }
703
+ if (child.type === "close") {
704
+ q.push(append(q.pop(), queue, enclose));
705
+ continue;
706
+ }
707
+ if (child.value && child.type !== "open") {
708
+ queue.push(append(queue.pop(), child.value));
709
+ continue;
710
+ }
711
+ if (child.nodes) {
712
+ walk(child, node);
713
+ }
714
+ }
715
+ return queue;
716
+ }, "walk");
717
+ return utils.flatten(walk(ast));
718
+ }, "expand");
719
+ module.exports = expand;
720
+ }
721
+ });
722
+
723
+ // ../../node_modules/braces/lib/constants.js
724
+ var require_constants = __commonJS({
725
+ "../../node_modules/braces/lib/constants.js"(exports, module) {
726
+ "use strict";
727
+ module.exports = {
728
+ MAX_LENGTH: 1e4,
729
+ // Digits
730
+ CHAR_0: "0",
731
+ /* 0 */
732
+ CHAR_9: "9",
733
+ /* 9 */
734
+ // Alphabet chars.
735
+ CHAR_UPPERCASE_A: "A",
736
+ /* A */
737
+ CHAR_LOWERCASE_A: "a",
738
+ /* a */
739
+ CHAR_UPPERCASE_Z: "Z",
740
+ /* Z */
741
+ CHAR_LOWERCASE_Z: "z",
742
+ /* z */
743
+ CHAR_LEFT_PARENTHESES: "(",
744
+ /* ( */
745
+ CHAR_RIGHT_PARENTHESES: ")",
746
+ /* ) */
747
+ CHAR_ASTERISK: "*",
748
+ /* * */
749
+ // Non-alphabetic chars.
750
+ CHAR_AMPERSAND: "&",
751
+ /* & */
752
+ CHAR_AT: "@",
753
+ /* @ */
754
+ CHAR_BACKSLASH: "\\",
755
+ /* \ */
756
+ CHAR_BACKTICK: "`",
757
+ /* ` */
758
+ CHAR_CARRIAGE_RETURN: "\r",
759
+ /* \r */
760
+ CHAR_CIRCUMFLEX_ACCENT: "^",
761
+ /* ^ */
762
+ CHAR_COLON: ":",
763
+ /* : */
764
+ CHAR_COMMA: ",",
765
+ /* , */
766
+ CHAR_DOLLAR: "$",
767
+ /* . */
768
+ CHAR_DOT: ".",
769
+ /* . */
770
+ CHAR_DOUBLE_QUOTE: '"',
771
+ /* " */
772
+ CHAR_EQUAL: "=",
773
+ /* = */
774
+ CHAR_EXCLAMATION_MARK: "!",
775
+ /* ! */
776
+ CHAR_FORM_FEED: "\f",
777
+ /* \f */
778
+ CHAR_FORWARD_SLASH: "/",
779
+ /* / */
780
+ CHAR_HASH: "#",
781
+ /* # */
782
+ CHAR_HYPHEN_MINUS: "-",
783
+ /* - */
784
+ CHAR_LEFT_ANGLE_BRACKET: "<",
785
+ /* < */
786
+ CHAR_LEFT_CURLY_BRACE: "{",
787
+ /* { */
788
+ CHAR_LEFT_SQUARE_BRACKET: "[",
789
+ /* [ */
790
+ CHAR_LINE_FEED: "\n",
791
+ /* \n */
792
+ CHAR_NO_BREAK_SPACE: "\xA0",
793
+ /* \u00A0 */
794
+ CHAR_PERCENT: "%",
795
+ /* % */
796
+ CHAR_PLUS: "+",
797
+ /* + */
798
+ CHAR_QUESTION_MARK: "?",
799
+ /* ? */
800
+ CHAR_RIGHT_ANGLE_BRACKET: ">",
801
+ /* > */
802
+ CHAR_RIGHT_CURLY_BRACE: "}",
803
+ /* } */
804
+ CHAR_RIGHT_SQUARE_BRACKET: "]",
805
+ /* ] */
806
+ CHAR_SEMICOLON: ";",
807
+ /* ; */
808
+ CHAR_SINGLE_QUOTE: "'",
809
+ /* ' */
810
+ CHAR_SPACE: " ",
811
+ /* */
812
+ CHAR_TAB: " ",
813
+ /* \t */
814
+ CHAR_UNDERSCORE: "_",
815
+ /* _ */
816
+ CHAR_VERTICAL_LINE: "|",
817
+ /* | */
818
+ CHAR_ZERO_WIDTH_NOBREAK_SPACE: "\uFEFF"
819
+ /* \uFEFF */
820
+ };
821
+ }
822
+ });
823
+
824
+ // ../../node_modules/braces/lib/parse.js
825
+ var require_parse = __commonJS({
826
+ "../../node_modules/braces/lib/parse.js"(exports, module) {
827
+ "use strict";
828
+ var stringify = require_stringify();
829
+ var {
830
+ MAX_LENGTH,
831
+ CHAR_BACKSLASH,
832
+ /* \ */
833
+ CHAR_BACKTICK,
834
+ /* ` */
835
+ CHAR_COMMA,
836
+ /* , */
837
+ CHAR_DOT,
838
+ /* . */
839
+ CHAR_LEFT_PARENTHESES,
840
+ /* ( */
841
+ CHAR_RIGHT_PARENTHESES,
842
+ /* ) */
843
+ CHAR_LEFT_CURLY_BRACE,
844
+ /* { */
845
+ CHAR_RIGHT_CURLY_BRACE,
846
+ /* } */
847
+ CHAR_LEFT_SQUARE_BRACKET,
848
+ /* [ */
849
+ CHAR_RIGHT_SQUARE_BRACKET,
850
+ /* ] */
851
+ CHAR_DOUBLE_QUOTE,
852
+ /* " */
853
+ CHAR_SINGLE_QUOTE,
854
+ /* ' */
855
+ CHAR_NO_BREAK_SPACE,
856
+ CHAR_ZERO_WIDTH_NOBREAK_SPACE
857
+ } = require_constants();
858
+ var parse = /* @__PURE__ */ __name((input, options = {}) => {
859
+ if (typeof input !== "string") {
860
+ throw new TypeError("Expected a string");
861
+ }
862
+ const opts = options || {};
863
+ const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
864
+ if (input.length > max) {
865
+ throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max})`);
866
+ }
867
+ const ast = { type: "root", input, nodes: [] };
868
+ const stack = [ast];
869
+ let block = ast;
870
+ let prev = ast;
871
+ let brackets = 0;
872
+ const length = input.length;
873
+ let index = 0;
874
+ let depth = 0;
875
+ let value;
876
+ const advance = /* @__PURE__ */ __name(() => input[index++], "advance");
877
+ const push = /* @__PURE__ */ __name((node) => {
878
+ if (node.type === "text" && prev.type === "dot") {
879
+ prev.type = "text";
880
+ }
881
+ if (prev && prev.type === "text" && node.type === "text") {
882
+ prev.value += node.value;
883
+ return;
884
+ }
885
+ block.nodes.push(node);
886
+ node.parent = block;
887
+ node.prev = prev;
888
+ prev = node;
889
+ return node;
890
+ }, "push");
891
+ push({ type: "bos" });
892
+ while (index < length) {
893
+ block = stack[stack.length - 1];
894
+ value = advance();
895
+ if (value === CHAR_ZERO_WIDTH_NOBREAK_SPACE || value === CHAR_NO_BREAK_SPACE) {
896
+ continue;
897
+ }
898
+ if (value === CHAR_BACKSLASH) {
899
+ push({ type: "text", value: (options.keepEscaping ? value : "") + advance() });
900
+ continue;
901
+ }
902
+ if (value === CHAR_RIGHT_SQUARE_BRACKET) {
903
+ push({ type: "text", value: "\\" + value });
904
+ continue;
905
+ }
906
+ if (value === CHAR_LEFT_SQUARE_BRACKET) {
907
+ brackets++;
908
+ let next;
909
+ while (index < length && (next = advance())) {
910
+ value += next;
911
+ if (next === CHAR_LEFT_SQUARE_BRACKET) {
912
+ brackets++;
913
+ continue;
914
+ }
915
+ if (next === CHAR_BACKSLASH) {
916
+ value += advance();
917
+ continue;
918
+ }
919
+ if (next === CHAR_RIGHT_SQUARE_BRACKET) {
920
+ brackets--;
921
+ if (brackets === 0) {
922
+ break;
923
+ }
924
+ }
925
+ }
926
+ push({ type: "text", value });
927
+ continue;
928
+ }
929
+ if (value === CHAR_LEFT_PARENTHESES) {
930
+ block = push({ type: "paren", nodes: [] });
931
+ stack.push(block);
932
+ push({ type: "text", value });
933
+ continue;
934
+ }
935
+ if (value === CHAR_RIGHT_PARENTHESES) {
936
+ if (block.type !== "paren") {
937
+ push({ type: "text", value });
938
+ continue;
939
+ }
940
+ block = stack.pop();
941
+ push({ type: "text", value });
942
+ block = stack[stack.length - 1];
943
+ continue;
944
+ }
945
+ if (value === CHAR_DOUBLE_QUOTE || value === CHAR_SINGLE_QUOTE || value === CHAR_BACKTICK) {
946
+ const open = value;
947
+ let next;
948
+ if (options.keepQuotes !== true) {
949
+ value = "";
950
+ }
951
+ while (index < length && (next = advance())) {
952
+ if (next === CHAR_BACKSLASH) {
953
+ value += next + advance();
954
+ continue;
955
+ }
956
+ if (next === open) {
957
+ if (options.keepQuotes === true) value += next;
958
+ break;
959
+ }
960
+ value += next;
961
+ }
962
+ push({ type: "text", value });
963
+ continue;
964
+ }
965
+ if (value === CHAR_LEFT_CURLY_BRACE) {
966
+ depth++;
967
+ const dollar = prev.value && prev.value.slice(-1) === "$" || block.dollar === true;
968
+ const brace = {
969
+ type: "brace",
970
+ open: true,
971
+ close: false,
972
+ dollar,
973
+ depth,
974
+ commas: 0,
975
+ ranges: 0,
976
+ nodes: []
977
+ };
978
+ block = push(brace);
979
+ stack.push(block);
980
+ push({ type: "open", value });
981
+ continue;
982
+ }
983
+ if (value === CHAR_RIGHT_CURLY_BRACE) {
984
+ if (block.type !== "brace") {
985
+ push({ type: "text", value });
986
+ continue;
987
+ }
988
+ const type = "close";
989
+ block = stack.pop();
990
+ block.close = true;
991
+ push({ type, value });
992
+ depth--;
993
+ block = stack[stack.length - 1];
994
+ continue;
995
+ }
996
+ if (value === CHAR_COMMA && depth > 0) {
997
+ if (block.ranges > 0) {
998
+ block.ranges = 0;
999
+ const open = block.nodes.shift();
1000
+ block.nodes = [open, { type: "text", value: stringify(block) }];
1001
+ }
1002
+ push({ type: "comma", value });
1003
+ block.commas++;
1004
+ continue;
1005
+ }
1006
+ if (value === CHAR_DOT && depth > 0 && block.commas === 0) {
1007
+ const siblings = block.nodes;
1008
+ if (depth === 0 || siblings.length === 0) {
1009
+ push({ type: "text", value });
1010
+ continue;
1011
+ }
1012
+ if (prev.type === "dot") {
1013
+ block.range = [];
1014
+ prev.value += value;
1015
+ prev.type = "range";
1016
+ if (block.nodes.length !== 3 && block.nodes.length !== 5) {
1017
+ block.invalid = true;
1018
+ block.ranges = 0;
1019
+ prev.type = "text";
1020
+ continue;
1021
+ }
1022
+ block.ranges++;
1023
+ block.args = [];
1024
+ continue;
1025
+ }
1026
+ if (prev.type === "range") {
1027
+ siblings.pop();
1028
+ const before = siblings[siblings.length - 1];
1029
+ before.value += prev.value + value;
1030
+ prev = before;
1031
+ block.ranges--;
1032
+ continue;
1033
+ }
1034
+ push({ type: "dot", value });
1035
+ continue;
1036
+ }
1037
+ push({ type: "text", value });
1038
+ }
1039
+ do {
1040
+ block = stack.pop();
1041
+ if (block.type !== "root") {
1042
+ block.nodes.forEach((node) => {
1043
+ if (!node.nodes) {
1044
+ if (node.type === "open") node.isOpen = true;
1045
+ if (node.type === "close") node.isClose = true;
1046
+ if (!node.nodes) node.type = "text";
1047
+ node.invalid = true;
1048
+ }
1049
+ });
1050
+ const parent = stack[stack.length - 1];
1051
+ const index2 = parent.nodes.indexOf(block);
1052
+ parent.nodes.splice(index2, 1, ...block.nodes);
1053
+ }
1054
+ } while (stack.length > 0);
1055
+ push({ type: "eos" });
1056
+ return ast;
1057
+ }, "parse");
1058
+ module.exports = parse;
1059
+ }
1060
+ });
1061
+
1062
+ // ../../node_modules/braces/index.js
1063
+ var require_braces = __commonJS({
1064
+ "../../node_modules/braces/index.js"(exports, module) {
1065
+ "use strict";
1066
+ var stringify = require_stringify();
1067
+ var compile = require_compile();
1068
+ var expand = require_expand();
1069
+ var parse = require_parse();
1070
+ var braces = /* @__PURE__ */ __name((input, options = {}) => {
1071
+ let output = [];
1072
+ if (Array.isArray(input)) {
1073
+ for (const pattern of input) {
1074
+ const result = braces.create(pattern, options);
1075
+ if (Array.isArray(result)) {
1076
+ output.push(...result);
1077
+ } else {
1078
+ output.push(result);
1079
+ }
1080
+ }
1081
+ } else {
1082
+ output = [].concat(braces.create(input, options));
1083
+ }
1084
+ if (options && options.expand === true && options.nodupes === true) {
1085
+ output = [...new Set(output)];
1086
+ }
1087
+ return output;
1088
+ }, "braces");
1089
+ braces.parse = (input, options = {}) => parse(input, options);
1090
+ braces.stringify = (input, options = {}) => {
1091
+ if (typeof input === "string") {
1092
+ return stringify(braces.parse(input, options), options);
1093
+ }
1094
+ return stringify(input, options);
1095
+ };
1096
+ braces.compile = (input, options = {}) => {
1097
+ if (typeof input === "string") {
1098
+ input = braces.parse(input, options);
1099
+ }
1100
+ return compile(input, options);
1101
+ };
1102
+ braces.expand = (input, options = {}) => {
1103
+ if (typeof input === "string") {
1104
+ input = braces.parse(input, options);
1105
+ }
1106
+ let result = expand(input, options);
1107
+ if (options.noempty === true) {
1108
+ result = result.filter(Boolean);
1109
+ }
1110
+ if (options.nodupes === true) {
1111
+ result = [...new Set(result)];
1112
+ }
1113
+ return result;
1114
+ };
1115
+ braces.create = (input, options = {}) => {
1116
+ if (input === "" || input.length < 3) {
1117
+ return [input];
1118
+ }
1119
+ return options.expand !== true ? braces.compile(input, options) : braces.expand(input, options);
1120
+ };
1121
+ module.exports = braces;
1122
+ }
1123
+ });
1124
+
1125
+ // ../../node_modules/picomatch/lib/constants.js
1126
+ var require_constants2 = __commonJS({
1127
+ "../../node_modules/picomatch/lib/constants.js"(exports, module) {
1128
+ "use strict";
1129
+ var path = __require("path");
1130
+ var WIN_SLASH = "\\\\/";
1131
+ var WIN_NO_SLASH = `[^${WIN_SLASH}]`;
1132
+ var DOT_LITERAL = "\\.";
1133
+ var PLUS_LITERAL = "\\+";
1134
+ var QMARK_LITERAL = "\\?";
1135
+ var SLASH_LITERAL = "\\/";
1136
+ var ONE_CHAR = "(?=.)";
1137
+ var QMARK = "[^/]";
1138
+ var END_ANCHOR = `(?:${SLASH_LITERAL}|$)`;
1139
+ var START_ANCHOR = `(?:^|${SLASH_LITERAL})`;
1140
+ var DOTS_SLASH = `${DOT_LITERAL}{1,2}${END_ANCHOR}`;
1141
+ var NO_DOT = `(?!${DOT_LITERAL})`;
1142
+ var NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`;
1143
+ var NO_DOT_SLASH = `(?!${DOT_LITERAL}{0,1}${END_ANCHOR})`;
1144
+ var NO_DOTS_SLASH = `(?!${DOTS_SLASH})`;
1145
+ var QMARK_NO_DOT = `[^.${SLASH_LITERAL}]`;
1146
+ var STAR = `${QMARK}*?`;
1147
+ var POSIX_CHARS = {
1148
+ DOT_LITERAL,
1149
+ PLUS_LITERAL,
1150
+ QMARK_LITERAL,
1151
+ SLASH_LITERAL,
1152
+ ONE_CHAR,
1153
+ QMARK,
1154
+ END_ANCHOR,
1155
+ DOTS_SLASH,
1156
+ NO_DOT,
1157
+ NO_DOTS,
1158
+ NO_DOT_SLASH,
1159
+ NO_DOTS_SLASH,
1160
+ QMARK_NO_DOT,
1161
+ STAR,
1162
+ START_ANCHOR
1163
+ };
1164
+ var WINDOWS_CHARS = {
1165
+ ...POSIX_CHARS,
1166
+ SLASH_LITERAL: `[${WIN_SLASH}]`,
1167
+ QMARK: WIN_NO_SLASH,
1168
+ STAR: `${WIN_NO_SLASH}*?`,
1169
+ DOTS_SLASH: `${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$)`,
1170
+ NO_DOT: `(?!${DOT_LITERAL})`,
1171
+ NO_DOTS: `(?!(?:^|[${WIN_SLASH}])${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
1172
+ NO_DOT_SLASH: `(?!${DOT_LITERAL}{0,1}(?:[${WIN_SLASH}]|$))`,
1173
+ NO_DOTS_SLASH: `(?!${DOT_LITERAL}{1,2}(?:[${WIN_SLASH}]|$))`,
1174
+ QMARK_NO_DOT: `[^.${WIN_SLASH}]`,
1175
+ START_ANCHOR: `(?:^|[${WIN_SLASH}])`,
1176
+ END_ANCHOR: `(?:[${WIN_SLASH}]|$)`
1177
+ };
1178
+ var POSIX_REGEX_SOURCE = {
1179
+ alnum: "a-zA-Z0-9",
1180
+ alpha: "a-zA-Z",
1181
+ ascii: "\\x00-\\x7F",
1182
+ blank: " \\t",
1183
+ cntrl: "\\x00-\\x1F\\x7F",
1184
+ digit: "0-9",
1185
+ graph: "\\x21-\\x7E",
1186
+ lower: "a-z",
1187
+ print: "\\x20-\\x7E ",
1188
+ punct: "\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",
1189
+ space: " \\t\\r\\n\\v\\f",
1190
+ upper: "A-Z",
1191
+ word: "A-Za-z0-9_",
1192
+ xdigit: "A-Fa-f0-9"
1193
+ };
1194
+ module.exports = {
1195
+ MAX_LENGTH: 1024 * 64,
1196
+ POSIX_REGEX_SOURCE,
1197
+ // regular expressions
1198
+ REGEX_BACKSLASH: /\\(?![*+?^${}(|)[\]])/g,
1199
+ REGEX_NON_SPECIAL_CHARS: /^[^@![\].,$*+?^{}()|\\/]+/,
1200
+ REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\]]/,
1201
+ REGEX_SPECIAL_CHARS_BACKREF: /(\\?)((\W)(\3*))/g,
1202
+ REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\]])/g,
1203
+ REGEX_REMOVE_BACKSLASH: /(?:\[.*?[^\\]\]|\\(?=.))/g,
1204
+ // Replace globs with equivalent patterns to reduce parsing time.
1205
+ REPLACEMENTS: {
1206
+ "***": "*",
1207
+ "**/**": "**",
1208
+ "**/**/**": "**"
1209
+ },
1210
+ // Digits
1211
+ CHAR_0: 48,
1212
+ /* 0 */
1213
+ CHAR_9: 57,
1214
+ /* 9 */
1215
+ // Alphabet chars.
1216
+ CHAR_UPPERCASE_A: 65,
1217
+ /* A */
1218
+ CHAR_LOWERCASE_A: 97,
1219
+ /* a */
1220
+ CHAR_UPPERCASE_Z: 90,
1221
+ /* Z */
1222
+ CHAR_LOWERCASE_Z: 122,
1223
+ /* z */
1224
+ CHAR_LEFT_PARENTHESES: 40,
1225
+ /* ( */
1226
+ CHAR_RIGHT_PARENTHESES: 41,
1227
+ /* ) */
1228
+ CHAR_ASTERISK: 42,
1229
+ /* * */
1230
+ // Non-alphabetic chars.
1231
+ CHAR_AMPERSAND: 38,
1232
+ /* & */
1233
+ CHAR_AT: 64,
1234
+ /* @ */
1235
+ CHAR_BACKWARD_SLASH: 92,
1236
+ /* \ */
1237
+ CHAR_CARRIAGE_RETURN: 13,
1238
+ /* \r */
1239
+ CHAR_CIRCUMFLEX_ACCENT: 94,
1240
+ /* ^ */
1241
+ CHAR_COLON: 58,
1242
+ /* : */
1243
+ CHAR_COMMA: 44,
1244
+ /* , */
1245
+ CHAR_DOT: 46,
1246
+ /* . */
1247
+ CHAR_DOUBLE_QUOTE: 34,
1248
+ /* " */
1249
+ CHAR_EQUAL: 61,
1250
+ /* = */
1251
+ CHAR_EXCLAMATION_MARK: 33,
1252
+ /* ! */
1253
+ CHAR_FORM_FEED: 12,
1254
+ /* \f */
1255
+ CHAR_FORWARD_SLASH: 47,
1256
+ /* / */
1257
+ CHAR_GRAVE_ACCENT: 96,
1258
+ /* ` */
1259
+ CHAR_HASH: 35,
1260
+ /* # */
1261
+ CHAR_HYPHEN_MINUS: 45,
1262
+ /* - */
1263
+ CHAR_LEFT_ANGLE_BRACKET: 60,
1264
+ /* < */
1265
+ CHAR_LEFT_CURLY_BRACE: 123,
1266
+ /* { */
1267
+ CHAR_LEFT_SQUARE_BRACKET: 91,
1268
+ /* [ */
1269
+ CHAR_LINE_FEED: 10,
1270
+ /* \n */
1271
+ CHAR_NO_BREAK_SPACE: 160,
1272
+ /* \u00A0 */
1273
+ CHAR_PERCENT: 37,
1274
+ /* % */
1275
+ CHAR_PLUS: 43,
1276
+ /* + */
1277
+ CHAR_QUESTION_MARK: 63,
1278
+ /* ? */
1279
+ CHAR_RIGHT_ANGLE_BRACKET: 62,
1280
+ /* > */
1281
+ CHAR_RIGHT_CURLY_BRACE: 125,
1282
+ /* } */
1283
+ CHAR_RIGHT_SQUARE_BRACKET: 93,
1284
+ /* ] */
1285
+ CHAR_SEMICOLON: 59,
1286
+ /* ; */
1287
+ CHAR_SINGLE_QUOTE: 39,
1288
+ /* ' */
1289
+ CHAR_SPACE: 32,
1290
+ /* */
1291
+ CHAR_TAB: 9,
1292
+ /* \t */
1293
+ CHAR_UNDERSCORE: 95,
1294
+ /* _ */
1295
+ CHAR_VERTICAL_LINE: 124,
1296
+ /* | */
1297
+ CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279,
1298
+ /* \uFEFF */
1299
+ SEP: path.sep,
1300
+ /**
1301
+ * Create EXTGLOB_CHARS
1302
+ */
1303
+ extglobChars(chars) {
1304
+ return {
1305
+ "!": { type: "negate", open: "(?:(?!(?:", close: `))${chars.STAR})` },
1306
+ "?": { type: "qmark", open: "(?:", close: ")?" },
1307
+ "+": { type: "plus", open: "(?:", close: ")+" },
1308
+ "*": { type: "star", open: "(?:", close: ")*" },
1309
+ "@": { type: "at", open: "(?:", close: ")" }
1310
+ };
1311
+ },
1312
+ /**
1313
+ * Create GLOB_CHARS
1314
+ */
1315
+ globChars(win32) {
1316
+ return win32 === true ? WINDOWS_CHARS : POSIX_CHARS;
1317
+ }
1318
+ };
1319
+ }
1320
+ });
1321
+
1322
+ // ../../node_modules/picomatch/lib/utils.js
1323
+ var require_utils2 = __commonJS({
1324
+ "../../node_modules/picomatch/lib/utils.js"(exports) {
1325
+ "use strict";
1326
+ var path = __require("path");
1327
+ var win32 = process.platform === "win32";
1328
+ var {
1329
+ REGEX_BACKSLASH,
1330
+ REGEX_REMOVE_BACKSLASH,
1331
+ REGEX_SPECIAL_CHARS,
1332
+ REGEX_SPECIAL_CHARS_GLOBAL
1333
+ } = require_constants2();
1334
+ exports.isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
1335
+ exports.hasRegexChars = (str) => REGEX_SPECIAL_CHARS.test(str);
1336
+ exports.isRegexChar = (str) => str.length === 1 && exports.hasRegexChars(str);
1337
+ exports.escapeRegex = (str) => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, "\\$1");
1338
+ exports.toPosixSlashes = (str) => str.replace(REGEX_BACKSLASH, "/");
1339
+ exports.removeBackslashes = (str) => {
1340
+ return str.replace(REGEX_REMOVE_BACKSLASH, (match2) => {
1341
+ return match2 === "\\" ? "" : match2;
1342
+ });
1343
+ };
1344
+ exports.supportsLookbehinds = () => {
1345
+ const segs = process.version.slice(1).split(".").map(Number);
1346
+ if (segs.length === 3 && segs[0] >= 9 || segs[0] === 8 && segs[1] >= 10) {
1347
+ return true;
1348
+ }
1349
+ return false;
1350
+ };
1351
+ exports.isWindows = (options) => {
1352
+ if (options && typeof options.windows === "boolean") {
1353
+ return options.windows;
1354
+ }
1355
+ return win32 === true || path.sep === "\\";
1356
+ };
1357
+ exports.escapeLast = (input, char, lastIdx) => {
1358
+ const idx = input.lastIndexOf(char, lastIdx);
1359
+ if (idx === -1) return input;
1360
+ if (input[idx - 1] === "\\") return exports.escapeLast(input, char, idx - 1);
1361
+ return `${input.slice(0, idx)}\\${input.slice(idx)}`;
1362
+ };
1363
+ exports.removePrefix = (input, state = {}) => {
1364
+ let output = input;
1365
+ if (output.startsWith("./")) {
1366
+ output = output.slice(2);
1367
+ state.prefix = "./";
1368
+ }
1369
+ return output;
1370
+ };
1371
+ exports.wrapOutput = (input, state = {}, options = {}) => {
1372
+ const prepend = options.contains ? "" : "^";
1373
+ const append = options.contains ? "" : "$";
1374
+ let output = `${prepend}(?:${input})${append}`;
1375
+ if (state.negated === true) {
1376
+ output = `(?:^(?!${output}).*$)`;
1377
+ }
1378
+ return output;
1379
+ };
1380
+ }
1381
+ });
1382
+
1383
+ // ../../node_modules/picomatch/lib/scan.js
1384
+ var require_scan = __commonJS({
1385
+ "../../node_modules/picomatch/lib/scan.js"(exports, module) {
1386
+ "use strict";
1387
+ var utils = require_utils2();
1388
+ var {
1389
+ CHAR_ASTERISK,
1390
+ /* * */
1391
+ CHAR_AT,
1392
+ /* @ */
1393
+ CHAR_BACKWARD_SLASH,
1394
+ /* \ */
1395
+ CHAR_COMMA,
1396
+ /* , */
1397
+ CHAR_DOT,
1398
+ /* . */
1399
+ CHAR_EXCLAMATION_MARK,
1400
+ /* ! */
1401
+ CHAR_FORWARD_SLASH,
1402
+ /* / */
1403
+ CHAR_LEFT_CURLY_BRACE,
1404
+ /* { */
1405
+ CHAR_LEFT_PARENTHESES,
1406
+ /* ( */
1407
+ CHAR_LEFT_SQUARE_BRACKET,
1408
+ /* [ */
1409
+ CHAR_PLUS,
1410
+ /* + */
1411
+ CHAR_QUESTION_MARK,
1412
+ /* ? */
1413
+ CHAR_RIGHT_CURLY_BRACE,
1414
+ /* } */
1415
+ CHAR_RIGHT_PARENTHESES,
1416
+ /* ) */
1417
+ CHAR_RIGHT_SQUARE_BRACKET
1418
+ /* ] */
1419
+ } = require_constants2();
1420
+ var isPathSeparator = /* @__PURE__ */ __name((code) => {
1421
+ return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH;
1422
+ }, "isPathSeparator");
1423
+ var depth = /* @__PURE__ */ __name((token) => {
1424
+ if (token.isPrefix !== true) {
1425
+ token.depth = token.isGlobstar ? Infinity : 1;
1426
+ }
1427
+ }, "depth");
1428
+ var scan = /* @__PURE__ */ __name((input, options) => {
1429
+ const opts = options || {};
1430
+ const length = input.length - 1;
1431
+ const scanToEnd = opts.parts === true || opts.scanToEnd === true;
1432
+ const slashes = [];
1433
+ const tokens = [];
1434
+ const parts = [];
1435
+ let str = input;
1436
+ let index = -1;
1437
+ let start = 0;
1438
+ let lastIndex = 0;
1439
+ let isBrace = false;
1440
+ let isBracket = false;
1441
+ let isGlob = false;
1442
+ let isExtglob = false;
1443
+ let isGlobstar = false;
1444
+ let braceEscaped = false;
1445
+ let backslashes = false;
1446
+ let negated = false;
1447
+ let negatedExtglob = false;
1448
+ let finished = false;
1449
+ let braces = 0;
1450
+ let prev;
1451
+ let code;
1452
+ let token = { value: "", depth: 0, isGlob: false };
1453
+ const eos = /* @__PURE__ */ __name(() => index >= length, "eos");
1454
+ const peek = /* @__PURE__ */ __name(() => str.charCodeAt(index + 1), "peek");
1455
+ const advance = /* @__PURE__ */ __name(() => {
1456
+ prev = code;
1457
+ return str.charCodeAt(++index);
1458
+ }, "advance");
1459
+ while (index < length) {
1460
+ code = advance();
1461
+ let next;
1462
+ if (code === CHAR_BACKWARD_SLASH) {
1463
+ backslashes = token.backslashes = true;
1464
+ code = advance();
1465
+ if (code === CHAR_LEFT_CURLY_BRACE) {
1466
+ braceEscaped = true;
1467
+ }
1468
+ continue;
1469
+ }
1470
+ if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) {
1471
+ braces++;
1472
+ while (eos() !== true && (code = advance())) {
1473
+ if (code === CHAR_BACKWARD_SLASH) {
1474
+ backslashes = token.backslashes = true;
1475
+ advance();
1476
+ continue;
1477
+ }
1478
+ if (code === CHAR_LEFT_CURLY_BRACE) {
1479
+ braces++;
1480
+ continue;
1481
+ }
1482
+ if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) {
1483
+ isBrace = token.isBrace = true;
1484
+ isGlob = token.isGlob = true;
1485
+ finished = true;
1486
+ if (scanToEnd === true) {
1487
+ continue;
1488
+ }
1489
+ break;
1490
+ }
1491
+ if (braceEscaped !== true && code === CHAR_COMMA) {
1492
+ isBrace = token.isBrace = true;
1493
+ isGlob = token.isGlob = true;
1494
+ finished = true;
1495
+ if (scanToEnd === true) {
1496
+ continue;
1497
+ }
1498
+ break;
1499
+ }
1500
+ if (code === CHAR_RIGHT_CURLY_BRACE) {
1501
+ braces--;
1502
+ if (braces === 0) {
1503
+ braceEscaped = false;
1504
+ isBrace = token.isBrace = true;
1505
+ finished = true;
1506
+ break;
1507
+ }
1508
+ }
1509
+ }
1510
+ if (scanToEnd === true) {
1511
+ continue;
1512
+ }
1513
+ break;
1514
+ }
1515
+ if (code === CHAR_FORWARD_SLASH) {
1516
+ slashes.push(index);
1517
+ tokens.push(token);
1518
+ token = { value: "", depth: 0, isGlob: false };
1519
+ if (finished === true) continue;
1520
+ if (prev === CHAR_DOT && index === start + 1) {
1521
+ start += 2;
1522
+ continue;
1523
+ }
1524
+ lastIndex = index + 1;
1525
+ continue;
1526
+ }
1527
+ if (opts.noext !== true) {
1528
+ const isExtglobChar = code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK;
1529
+ if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) {
1530
+ isGlob = token.isGlob = true;
1531
+ isExtglob = token.isExtglob = true;
1532
+ finished = true;
1533
+ if (code === CHAR_EXCLAMATION_MARK && index === start) {
1534
+ negatedExtglob = true;
1535
+ }
1536
+ if (scanToEnd === true) {
1537
+ while (eos() !== true && (code = advance())) {
1538
+ if (code === CHAR_BACKWARD_SLASH) {
1539
+ backslashes = token.backslashes = true;
1540
+ code = advance();
1541
+ continue;
1542
+ }
1543
+ if (code === CHAR_RIGHT_PARENTHESES) {
1544
+ isGlob = token.isGlob = true;
1545
+ finished = true;
1546
+ break;
1547
+ }
1548
+ }
1549
+ continue;
1550
+ }
1551
+ break;
1552
+ }
1553
+ }
1554
+ if (code === CHAR_ASTERISK) {
1555
+ if (prev === CHAR_ASTERISK) isGlobstar = token.isGlobstar = true;
1556
+ isGlob = token.isGlob = true;
1557
+ finished = true;
1558
+ if (scanToEnd === true) {
1559
+ continue;
1560
+ }
1561
+ break;
1562
+ }
1563
+ if (code === CHAR_QUESTION_MARK) {
1564
+ isGlob = token.isGlob = true;
1565
+ finished = true;
1566
+ if (scanToEnd === true) {
1567
+ continue;
1568
+ }
1569
+ break;
1570
+ }
1571
+ if (code === CHAR_LEFT_SQUARE_BRACKET) {
1572
+ while (eos() !== true && (next = advance())) {
1573
+ if (next === CHAR_BACKWARD_SLASH) {
1574
+ backslashes = token.backslashes = true;
1575
+ advance();
1576
+ continue;
1577
+ }
1578
+ if (next === CHAR_RIGHT_SQUARE_BRACKET) {
1579
+ isBracket = token.isBracket = true;
1580
+ isGlob = token.isGlob = true;
1581
+ finished = true;
1582
+ break;
1583
+ }
1584
+ }
1585
+ if (scanToEnd === true) {
1586
+ continue;
1587
+ }
1588
+ break;
1589
+ }
1590
+ if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) {
1591
+ negated = token.negated = true;
1592
+ start++;
1593
+ continue;
1594
+ }
1595
+ if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) {
1596
+ isGlob = token.isGlob = true;
1597
+ if (scanToEnd === true) {
1598
+ while (eos() !== true && (code = advance())) {
1599
+ if (code === CHAR_LEFT_PARENTHESES) {
1600
+ backslashes = token.backslashes = true;
1601
+ code = advance();
1602
+ continue;
1603
+ }
1604
+ if (code === CHAR_RIGHT_PARENTHESES) {
1605
+ finished = true;
1606
+ break;
1607
+ }
1608
+ }
1609
+ continue;
1610
+ }
1611
+ break;
1612
+ }
1613
+ if (isGlob === true) {
1614
+ finished = true;
1615
+ if (scanToEnd === true) {
1616
+ continue;
1617
+ }
1618
+ break;
1619
+ }
1620
+ }
1621
+ if (opts.noext === true) {
1622
+ isExtglob = false;
1623
+ isGlob = false;
1624
+ }
1625
+ let base = str;
1626
+ let prefix = "";
1627
+ let glob = "";
1628
+ if (start > 0) {
1629
+ prefix = str.slice(0, start);
1630
+ str = str.slice(start);
1631
+ lastIndex -= start;
1632
+ }
1633
+ if (base && isGlob === true && lastIndex > 0) {
1634
+ base = str.slice(0, lastIndex);
1635
+ glob = str.slice(lastIndex);
1636
+ } else if (isGlob === true) {
1637
+ base = "";
1638
+ glob = str;
1639
+ } else {
1640
+ base = str;
1641
+ }
1642
+ if (base && base !== "" && base !== "/" && base !== str) {
1643
+ if (isPathSeparator(base.charCodeAt(base.length - 1))) {
1644
+ base = base.slice(0, -1);
1645
+ }
1646
+ }
1647
+ if (opts.unescape === true) {
1648
+ if (glob) glob = utils.removeBackslashes(glob);
1649
+ if (base && backslashes === true) {
1650
+ base = utils.removeBackslashes(base);
1651
+ }
1652
+ }
1653
+ const state = {
1654
+ prefix,
1655
+ input,
1656
+ start,
1657
+ base,
1658
+ glob,
1659
+ isBrace,
1660
+ isBracket,
1661
+ isGlob,
1662
+ isExtglob,
1663
+ isGlobstar,
1664
+ negated,
1665
+ negatedExtglob
1666
+ };
1667
+ if (opts.tokens === true) {
1668
+ state.maxDepth = 0;
1669
+ if (!isPathSeparator(code)) {
1670
+ tokens.push(token);
1671
+ }
1672
+ state.tokens = tokens;
1673
+ }
1674
+ if (opts.parts === true || opts.tokens === true) {
1675
+ let prevIndex;
1676
+ for (let idx = 0; idx < slashes.length; idx++) {
1677
+ const n = prevIndex ? prevIndex + 1 : start;
1678
+ const i = slashes[idx];
1679
+ const value = input.slice(n, i);
1680
+ if (opts.tokens) {
1681
+ if (idx === 0 && start !== 0) {
1682
+ tokens[idx].isPrefix = true;
1683
+ tokens[idx].value = prefix;
1684
+ } else {
1685
+ tokens[idx].value = value;
1686
+ }
1687
+ depth(tokens[idx]);
1688
+ state.maxDepth += tokens[idx].depth;
1689
+ }
1690
+ if (idx !== 0 || value !== "") {
1691
+ parts.push(value);
1692
+ }
1693
+ prevIndex = i;
1694
+ }
1695
+ if (prevIndex && prevIndex + 1 < input.length) {
1696
+ const value = input.slice(prevIndex + 1);
1697
+ parts.push(value);
1698
+ if (opts.tokens) {
1699
+ tokens[tokens.length - 1].value = value;
1700
+ depth(tokens[tokens.length - 1]);
1701
+ state.maxDepth += tokens[tokens.length - 1].depth;
1702
+ }
1703
+ }
1704
+ state.slashes = slashes;
1705
+ state.parts = parts;
1706
+ }
1707
+ return state;
1708
+ }, "scan");
1709
+ module.exports = scan;
1710
+ }
1711
+ });
1712
+
1713
+ // ../../node_modules/picomatch/lib/parse.js
1714
+ var require_parse2 = __commonJS({
1715
+ "../../node_modules/picomatch/lib/parse.js"(exports, module) {
1716
+ "use strict";
1717
+ var constants = require_constants2();
1718
+ var utils = require_utils2();
1719
+ var {
1720
+ MAX_LENGTH,
1721
+ POSIX_REGEX_SOURCE,
1722
+ REGEX_NON_SPECIAL_CHARS,
1723
+ REGEX_SPECIAL_CHARS_BACKREF,
1724
+ REPLACEMENTS
1725
+ } = constants;
1726
+ var expandRange = /* @__PURE__ */ __name((args, options) => {
1727
+ if (typeof options.expandRange === "function") {
1728
+ return options.expandRange(...args, options);
1729
+ }
1730
+ args.sort();
1731
+ const value = `[${args.join("-")}]`;
1732
+ try {
1733
+ new RegExp(value);
1734
+ } catch (ex) {
1735
+ return args.map((v) => utils.escapeRegex(v)).join("..");
1736
+ }
1737
+ return value;
1738
+ }, "expandRange");
1739
+ var syntaxError = /* @__PURE__ */ __name((type, char) => {
1740
+ return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`;
1741
+ }, "syntaxError");
1742
+ var parse = /* @__PURE__ */ __name((input, options) => {
1743
+ if (typeof input !== "string") {
1744
+ throw new TypeError("Expected a string");
1745
+ }
1746
+ input = REPLACEMENTS[input] || input;
1747
+ const opts = { ...options };
1748
+ const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
1749
+ let len = input.length;
1750
+ if (len > max) {
1751
+ throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
1752
+ }
1753
+ const bos = { type: "bos", value: "", output: opts.prepend || "" };
1754
+ const tokens = [bos];
1755
+ const capture = opts.capture ? "" : "?:";
1756
+ const win32 = utils.isWindows(options);
1757
+ const PLATFORM_CHARS = constants.globChars(win32);
1758
+ const EXTGLOB_CHARS = constants.extglobChars(PLATFORM_CHARS);
1759
+ const {
1760
+ DOT_LITERAL,
1761
+ PLUS_LITERAL,
1762
+ SLASH_LITERAL,
1763
+ ONE_CHAR,
1764
+ DOTS_SLASH,
1765
+ NO_DOT,
1766
+ NO_DOT_SLASH,
1767
+ NO_DOTS_SLASH,
1768
+ QMARK,
1769
+ QMARK_NO_DOT,
1770
+ STAR,
1771
+ START_ANCHOR
1772
+ } = PLATFORM_CHARS;
1773
+ const globstar = /* @__PURE__ */ __name((opts2) => {
1774
+ return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
1775
+ }, "globstar");
1776
+ const nodot = opts.dot ? "" : NO_DOT;
1777
+ const qmarkNoDot = opts.dot ? QMARK : QMARK_NO_DOT;
1778
+ let star = opts.bash === true ? globstar(opts) : STAR;
1779
+ if (opts.capture) {
1780
+ star = `(${star})`;
1781
+ }
1782
+ if (typeof opts.noext === "boolean") {
1783
+ opts.noextglob = opts.noext;
1784
+ }
1785
+ const state = {
1786
+ input,
1787
+ index: -1,
1788
+ start: 0,
1789
+ dot: opts.dot === true,
1790
+ consumed: "",
1791
+ output: "",
1792
+ prefix: "",
1793
+ backtrack: false,
1794
+ negated: false,
1795
+ brackets: 0,
1796
+ braces: 0,
1797
+ parens: 0,
1798
+ quotes: 0,
1799
+ globstar: false,
1800
+ tokens
1801
+ };
1802
+ input = utils.removePrefix(input, state);
1803
+ len = input.length;
1804
+ const extglobs = [];
1805
+ const braces = [];
1806
+ const stack = [];
1807
+ let prev = bos;
1808
+ let value;
1809
+ const eos = /* @__PURE__ */ __name(() => state.index === len - 1, "eos");
1810
+ const peek = state.peek = (n = 1) => input[state.index + n];
1811
+ const advance = state.advance = () => input[++state.index] || "";
1812
+ const remaining = /* @__PURE__ */ __name(() => input.slice(state.index + 1), "remaining");
1813
+ const consume = /* @__PURE__ */ __name((value2 = "", num = 0) => {
1814
+ state.consumed += value2;
1815
+ state.index += num;
1816
+ }, "consume");
1817
+ const append = /* @__PURE__ */ __name((token) => {
1818
+ state.output += token.output != null ? token.output : token.value;
1819
+ consume(token.value);
1820
+ }, "append");
1821
+ const negate = /* @__PURE__ */ __name(() => {
1822
+ let count = 1;
1823
+ while (peek() === "!" && (peek(2) !== "(" || peek(3) === "?")) {
1824
+ advance();
1825
+ state.start++;
1826
+ count++;
1827
+ }
1828
+ if (count % 2 === 0) {
1829
+ return false;
1830
+ }
1831
+ state.negated = true;
1832
+ state.start++;
1833
+ return true;
1834
+ }, "negate");
1835
+ const increment = /* @__PURE__ */ __name((type) => {
1836
+ state[type]++;
1837
+ stack.push(type);
1838
+ }, "increment");
1839
+ const decrement = /* @__PURE__ */ __name((type) => {
1840
+ state[type]--;
1841
+ stack.pop();
1842
+ }, "decrement");
1843
+ const push = /* @__PURE__ */ __name((tok) => {
1844
+ if (prev.type === "globstar") {
1845
+ const isBrace = state.braces > 0 && (tok.type === "comma" || tok.type === "brace");
1846
+ const isExtglob = tok.extglob === true || extglobs.length && (tok.type === "pipe" || tok.type === "paren");
1847
+ if (tok.type !== "slash" && tok.type !== "paren" && !isBrace && !isExtglob) {
1848
+ state.output = state.output.slice(0, -prev.output.length);
1849
+ prev.type = "star";
1850
+ prev.value = "*";
1851
+ prev.output = star;
1852
+ state.output += prev.output;
1853
+ }
1854
+ }
1855
+ if (extglobs.length && tok.type !== "paren") {
1856
+ extglobs[extglobs.length - 1].inner += tok.value;
1857
+ }
1858
+ if (tok.value || tok.output) append(tok);
1859
+ if (prev && prev.type === "text" && tok.type === "text") {
1860
+ prev.value += tok.value;
1861
+ prev.output = (prev.output || "") + tok.value;
1862
+ return;
1863
+ }
1864
+ tok.prev = prev;
1865
+ tokens.push(tok);
1866
+ prev = tok;
1867
+ }, "push");
1868
+ const extglobOpen = /* @__PURE__ */ __name((type, value2) => {
1869
+ const token = { ...EXTGLOB_CHARS[value2], conditions: 1, inner: "" };
1870
+ token.prev = prev;
1871
+ token.parens = state.parens;
1872
+ token.output = state.output;
1873
+ const output = (opts.capture ? "(" : "") + token.open;
1874
+ increment("parens");
1875
+ push({ type, value: value2, output: state.output ? "" : ONE_CHAR });
1876
+ push({ type: "paren", extglob: true, value: advance(), output });
1877
+ extglobs.push(token);
1878
+ }, "extglobOpen");
1879
+ const extglobClose = /* @__PURE__ */ __name((token) => {
1880
+ let output = token.close + (opts.capture ? ")" : "");
1881
+ let rest;
1882
+ if (token.type === "negate") {
1883
+ let extglobStar = star;
1884
+ if (token.inner && token.inner.length > 1 && token.inner.includes("/")) {
1885
+ extglobStar = globstar(opts);
1886
+ }
1887
+ if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) {
1888
+ output = token.close = `)$))${extglobStar}`;
1889
+ }
1890
+ if (token.inner.includes("*") && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) {
1891
+ const expression = parse(rest, { ...options, fastpaths: false }).output;
1892
+ output = token.close = `)${expression})${extglobStar})`;
1893
+ }
1894
+ if (token.prev.type === "bos") {
1895
+ state.negatedExtglob = true;
1896
+ }
1897
+ }
1898
+ push({ type: "paren", extglob: true, value, output });
1899
+ decrement("parens");
1900
+ }, "extglobClose");
1901
+ if (opts.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) {
1902
+ let backslashes = false;
1903
+ let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => {
1904
+ if (first === "\\") {
1905
+ backslashes = true;
1906
+ return m;
1907
+ }
1908
+ if (first === "?") {
1909
+ if (esc) {
1910
+ return esc + first + (rest ? QMARK.repeat(rest.length) : "");
1911
+ }
1912
+ if (index === 0) {
1913
+ return qmarkNoDot + (rest ? QMARK.repeat(rest.length) : "");
1914
+ }
1915
+ return QMARK.repeat(chars.length);
1916
+ }
1917
+ if (first === ".") {
1918
+ return DOT_LITERAL.repeat(chars.length);
1919
+ }
1920
+ if (first === "*") {
1921
+ if (esc) {
1922
+ return esc + first + (rest ? star : "");
1923
+ }
1924
+ return star;
1925
+ }
1926
+ return esc ? m : `\\${m}`;
1927
+ });
1928
+ if (backslashes === true) {
1929
+ if (opts.unescape === true) {
1930
+ output = output.replace(/\\/g, "");
1931
+ } else {
1932
+ output = output.replace(/\\+/g, (m) => {
1933
+ return m.length % 2 === 0 ? "\\\\" : m ? "\\" : "";
1934
+ });
1935
+ }
1936
+ }
1937
+ if (output === input && opts.contains === true) {
1938
+ state.output = input;
1939
+ return state;
1940
+ }
1941
+ state.output = utils.wrapOutput(output, state, options);
1942
+ return state;
1943
+ }
1944
+ while (!eos()) {
1945
+ value = advance();
1946
+ if (value === "\0") {
1947
+ continue;
1948
+ }
1949
+ if (value === "\\") {
1950
+ const next = peek();
1951
+ if (next === "/" && opts.bash !== true) {
1952
+ continue;
1953
+ }
1954
+ if (next === "." || next === ";") {
1955
+ continue;
1956
+ }
1957
+ if (!next) {
1958
+ value += "\\";
1959
+ push({ type: "text", value });
1960
+ continue;
1961
+ }
1962
+ const match2 = /^\\+/.exec(remaining());
1963
+ let slashes = 0;
1964
+ if (match2 && match2[0].length > 2) {
1965
+ slashes = match2[0].length;
1966
+ state.index += slashes;
1967
+ if (slashes % 2 !== 0) {
1968
+ value += "\\";
1969
+ }
1970
+ }
1971
+ if (opts.unescape === true) {
1972
+ value = advance();
1973
+ } else {
1974
+ value += advance();
1975
+ }
1976
+ if (state.brackets === 0) {
1977
+ push({ type: "text", value });
1978
+ continue;
1979
+ }
1980
+ }
1981
+ if (state.brackets > 0 && (value !== "]" || prev.value === "[" || prev.value === "[^")) {
1982
+ if (opts.posix !== false && value === ":") {
1983
+ const inner = prev.value.slice(1);
1984
+ if (inner.includes("[")) {
1985
+ prev.posix = true;
1986
+ if (inner.includes(":")) {
1987
+ const idx = prev.value.lastIndexOf("[");
1988
+ const pre = prev.value.slice(0, idx);
1989
+ const rest2 = prev.value.slice(idx + 2);
1990
+ const posix = POSIX_REGEX_SOURCE[rest2];
1991
+ if (posix) {
1992
+ prev.value = pre + posix;
1993
+ state.backtrack = true;
1994
+ advance();
1995
+ if (!bos.output && tokens.indexOf(prev) === 1) {
1996
+ bos.output = ONE_CHAR;
1997
+ }
1998
+ continue;
1999
+ }
2000
+ }
2001
+ }
2002
+ }
2003
+ if (value === "[" && peek() !== ":" || value === "-" && peek() === "]") {
2004
+ value = `\\${value}`;
2005
+ }
2006
+ if (value === "]" && (prev.value === "[" || prev.value === "[^")) {
2007
+ value = `\\${value}`;
2008
+ }
2009
+ if (opts.posix === true && value === "!" && prev.value === "[") {
2010
+ value = "^";
2011
+ }
2012
+ prev.value += value;
2013
+ append({ value });
2014
+ continue;
2015
+ }
2016
+ if (state.quotes === 1 && value !== '"') {
2017
+ value = utils.escapeRegex(value);
2018
+ prev.value += value;
2019
+ append({ value });
2020
+ continue;
2021
+ }
2022
+ if (value === '"') {
2023
+ state.quotes = state.quotes === 1 ? 0 : 1;
2024
+ if (opts.keepQuotes === true) {
2025
+ push({ type: "text", value });
2026
+ }
2027
+ continue;
2028
+ }
2029
+ if (value === "(") {
2030
+ increment("parens");
2031
+ push({ type: "paren", value });
2032
+ continue;
2033
+ }
2034
+ if (value === ")") {
2035
+ if (state.parens === 0 && opts.strictBrackets === true) {
2036
+ throw new SyntaxError(syntaxError("opening", "("));
2037
+ }
2038
+ const extglob = extglobs[extglobs.length - 1];
2039
+ if (extglob && state.parens === extglob.parens + 1) {
2040
+ extglobClose(extglobs.pop());
2041
+ continue;
2042
+ }
2043
+ push({ type: "paren", value, output: state.parens ? ")" : "\\)" });
2044
+ decrement("parens");
2045
+ continue;
2046
+ }
2047
+ if (value === "[") {
2048
+ if (opts.nobracket === true || !remaining().includes("]")) {
2049
+ if (opts.nobracket !== true && opts.strictBrackets === true) {
2050
+ throw new SyntaxError(syntaxError("closing", "]"));
2051
+ }
2052
+ value = `\\${value}`;
2053
+ } else {
2054
+ increment("brackets");
2055
+ }
2056
+ push({ type: "bracket", value });
2057
+ continue;
2058
+ }
2059
+ if (value === "]") {
2060
+ if (opts.nobracket === true || prev && prev.type === "bracket" && prev.value.length === 1) {
2061
+ push({ type: "text", value, output: `\\${value}` });
2062
+ continue;
2063
+ }
2064
+ if (state.brackets === 0) {
2065
+ if (opts.strictBrackets === true) {
2066
+ throw new SyntaxError(syntaxError("opening", "["));
2067
+ }
2068
+ push({ type: "text", value, output: `\\${value}` });
2069
+ continue;
2070
+ }
2071
+ decrement("brackets");
2072
+ const prevValue = prev.value.slice(1);
2073
+ if (prev.posix !== true && prevValue[0] === "^" && !prevValue.includes("/")) {
2074
+ value = `/${value}`;
2075
+ }
2076
+ prev.value += value;
2077
+ append({ value });
2078
+ if (opts.literalBrackets === false || utils.hasRegexChars(prevValue)) {
2079
+ continue;
2080
+ }
2081
+ const escaped = utils.escapeRegex(prev.value);
2082
+ state.output = state.output.slice(0, -prev.value.length);
2083
+ if (opts.literalBrackets === true) {
2084
+ state.output += escaped;
2085
+ prev.value = escaped;
2086
+ continue;
2087
+ }
2088
+ prev.value = `(${capture}${escaped}|${prev.value})`;
2089
+ state.output += prev.value;
2090
+ continue;
2091
+ }
2092
+ if (value === "{" && opts.nobrace !== true) {
2093
+ increment("braces");
2094
+ const open = {
2095
+ type: "brace",
2096
+ value,
2097
+ output: "(",
2098
+ outputIndex: state.output.length,
2099
+ tokensIndex: state.tokens.length
2100
+ };
2101
+ braces.push(open);
2102
+ push(open);
2103
+ continue;
2104
+ }
2105
+ if (value === "}") {
2106
+ const brace = braces[braces.length - 1];
2107
+ if (opts.nobrace === true || !brace) {
2108
+ push({ type: "text", value, output: value });
2109
+ continue;
2110
+ }
2111
+ let output = ")";
2112
+ if (brace.dots === true) {
2113
+ const arr = tokens.slice();
2114
+ const range = [];
2115
+ for (let i = arr.length - 1; i >= 0; i--) {
2116
+ tokens.pop();
2117
+ if (arr[i].type === "brace") {
2118
+ break;
2119
+ }
2120
+ if (arr[i].type !== "dots") {
2121
+ range.unshift(arr[i].value);
2122
+ }
2123
+ }
2124
+ output = expandRange(range, opts);
2125
+ state.backtrack = true;
2126
+ }
2127
+ if (brace.comma !== true && brace.dots !== true) {
2128
+ const out = state.output.slice(0, brace.outputIndex);
2129
+ const toks = state.tokens.slice(brace.tokensIndex);
2130
+ brace.value = brace.output = "\\{";
2131
+ value = output = "\\}";
2132
+ state.output = out;
2133
+ for (const t of toks) {
2134
+ state.output += t.output || t.value;
2135
+ }
2136
+ }
2137
+ push({ type: "brace", value, output });
2138
+ decrement("braces");
2139
+ braces.pop();
2140
+ continue;
2141
+ }
2142
+ if (value === "|") {
2143
+ if (extglobs.length > 0) {
2144
+ extglobs[extglobs.length - 1].conditions++;
2145
+ }
2146
+ push({ type: "text", value });
2147
+ continue;
2148
+ }
2149
+ if (value === ",") {
2150
+ let output = value;
2151
+ const brace = braces[braces.length - 1];
2152
+ if (brace && stack[stack.length - 1] === "braces") {
2153
+ brace.comma = true;
2154
+ output = "|";
2155
+ }
2156
+ push({ type: "comma", value, output });
2157
+ continue;
2158
+ }
2159
+ if (value === "/") {
2160
+ if (prev.type === "dot" && state.index === state.start + 1) {
2161
+ state.start = state.index + 1;
2162
+ state.consumed = "";
2163
+ state.output = "";
2164
+ tokens.pop();
2165
+ prev = bos;
2166
+ continue;
2167
+ }
2168
+ push({ type: "slash", value, output: SLASH_LITERAL });
2169
+ continue;
2170
+ }
2171
+ if (value === ".") {
2172
+ if (state.braces > 0 && prev.type === "dot") {
2173
+ if (prev.value === ".") prev.output = DOT_LITERAL;
2174
+ const brace = braces[braces.length - 1];
2175
+ prev.type = "dots";
2176
+ prev.output += value;
2177
+ prev.value += value;
2178
+ brace.dots = true;
2179
+ continue;
2180
+ }
2181
+ if (state.braces + state.parens === 0 && prev.type !== "bos" && prev.type !== "slash") {
2182
+ push({ type: "text", value, output: DOT_LITERAL });
2183
+ continue;
2184
+ }
2185
+ push({ type: "dot", value, output: DOT_LITERAL });
2186
+ continue;
2187
+ }
2188
+ if (value === "?") {
2189
+ const isGroup = prev && prev.value === "(";
2190
+ if (!isGroup && opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
2191
+ extglobOpen("qmark", value);
2192
+ continue;
2193
+ }
2194
+ if (prev && prev.type === "paren") {
2195
+ const next = peek();
2196
+ let output = value;
2197
+ if (next === "<" && !utils.supportsLookbehinds()) {
2198
+ throw new Error("Node.js v10 or higher is required for regex lookbehinds");
2199
+ }
2200
+ if (prev.value === "(" && !/[!=<:]/.test(next) || next === "<" && !/<([!=]|\w+>)/.test(remaining())) {
2201
+ output = `\\${value}`;
2202
+ }
2203
+ push({ type: "text", value, output });
2204
+ continue;
2205
+ }
2206
+ if (opts.dot !== true && (prev.type === "slash" || prev.type === "bos")) {
2207
+ push({ type: "qmark", value, output: QMARK_NO_DOT });
2208
+ continue;
2209
+ }
2210
+ push({ type: "qmark", value, output: QMARK });
2211
+ continue;
2212
+ }
2213
+ if (value === "!") {
2214
+ if (opts.noextglob !== true && peek() === "(") {
2215
+ if (peek(2) !== "?" || !/[!=<:]/.test(peek(3))) {
2216
+ extglobOpen("negate", value);
2217
+ continue;
2218
+ }
2219
+ }
2220
+ if (opts.nonegate !== true && state.index === 0) {
2221
+ negate();
2222
+ continue;
2223
+ }
2224
+ }
2225
+ if (value === "+") {
2226
+ if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
2227
+ extglobOpen("plus", value);
2228
+ continue;
2229
+ }
2230
+ if (prev && prev.value === "(" || opts.regex === false) {
2231
+ push({ type: "plus", value, output: PLUS_LITERAL });
2232
+ continue;
2233
+ }
2234
+ if (prev && (prev.type === "bracket" || prev.type === "paren" || prev.type === "brace") || state.parens > 0) {
2235
+ push({ type: "plus", value });
2236
+ continue;
2237
+ }
2238
+ push({ type: "plus", value: PLUS_LITERAL });
2239
+ continue;
2240
+ }
2241
+ if (value === "@") {
2242
+ if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") {
2243
+ push({ type: "at", extglob: true, value, output: "" });
2244
+ continue;
2245
+ }
2246
+ push({ type: "text", value });
2247
+ continue;
2248
+ }
2249
+ if (value !== "*") {
2250
+ if (value === "$" || value === "^") {
2251
+ value = `\\${value}`;
2252
+ }
2253
+ const match2 = REGEX_NON_SPECIAL_CHARS.exec(remaining());
2254
+ if (match2) {
2255
+ value += match2[0];
2256
+ state.index += match2[0].length;
2257
+ }
2258
+ push({ type: "text", value });
2259
+ continue;
2260
+ }
2261
+ if (prev && (prev.type === "globstar" || prev.star === true)) {
2262
+ prev.type = "star";
2263
+ prev.star = true;
2264
+ prev.value += value;
2265
+ prev.output = star;
2266
+ state.backtrack = true;
2267
+ state.globstar = true;
2268
+ consume(value);
2269
+ continue;
2270
+ }
2271
+ let rest = remaining();
2272
+ if (opts.noextglob !== true && /^\([^?]/.test(rest)) {
2273
+ extglobOpen("star", value);
2274
+ continue;
2275
+ }
2276
+ if (prev.type === "star") {
2277
+ if (opts.noglobstar === true) {
2278
+ consume(value);
2279
+ continue;
2280
+ }
2281
+ const prior = prev.prev;
2282
+ const before = prior.prev;
2283
+ const isStart = prior.type === "slash" || prior.type === "bos";
2284
+ const afterStar = before && (before.type === "star" || before.type === "globstar");
2285
+ if (opts.bash === true && (!isStart || rest[0] && rest[0] !== "/")) {
2286
+ push({ type: "star", value, output: "" });
2287
+ continue;
2288
+ }
2289
+ const isBrace = state.braces > 0 && (prior.type === "comma" || prior.type === "brace");
2290
+ const isExtglob = extglobs.length && (prior.type === "pipe" || prior.type === "paren");
2291
+ if (!isStart && prior.type !== "paren" && !isBrace && !isExtglob) {
2292
+ push({ type: "star", value, output: "" });
2293
+ continue;
2294
+ }
2295
+ while (rest.slice(0, 3) === "/**") {
2296
+ const after = input[state.index + 4];
2297
+ if (after && after !== "/") {
2298
+ break;
2299
+ }
2300
+ rest = rest.slice(3);
2301
+ consume("/**", 3);
2302
+ }
2303
+ if (prior.type === "bos" && eos()) {
2304
+ prev.type = "globstar";
2305
+ prev.value += value;
2306
+ prev.output = globstar(opts);
2307
+ state.output = prev.output;
2308
+ state.globstar = true;
2309
+ consume(value);
2310
+ continue;
2311
+ }
2312
+ if (prior.type === "slash" && prior.prev.type !== "bos" && !afterStar && eos()) {
2313
+ state.output = state.output.slice(0, -(prior.output + prev.output).length);
2314
+ prior.output = `(?:${prior.output}`;
2315
+ prev.type = "globstar";
2316
+ prev.output = globstar(opts) + (opts.strictSlashes ? ")" : "|$)");
2317
+ prev.value += value;
2318
+ state.globstar = true;
2319
+ state.output += prior.output + prev.output;
2320
+ consume(value);
2321
+ continue;
2322
+ }
2323
+ if (prior.type === "slash" && prior.prev.type !== "bos" && rest[0] === "/") {
2324
+ const end = rest[1] !== void 0 ? "|$" : "";
2325
+ state.output = state.output.slice(0, -(prior.output + prev.output).length);
2326
+ prior.output = `(?:${prior.output}`;
2327
+ prev.type = "globstar";
2328
+ prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`;
2329
+ prev.value += value;
2330
+ state.output += prior.output + prev.output;
2331
+ state.globstar = true;
2332
+ consume(value + advance());
2333
+ push({ type: "slash", value: "/", output: "" });
2334
+ continue;
2335
+ }
2336
+ if (prior.type === "bos" && rest[0] === "/") {
2337
+ prev.type = "globstar";
2338
+ prev.value += value;
2339
+ prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`;
2340
+ state.output = prev.output;
2341
+ state.globstar = true;
2342
+ consume(value + advance());
2343
+ push({ type: "slash", value: "/", output: "" });
2344
+ continue;
2345
+ }
2346
+ state.output = state.output.slice(0, -prev.output.length);
2347
+ prev.type = "globstar";
2348
+ prev.output = globstar(opts);
2349
+ prev.value += value;
2350
+ state.output += prev.output;
2351
+ state.globstar = true;
2352
+ consume(value);
2353
+ continue;
2354
+ }
2355
+ const token = { type: "star", value, output: star };
2356
+ if (opts.bash === true) {
2357
+ token.output = ".*?";
2358
+ if (prev.type === "bos" || prev.type === "slash") {
2359
+ token.output = nodot + token.output;
2360
+ }
2361
+ push(token);
2362
+ continue;
2363
+ }
2364
+ if (prev && (prev.type === "bracket" || prev.type === "paren") && opts.regex === true) {
2365
+ token.output = value;
2366
+ push(token);
2367
+ continue;
2368
+ }
2369
+ if (state.index === state.start || prev.type === "slash" || prev.type === "dot") {
2370
+ if (prev.type === "dot") {
2371
+ state.output += NO_DOT_SLASH;
2372
+ prev.output += NO_DOT_SLASH;
2373
+ } else if (opts.dot === true) {
2374
+ state.output += NO_DOTS_SLASH;
2375
+ prev.output += NO_DOTS_SLASH;
2376
+ } else {
2377
+ state.output += nodot;
2378
+ prev.output += nodot;
2379
+ }
2380
+ if (peek() !== "*") {
2381
+ state.output += ONE_CHAR;
2382
+ prev.output += ONE_CHAR;
2383
+ }
2384
+ }
2385
+ push(token);
2386
+ }
2387
+ while (state.brackets > 0) {
2388
+ if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", "]"));
2389
+ state.output = utils.escapeLast(state.output, "[");
2390
+ decrement("brackets");
2391
+ }
2392
+ while (state.parens > 0) {
2393
+ if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", ")"));
2394
+ state.output = utils.escapeLast(state.output, "(");
2395
+ decrement("parens");
2396
+ }
2397
+ while (state.braces > 0) {
2398
+ if (opts.strictBrackets === true) throw new SyntaxError(syntaxError("closing", "}"));
2399
+ state.output = utils.escapeLast(state.output, "{");
2400
+ decrement("braces");
2401
+ }
2402
+ if (opts.strictSlashes !== true && (prev.type === "star" || prev.type === "bracket")) {
2403
+ push({ type: "maybe_slash", value: "", output: `${SLASH_LITERAL}?` });
2404
+ }
2405
+ if (state.backtrack === true) {
2406
+ state.output = "";
2407
+ for (const token of state.tokens) {
2408
+ state.output += token.output != null ? token.output : token.value;
2409
+ if (token.suffix) {
2410
+ state.output += token.suffix;
2411
+ }
2412
+ }
2413
+ }
2414
+ return state;
2415
+ }, "parse");
2416
+ parse.fastpaths = (input, options) => {
2417
+ const opts = { ...options };
2418
+ const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
2419
+ const len = input.length;
2420
+ if (len > max) {
2421
+ throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`);
2422
+ }
2423
+ input = REPLACEMENTS[input] || input;
2424
+ const win32 = utils.isWindows(options);
2425
+ const {
2426
+ DOT_LITERAL,
2427
+ SLASH_LITERAL,
2428
+ ONE_CHAR,
2429
+ DOTS_SLASH,
2430
+ NO_DOT,
2431
+ NO_DOTS,
2432
+ NO_DOTS_SLASH,
2433
+ STAR,
2434
+ START_ANCHOR
2435
+ } = constants.globChars(win32);
2436
+ const nodot = opts.dot ? NO_DOTS : NO_DOT;
2437
+ const slashDot = opts.dot ? NO_DOTS_SLASH : NO_DOT;
2438
+ const capture = opts.capture ? "" : "?:";
2439
+ const state = { negated: false, prefix: "" };
2440
+ let star = opts.bash === true ? ".*?" : STAR;
2441
+ if (opts.capture) {
2442
+ star = `(${star})`;
2443
+ }
2444
+ const globstar = /* @__PURE__ */ __name((opts2) => {
2445
+ if (opts2.noglobstar === true) return star;
2446
+ return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`;
2447
+ }, "globstar");
2448
+ const create = /* @__PURE__ */ __name((str) => {
2449
+ switch (str) {
2450
+ case "*":
2451
+ return `${nodot}${ONE_CHAR}${star}`;
2452
+ case ".*":
2453
+ return `${DOT_LITERAL}${ONE_CHAR}${star}`;
2454
+ case "*.*":
2455
+ return `${nodot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
2456
+ case "*/*":
2457
+ return `${nodot}${star}${SLASH_LITERAL}${ONE_CHAR}${slashDot}${star}`;
2458
+ case "**":
2459
+ return nodot + globstar(opts);
2460
+ case "**/*":
2461
+ return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${ONE_CHAR}${star}`;
2462
+ case "**/*.*":
2463
+ return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`;
2464
+ case "**/.*":
2465
+ return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`;
2466
+ default: {
2467
+ const match2 = /^(.*?)\.(\w+)$/.exec(str);
2468
+ if (!match2) return;
2469
+ const source2 = create(match2[1]);
2470
+ if (!source2) return;
2471
+ return source2 + DOT_LITERAL + match2[2];
2472
+ }
2473
+ }
2474
+ }, "create");
2475
+ const output = utils.removePrefix(input, state);
2476
+ let source = create(output);
2477
+ if (source && opts.strictSlashes !== true) {
2478
+ source += `${SLASH_LITERAL}?`;
2479
+ }
2480
+ return source;
2481
+ };
2482
+ module.exports = parse;
2483
+ }
2484
+ });
2485
+
2486
+ // ../../node_modules/picomatch/lib/picomatch.js
2487
+ var require_picomatch = __commonJS({
2488
+ "../../node_modules/picomatch/lib/picomatch.js"(exports, module) {
2489
+ "use strict";
2490
+ var path = __require("path");
2491
+ var scan = require_scan();
2492
+ var parse = require_parse2();
2493
+ var utils = require_utils2();
2494
+ var constants = require_constants2();
2495
+ var isObject = /* @__PURE__ */ __name((val) => val && typeof val === "object" && !Array.isArray(val), "isObject");
2496
+ var picomatch = /* @__PURE__ */ __name((glob, options, returnState = false) => {
2497
+ if (Array.isArray(glob)) {
2498
+ const fns = glob.map((input) => picomatch(input, options, returnState));
2499
+ const arrayMatcher = /* @__PURE__ */ __name((str) => {
2500
+ for (const isMatch of fns) {
2501
+ const state2 = isMatch(str);
2502
+ if (state2) return state2;
2503
+ }
2504
+ return false;
2505
+ }, "arrayMatcher");
2506
+ return arrayMatcher;
2507
+ }
2508
+ const isState = isObject(glob) && glob.tokens && glob.input;
2509
+ if (glob === "" || typeof glob !== "string" && !isState) {
2510
+ throw new TypeError("Expected pattern to be a non-empty string");
2511
+ }
2512
+ const opts = options || {};
2513
+ const posix = utils.isWindows(options);
2514
+ const regex = isState ? picomatch.compileRe(glob, options) : picomatch.makeRe(glob, options, false, true);
2515
+ const state = regex.state;
2516
+ delete regex.state;
2517
+ let isIgnored = /* @__PURE__ */ __name(() => false, "isIgnored");
2518
+ if (opts.ignore) {
2519
+ const ignoreOpts = { ...options, ignore: null, onMatch: null, onResult: null };
2520
+ isIgnored = picomatch(opts.ignore, ignoreOpts, returnState);
2521
+ }
2522
+ const matcher = /* @__PURE__ */ __name((input, returnObject = false) => {
2523
+ const { isMatch, match: match2, output } = picomatch.test(input, regex, options, { glob, posix });
2524
+ const result = { glob, state, regex, posix, input, output, match: match2, isMatch };
2525
+ if (typeof opts.onResult === "function") {
2526
+ opts.onResult(result);
2527
+ }
2528
+ if (isMatch === false) {
2529
+ result.isMatch = false;
2530
+ return returnObject ? result : false;
2531
+ }
2532
+ if (isIgnored(input)) {
2533
+ if (typeof opts.onIgnore === "function") {
2534
+ opts.onIgnore(result);
2535
+ }
2536
+ result.isMatch = false;
2537
+ return returnObject ? result : false;
2538
+ }
2539
+ if (typeof opts.onMatch === "function") {
2540
+ opts.onMatch(result);
2541
+ }
2542
+ return returnObject ? result : true;
2543
+ }, "matcher");
2544
+ if (returnState) {
2545
+ matcher.state = state;
2546
+ }
2547
+ return matcher;
2548
+ }, "picomatch");
2549
+ picomatch.test = (input, regex, options, { glob, posix } = {}) => {
2550
+ if (typeof input !== "string") {
2551
+ throw new TypeError("Expected input to be a string");
2552
+ }
2553
+ if (input === "") {
2554
+ return { isMatch: false, output: "" };
2555
+ }
2556
+ const opts = options || {};
2557
+ const format = opts.format || (posix ? utils.toPosixSlashes : null);
2558
+ let match2 = input === glob;
2559
+ let output = match2 && format ? format(input) : input;
2560
+ if (match2 === false) {
2561
+ output = format ? format(input) : input;
2562
+ match2 = output === glob;
2563
+ }
2564
+ if (match2 === false || opts.capture === true) {
2565
+ if (opts.matchBase === true || opts.basename === true) {
2566
+ match2 = picomatch.matchBase(input, regex, options, posix);
2567
+ } else {
2568
+ match2 = regex.exec(output);
2569
+ }
2570
+ }
2571
+ return { isMatch: Boolean(match2), match: match2, output };
2572
+ };
2573
+ picomatch.matchBase = (input, glob, options, posix = utils.isWindows(options)) => {
2574
+ const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options);
2575
+ return regex.test(path.basename(input));
2576
+ };
2577
+ picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str);
2578
+ picomatch.parse = (pattern, options) => {
2579
+ if (Array.isArray(pattern)) return pattern.map((p) => picomatch.parse(p, options));
2580
+ return parse(pattern, { ...options, fastpaths: false });
2581
+ };
2582
+ picomatch.scan = (input, options) => scan(input, options);
2583
+ picomatch.compileRe = (state, options, returnOutput = false, returnState = false) => {
2584
+ if (returnOutput === true) {
2585
+ return state.output;
2586
+ }
2587
+ const opts = options || {};
2588
+ const prepend = opts.contains ? "" : "^";
2589
+ const append = opts.contains ? "" : "$";
2590
+ let source = `${prepend}(?:${state.output})${append}`;
2591
+ if (state && state.negated === true) {
2592
+ source = `^(?!${source}).*$`;
2593
+ }
2594
+ const regex = picomatch.toRegex(source, options);
2595
+ if (returnState === true) {
2596
+ regex.state = state;
2597
+ }
2598
+ return regex;
2599
+ };
2600
+ picomatch.makeRe = (input, options = {}, returnOutput = false, returnState = false) => {
2601
+ if (!input || typeof input !== "string") {
2602
+ throw new TypeError("Expected a non-empty string");
2603
+ }
2604
+ let parsed = { negated: false, fastpaths: true };
2605
+ if (options.fastpaths !== false && (input[0] === "." || input[0] === "*")) {
2606
+ parsed.output = parse.fastpaths(input, options);
2607
+ }
2608
+ if (!parsed.output) {
2609
+ parsed = parse(input, options);
2610
+ }
2611
+ return picomatch.compileRe(parsed, options, returnOutput, returnState);
2612
+ };
2613
+ picomatch.toRegex = (source, options) => {
2614
+ try {
2615
+ const opts = options || {};
2616
+ return new RegExp(source, opts.flags || (opts.nocase ? "i" : ""));
2617
+ } catch (err) {
2618
+ if (options && options.debug === true) throw err;
2619
+ return /$^/;
2620
+ }
2621
+ };
2622
+ picomatch.constants = constants;
2623
+ module.exports = picomatch;
2624
+ }
2625
+ });
2626
+
2627
+ // ../../node_modules/picomatch/index.js
2628
+ var require_picomatch2 = __commonJS({
2629
+ "../../node_modules/picomatch/index.js"(exports, module) {
2630
+ "use strict";
2631
+ module.exports = require_picomatch();
2632
+ }
2633
+ });
2634
+
2635
+ // ../../node_modules/micromatch/index.js
2636
+ var require_micromatch = __commonJS({
2637
+ "../../node_modules/micromatch/index.js"(exports, module) {
2638
+ "use strict";
2639
+ var util = __require("util");
2640
+ var braces = require_braces();
2641
+ var picomatch = require_picomatch2();
2642
+ var utils = require_utils2();
2643
+ var isEmptyString = /* @__PURE__ */ __name((v) => v === "" || v === "./", "isEmptyString");
2644
+ var hasBraces = /* @__PURE__ */ __name((v) => {
2645
+ const index = v.indexOf("{");
2646
+ return index > -1 && v.indexOf("}", index) > -1;
2647
+ }, "hasBraces");
2648
+ var micromatch = /* @__PURE__ */ __name((list, patterns, options) => {
2649
+ patterns = [].concat(patterns);
2650
+ list = [].concat(list);
2651
+ let omit = /* @__PURE__ */ new Set();
2652
+ let keep = /* @__PURE__ */ new Set();
2653
+ let items = /* @__PURE__ */ new Set();
2654
+ let negatives = 0;
2655
+ let onResult = /* @__PURE__ */ __name((state) => {
2656
+ items.add(state.output);
2657
+ if (options && options.onResult) {
2658
+ options.onResult(state);
2659
+ }
2660
+ }, "onResult");
2661
+ for (let i = 0; i < patterns.length; i++) {
2662
+ let isMatch = picomatch(String(patterns[i]), { ...options, onResult }, true);
2663
+ let negated = isMatch.state.negated || isMatch.state.negatedExtglob;
2664
+ if (negated) negatives++;
2665
+ for (let item of list) {
2666
+ let matched = isMatch(item, true);
2667
+ let match2 = negated ? !matched.isMatch : matched.isMatch;
2668
+ if (!match2) continue;
2669
+ if (negated) {
2670
+ omit.add(matched.output);
2671
+ } else {
2672
+ omit.delete(matched.output);
2673
+ keep.add(matched.output);
2674
+ }
2675
+ }
2676
+ }
2677
+ let result = negatives === patterns.length ? [...items] : [...keep];
2678
+ let matches = result.filter((item) => !omit.has(item));
2679
+ if (options && matches.length === 0) {
2680
+ if (options.failglob === true) {
2681
+ throw new Error(`No matches found for "${patterns.join(", ")}"`);
2682
+ }
2683
+ if (options.nonull === true || options.nullglob === true) {
2684
+ return options.unescape ? patterns.map((p) => p.replace(/\\/g, "")) : patterns;
2685
+ }
2686
+ }
2687
+ return matches;
2688
+ }, "micromatch");
2689
+ micromatch.match = micromatch;
2690
+ micromatch.matcher = (pattern, options) => picomatch(pattern, options);
2691
+ micromatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str);
2692
+ micromatch.any = micromatch.isMatch;
2693
+ micromatch.not = (list, patterns, options = {}) => {
2694
+ patterns = [].concat(patterns).map(String);
2695
+ let result = /* @__PURE__ */ new Set();
2696
+ let items = [];
2697
+ let onResult = /* @__PURE__ */ __name((state) => {
2698
+ if (options.onResult) options.onResult(state);
2699
+ items.push(state.output);
2700
+ }, "onResult");
2701
+ let matches = new Set(micromatch(list, patterns, { ...options, onResult }));
2702
+ for (let item of items) {
2703
+ if (!matches.has(item)) {
2704
+ result.add(item);
2705
+ }
2706
+ }
2707
+ return [...result];
2708
+ };
2709
+ micromatch.contains = (str, pattern, options) => {
2710
+ if (typeof str !== "string") {
2711
+ throw new TypeError(`Expected a string: "${util.inspect(str)}"`);
2712
+ }
2713
+ if (Array.isArray(pattern)) {
2714
+ return pattern.some((p) => micromatch.contains(str, p, options));
2715
+ }
2716
+ if (typeof pattern === "string") {
2717
+ if (isEmptyString(str) || isEmptyString(pattern)) {
2718
+ return false;
2719
+ }
2720
+ if (str.includes(pattern) || str.startsWith("./") && str.slice(2).includes(pattern)) {
2721
+ return true;
2722
+ }
2723
+ }
2724
+ return micromatch.isMatch(str, pattern, { ...options, contains: true });
2725
+ };
2726
+ micromatch.matchKeys = (obj, patterns, options) => {
2727
+ if (!utils.isObject(obj)) {
2728
+ throw new TypeError("Expected the first argument to be an object");
2729
+ }
2730
+ let keys = micromatch(Object.keys(obj), patterns, options);
2731
+ let res = {};
2732
+ for (let key of keys) res[key] = obj[key];
2733
+ return res;
2734
+ };
2735
+ micromatch.some = (list, patterns, options) => {
2736
+ let items = [].concat(list);
2737
+ for (let pattern of [].concat(patterns)) {
2738
+ let isMatch = picomatch(String(pattern), options);
2739
+ if (items.some((item) => isMatch(item))) {
2740
+ return true;
2741
+ }
2742
+ }
2743
+ return false;
2744
+ };
2745
+ micromatch.every = (list, patterns, options) => {
2746
+ let items = [].concat(list);
2747
+ for (let pattern of [].concat(patterns)) {
2748
+ let isMatch = picomatch(String(pattern), options);
2749
+ if (!items.every((item) => isMatch(item))) {
2750
+ return false;
2751
+ }
2752
+ }
2753
+ return true;
2754
+ };
2755
+ micromatch.all = (str, patterns, options) => {
2756
+ if (typeof str !== "string") {
2757
+ throw new TypeError(`Expected a string: "${util.inspect(str)}"`);
2758
+ }
2759
+ return [].concat(patterns).every((p) => picomatch(p, options)(str));
2760
+ };
2761
+ micromatch.capture = (glob, input, options) => {
2762
+ let posix = utils.isWindows(options);
2763
+ let regex = picomatch.makeRe(String(glob), { ...options, capture: true });
2764
+ let match2 = regex.exec(posix ? utils.toPosixSlashes(input) : input);
2765
+ if (match2) {
2766
+ return match2.slice(1).map((v) => v === void 0 ? "" : v);
2767
+ }
2768
+ };
2769
+ micromatch.makeRe = (...args) => picomatch.makeRe(...args);
2770
+ micromatch.scan = (...args) => picomatch.scan(...args);
2771
+ micromatch.parse = (patterns, options) => {
2772
+ let res = [];
2773
+ for (let pattern of [].concat(patterns || [])) {
2774
+ for (let str of braces(String(pattern), options)) {
2775
+ res.push(picomatch.parse(str, options));
2776
+ }
2777
+ }
2778
+ return res;
2779
+ };
2780
+ micromatch.braces = (pattern, options) => {
2781
+ if (typeof pattern !== "string") throw new TypeError("Expected a string");
2782
+ if (options && options.nobrace === true || !hasBraces(pattern)) {
2783
+ return [pattern];
2784
+ }
2785
+ return braces(pattern, options);
2786
+ };
2787
+ micromatch.braceExpand = (pattern, options) => {
2788
+ if (typeof pattern !== "string") throw new TypeError("Expected a string");
2789
+ return micromatch.braces(pattern, { ...options, expand: true });
2790
+ };
2791
+ micromatch.hasBraces = hasBraces;
2792
+ module.exports = micromatch;
2793
+ }
2794
+ });
2795
+
2796
+ // ../../node_modules/totalist/sync/index.js
2797
+ var require_sync = __commonJS({
2798
+ "../../node_modules/totalist/sync/index.js"(exports) {
2799
+ var { join: join2, resolve: resolve2 } = __require("path");
2800
+ var { readdirSync, statSync } = __require("fs");
2801
+ function totalist(dir, callback, pre = "") {
2802
+ dir = resolve2(".", dir);
2803
+ let arr = readdirSync(dir);
2804
+ let i = 0, abs, stats;
2805
+ for (; i < arr.length; i++) {
2806
+ abs = join2(dir, arr[i]);
2807
+ stats = statSync(abs);
2808
+ stats.isDirectory() ? totalist(abs, callback, join2(pre, arr[i])) : callback(join2(pre, arr[i]), abs, stats);
2809
+ }
2810
+ }
2811
+ __name(totalist, "totalist");
2812
+ exports.totalist = totalist;
2813
+ }
2814
+ });
2815
+
2816
+ // ../../node_modules/@polka/url/build.js
2817
+ var require_build = __commonJS({
2818
+ "../../node_modules/@polka/url/build.js"(exports) {
2819
+ var qs = __require("querystring");
2820
+ function parse(req) {
2821
+ let raw = req.url;
2822
+ if (raw == null) return;
2823
+ let prev = req._parsedUrl;
2824
+ if (prev && prev.raw === raw) return prev;
2825
+ let pathname = raw, search = "", query, hash;
2826
+ if (raw.length > 1) {
2827
+ let idx = raw.indexOf("#", 1);
2828
+ if (idx !== -1) {
2829
+ hash = raw.substring(idx);
2830
+ pathname = raw.substring(0, idx);
2831
+ }
2832
+ idx = pathname.indexOf("?", 1);
2833
+ if (idx !== -1) {
2834
+ search = pathname.substring(idx);
2835
+ pathname = pathname.substring(0, idx);
2836
+ if (search.length > 1) {
2837
+ query = qs.parse(search.substring(1));
2838
+ }
2839
+ }
2840
+ }
2841
+ return req._parsedUrl = { pathname, search, query, hash, raw };
2842
+ }
2843
+ __name(parse, "parse");
2844
+ exports.parse = parse;
2845
+ }
2846
+ });
2847
+
2848
+ // ../../node_modules/mrmime/index.js
2849
+ var require_mrmime = __commonJS({
2850
+ "../../node_modules/mrmime/index.js"(exports) {
2851
+ var mimes = {
2852
+ "3g2": "video/3gpp2",
2853
+ "3gp": "video/3gpp",
2854
+ "3gpp": "video/3gpp",
2855
+ "3mf": "model/3mf",
2856
+ "aac": "audio/aac",
2857
+ "ac": "application/pkix-attr-cert",
2858
+ "adp": "audio/adpcm",
2859
+ "adts": "audio/aac",
2860
+ "ai": "application/postscript",
2861
+ "aml": "application/automationml-aml+xml",
2862
+ "amlx": "application/automationml-amlx+zip",
2863
+ "amr": "audio/amr",
2864
+ "apng": "image/apng",
2865
+ "appcache": "text/cache-manifest",
2866
+ "appinstaller": "application/appinstaller",
2867
+ "appx": "application/appx",
2868
+ "appxbundle": "application/appxbundle",
2869
+ "asc": "application/pgp-keys",
2870
+ "atom": "application/atom+xml",
2871
+ "atomcat": "application/atomcat+xml",
2872
+ "atomdeleted": "application/atomdeleted+xml",
2873
+ "atomsvc": "application/atomsvc+xml",
2874
+ "au": "audio/basic",
2875
+ "avci": "image/avci",
2876
+ "avcs": "image/avcs",
2877
+ "avif": "image/avif",
2878
+ "aw": "application/applixware",
2879
+ "bdoc": "application/bdoc",
2880
+ "bin": "application/octet-stream",
2881
+ "bmp": "image/bmp",
2882
+ "bpk": "application/octet-stream",
2883
+ "btf": "image/prs.btif",
2884
+ "btif": "image/prs.btif",
2885
+ "buffer": "application/octet-stream",
2886
+ "ccxml": "application/ccxml+xml",
2887
+ "cdfx": "application/cdfx+xml",
2888
+ "cdmia": "application/cdmi-capability",
2889
+ "cdmic": "application/cdmi-container",
2890
+ "cdmid": "application/cdmi-domain",
2891
+ "cdmio": "application/cdmi-object",
2892
+ "cdmiq": "application/cdmi-queue",
2893
+ "cer": "application/pkix-cert",
2894
+ "cgm": "image/cgm",
2895
+ "cjs": "application/node",
2896
+ "class": "application/java-vm",
2897
+ "coffee": "text/coffeescript",
2898
+ "conf": "text/plain",
2899
+ "cpl": "application/cpl+xml",
2900
+ "cpt": "application/mac-compactpro",
2901
+ "crl": "application/pkix-crl",
2902
+ "css": "text/css",
2903
+ "csv": "text/csv",
2904
+ "cu": "application/cu-seeme",
2905
+ "cwl": "application/cwl",
2906
+ "cww": "application/prs.cww",
2907
+ "davmount": "application/davmount+xml",
2908
+ "dbk": "application/docbook+xml",
2909
+ "deb": "application/octet-stream",
2910
+ "def": "text/plain",
2911
+ "deploy": "application/octet-stream",
2912
+ "dib": "image/bmp",
2913
+ "disposition-notification": "message/disposition-notification",
2914
+ "dist": "application/octet-stream",
2915
+ "distz": "application/octet-stream",
2916
+ "dll": "application/octet-stream",
2917
+ "dmg": "application/octet-stream",
2918
+ "dms": "application/octet-stream",
2919
+ "doc": "application/msword",
2920
+ "dot": "application/msword",
2921
+ "dpx": "image/dpx",
2922
+ "drle": "image/dicom-rle",
2923
+ "dsc": "text/prs.lines.tag",
2924
+ "dssc": "application/dssc+der",
2925
+ "dtd": "application/xml-dtd",
2926
+ "dump": "application/octet-stream",
2927
+ "dwd": "application/atsc-dwd+xml",
2928
+ "ear": "application/java-archive",
2929
+ "ecma": "application/ecmascript",
2930
+ "elc": "application/octet-stream",
2931
+ "emf": "image/emf",
2932
+ "eml": "message/rfc822",
2933
+ "emma": "application/emma+xml",
2934
+ "emotionml": "application/emotionml+xml",
2935
+ "eps": "application/postscript",
2936
+ "epub": "application/epub+zip",
2937
+ "exe": "application/octet-stream",
2938
+ "exi": "application/exi",
2939
+ "exp": "application/express",
2940
+ "exr": "image/aces",
2941
+ "ez": "application/andrew-inset",
2942
+ "fdf": "application/fdf",
2943
+ "fdt": "application/fdt+xml",
2944
+ "fits": "image/fits",
2945
+ "g3": "image/g3fax",
2946
+ "gbr": "application/rpki-ghostbusters",
2947
+ "geojson": "application/geo+json",
2948
+ "gif": "image/gif",
2949
+ "glb": "model/gltf-binary",
2950
+ "gltf": "model/gltf+json",
2951
+ "gml": "application/gml+xml",
2952
+ "gpx": "application/gpx+xml",
2953
+ "gram": "application/srgs",
2954
+ "grxml": "application/srgs+xml",
2955
+ "gxf": "application/gxf",
2956
+ "gz": "application/gzip",
2957
+ "h261": "video/h261",
2958
+ "h263": "video/h263",
2959
+ "h264": "video/h264",
2960
+ "heic": "image/heic",
2961
+ "heics": "image/heic-sequence",
2962
+ "heif": "image/heif",
2963
+ "heifs": "image/heif-sequence",
2964
+ "hej2": "image/hej2k",
2965
+ "held": "application/atsc-held+xml",
2966
+ "hjson": "application/hjson",
2967
+ "hlp": "application/winhlp",
2968
+ "hqx": "application/mac-binhex40",
2969
+ "hsj2": "image/hsj2",
2970
+ "htm": "text/html",
2971
+ "html": "text/html",
2972
+ "ics": "text/calendar",
2973
+ "ief": "image/ief",
2974
+ "ifb": "text/calendar",
2975
+ "iges": "model/iges",
2976
+ "igs": "model/iges",
2977
+ "img": "application/octet-stream",
2978
+ "in": "text/plain",
2979
+ "ini": "text/plain",
2980
+ "ink": "application/inkml+xml",
2981
+ "inkml": "application/inkml+xml",
2982
+ "ipfix": "application/ipfix",
2983
+ "iso": "application/octet-stream",
2984
+ "its": "application/its+xml",
2985
+ "jade": "text/jade",
2986
+ "jar": "application/java-archive",
2987
+ "jhc": "image/jphc",
2988
+ "jls": "image/jls",
2989
+ "jp2": "image/jp2",
2990
+ "jpe": "image/jpeg",
2991
+ "jpeg": "image/jpeg",
2992
+ "jpf": "image/jpx",
2993
+ "jpg": "image/jpeg",
2994
+ "jpg2": "image/jp2",
2995
+ "jpgm": "image/jpm",
2996
+ "jpgv": "video/jpeg",
2997
+ "jph": "image/jph",
2998
+ "jpm": "image/jpm",
2999
+ "jpx": "image/jpx",
3000
+ "js": "text/javascript",
3001
+ "json": "application/json",
3002
+ "json5": "application/json5",
3003
+ "jsonld": "application/ld+json",
3004
+ "jsonml": "application/jsonml+json",
3005
+ "jsx": "text/jsx",
3006
+ "jt": "model/jt",
3007
+ "jxl": "image/jxl",
3008
+ "jxr": "image/jxr",
3009
+ "jxra": "image/jxra",
3010
+ "jxrs": "image/jxrs",
3011
+ "jxs": "image/jxs",
3012
+ "jxsc": "image/jxsc",
3013
+ "jxsi": "image/jxsi",
3014
+ "jxss": "image/jxss",
3015
+ "kar": "audio/midi",
3016
+ "ktx": "image/ktx",
3017
+ "ktx2": "image/ktx2",
3018
+ "less": "text/less",
3019
+ "lgr": "application/lgr+xml",
3020
+ "list": "text/plain",
3021
+ "litcoffee": "text/coffeescript",
3022
+ "log": "text/plain",
3023
+ "lostxml": "application/lost+xml",
3024
+ "lrf": "application/octet-stream",
3025
+ "m1v": "video/mpeg",
3026
+ "m21": "application/mp21",
3027
+ "m2a": "audio/mpeg",
3028
+ "m2t": "video/mp2t",
3029
+ "m2ts": "video/mp2t",
3030
+ "m2v": "video/mpeg",
3031
+ "m3a": "audio/mpeg",
3032
+ "m4a": "audio/mp4",
3033
+ "m4p": "application/mp4",
3034
+ "m4s": "video/iso.segment",
3035
+ "ma": "application/mathematica",
3036
+ "mads": "application/mads+xml",
3037
+ "maei": "application/mmt-aei+xml",
3038
+ "man": "text/troff",
3039
+ "manifest": "text/cache-manifest",
3040
+ "map": "application/json",
3041
+ "mar": "application/octet-stream",
3042
+ "markdown": "text/markdown",
3043
+ "mathml": "application/mathml+xml",
3044
+ "mb": "application/mathematica",
3045
+ "mbox": "application/mbox",
3046
+ "md": "text/markdown",
3047
+ "mdx": "text/mdx",
3048
+ "me": "text/troff",
3049
+ "mesh": "model/mesh",
3050
+ "meta4": "application/metalink4+xml",
3051
+ "metalink": "application/metalink+xml",
3052
+ "mets": "application/mets+xml",
3053
+ "mft": "application/rpki-manifest",
3054
+ "mid": "audio/midi",
3055
+ "midi": "audio/midi",
3056
+ "mime": "message/rfc822",
3057
+ "mj2": "video/mj2",
3058
+ "mjp2": "video/mj2",
3059
+ "mjs": "text/javascript",
3060
+ "mml": "text/mathml",
3061
+ "mods": "application/mods+xml",
3062
+ "mov": "video/quicktime",
3063
+ "mp2": "audio/mpeg",
3064
+ "mp21": "application/mp21",
3065
+ "mp2a": "audio/mpeg",
3066
+ "mp3": "audio/mpeg",
3067
+ "mp4": "video/mp4",
3068
+ "mp4a": "audio/mp4",
3069
+ "mp4s": "application/mp4",
3070
+ "mp4v": "video/mp4",
3071
+ "mpd": "application/dash+xml",
3072
+ "mpe": "video/mpeg",
3073
+ "mpeg": "video/mpeg",
3074
+ "mpf": "application/media-policy-dataset+xml",
3075
+ "mpg": "video/mpeg",
3076
+ "mpg4": "video/mp4",
3077
+ "mpga": "audio/mpeg",
3078
+ "mpp": "application/dash-patch+xml",
3079
+ "mrc": "application/marc",
3080
+ "mrcx": "application/marcxml+xml",
3081
+ "ms": "text/troff",
3082
+ "mscml": "application/mediaservercontrol+xml",
3083
+ "msh": "model/mesh",
3084
+ "msi": "application/octet-stream",
3085
+ "msix": "application/msix",
3086
+ "msixbundle": "application/msixbundle",
3087
+ "msm": "application/octet-stream",
3088
+ "msp": "application/octet-stream",
3089
+ "mtl": "model/mtl",
3090
+ "mts": "video/mp2t",
3091
+ "musd": "application/mmt-usd+xml",
3092
+ "mxf": "application/mxf",
3093
+ "mxmf": "audio/mobile-xmf",
3094
+ "mxml": "application/xv+xml",
3095
+ "n3": "text/n3",
3096
+ "nb": "application/mathematica",
3097
+ "nq": "application/n-quads",
3098
+ "nt": "application/n-triples",
3099
+ "obj": "model/obj",
3100
+ "oda": "application/oda",
3101
+ "oga": "audio/ogg",
3102
+ "ogg": "audio/ogg",
3103
+ "ogv": "video/ogg",
3104
+ "ogx": "application/ogg",
3105
+ "omdoc": "application/omdoc+xml",
3106
+ "onepkg": "application/onenote",
3107
+ "onetmp": "application/onenote",
3108
+ "onetoc": "application/onenote",
3109
+ "onetoc2": "application/onenote",
3110
+ "opf": "application/oebps-package+xml",
3111
+ "opus": "audio/ogg",
3112
+ "otf": "font/otf",
3113
+ "owl": "application/rdf+xml",
3114
+ "oxps": "application/oxps",
3115
+ "p10": "application/pkcs10",
3116
+ "p7c": "application/pkcs7-mime",
3117
+ "p7m": "application/pkcs7-mime",
3118
+ "p7s": "application/pkcs7-signature",
3119
+ "p8": "application/pkcs8",
3120
+ "pdf": "application/pdf",
3121
+ "pfr": "application/font-tdpfr",
3122
+ "pgp": "application/pgp-encrypted",
3123
+ "pkg": "application/octet-stream",
3124
+ "pki": "application/pkixcmp",
3125
+ "pkipath": "application/pkix-pkipath",
3126
+ "pls": "application/pls+xml",
3127
+ "png": "image/png",
3128
+ "prc": "model/prc",
3129
+ "prf": "application/pics-rules",
3130
+ "provx": "application/provenance+xml",
3131
+ "ps": "application/postscript",
3132
+ "pskcxml": "application/pskc+xml",
3133
+ "pti": "image/prs.pti",
3134
+ "qt": "video/quicktime",
3135
+ "raml": "application/raml+yaml",
3136
+ "rapd": "application/route-apd+xml",
3137
+ "rdf": "application/rdf+xml",
3138
+ "relo": "application/p2p-overlay+xml",
3139
+ "rif": "application/reginfo+xml",
3140
+ "rl": "application/resource-lists+xml",
3141
+ "rld": "application/resource-lists-diff+xml",
3142
+ "rmi": "audio/midi",
3143
+ "rnc": "application/relax-ng-compact-syntax",
3144
+ "rng": "application/xml",
3145
+ "roa": "application/rpki-roa",
3146
+ "roff": "text/troff",
3147
+ "rq": "application/sparql-query",
3148
+ "rs": "application/rls-services+xml",
3149
+ "rsat": "application/atsc-rsat+xml",
3150
+ "rsd": "application/rsd+xml",
3151
+ "rsheet": "application/urc-ressheet+xml",
3152
+ "rss": "application/rss+xml",
3153
+ "rtf": "text/rtf",
3154
+ "rtx": "text/richtext",
3155
+ "rusd": "application/route-usd+xml",
3156
+ "s3m": "audio/s3m",
3157
+ "sbml": "application/sbml+xml",
3158
+ "scq": "application/scvp-cv-request",
3159
+ "scs": "application/scvp-cv-response",
3160
+ "sdp": "application/sdp",
3161
+ "senmlx": "application/senml+xml",
3162
+ "sensmlx": "application/sensml+xml",
3163
+ "ser": "application/java-serialized-object",
3164
+ "setpay": "application/set-payment-initiation",
3165
+ "setreg": "application/set-registration-initiation",
3166
+ "sgi": "image/sgi",
3167
+ "sgm": "text/sgml",
3168
+ "sgml": "text/sgml",
3169
+ "shex": "text/shex",
3170
+ "shf": "application/shf+xml",
3171
+ "shtml": "text/html",
3172
+ "sieve": "application/sieve",
3173
+ "sig": "application/pgp-signature",
3174
+ "sil": "audio/silk",
3175
+ "silo": "model/mesh",
3176
+ "siv": "application/sieve",
3177
+ "slim": "text/slim",
3178
+ "slm": "text/slim",
3179
+ "sls": "application/route-s-tsid+xml",
3180
+ "smi": "application/smil+xml",
3181
+ "smil": "application/smil+xml",
3182
+ "snd": "audio/basic",
3183
+ "so": "application/octet-stream",
3184
+ "spdx": "text/spdx",
3185
+ "spp": "application/scvp-vp-response",
3186
+ "spq": "application/scvp-vp-request",
3187
+ "spx": "audio/ogg",
3188
+ "sql": "application/sql",
3189
+ "sru": "application/sru+xml",
3190
+ "srx": "application/sparql-results+xml",
3191
+ "ssdl": "application/ssdl+xml",
3192
+ "ssml": "application/ssml+xml",
3193
+ "stk": "application/hyperstudio",
3194
+ "stl": "model/stl",
3195
+ "stpx": "model/step+xml",
3196
+ "stpxz": "model/step-xml+zip",
3197
+ "stpz": "model/step+zip",
3198
+ "styl": "text/stylus",
3199
+ "stylus": "text/stylus",
3200
+ "svg": "image/svg+xml",
3201
+ "svgz": "image/svg+xml",
3202
+ "swidtag": "application/swid+xml",
3203
+ "t": "text/troff",
3204
+ "t38": "image/t38",
3205
+ "td": "application/urc-targetdesc+xml",
3206
+ "tei": "application/tei+xml",
3207
+ "teicorpus": "application/tei+xml",
3208
+ "text": "text/plain",
3209
+ "tfi": "application/thraud+xml",
3210
+ "tfx": "image/tiff-fx",
3211
+ "tif": "image/tiff",
3212
+ "tiff": "image/tiff",
3213
+ "toml": "application/toml",
3214
+ "tr": "text/troff",
3215
+ "trig": "application/trig",
3216
+ "ts": "video/mp2t",
3217
+ "tsd": "application/timestamped-data",
3218
+ "tsv": "text/tab-separated-values",
3219
+ "ttc": "font/collection",
3220
+ "ttf": "font/ttf",
3221
+ "ttl": "text/turtle",
3222
+ "ttml": "application/ttml+xml",
3223
+ "txt": "text/plain",
3224
+ "u3d": "model/u3d",
3225
+ "u8dsn": "message/global-delivery-status",
3226
+ "u8hdr": "message/global-headers",
3227
+ "u8mdn": "message/global-disposition-notification",
3228
+ "u8msg": "message/global",
3229
+ "ubj": "application/ubjson",
3230
+ "uri": "text/uri-list",
3231
+ "uris": "text/uri-list",
3232
+ "urls": "text/uri-list",
3233
+ "vcard": "text/vcard",
3234
+ "vrml": "model/vrml",
3235
+ "vtt": "text/vtt",
3236
+ "vxml": "application/voicexml+xml",
3237
+ "war": "application/java-archive",
3238
+ "wasm": "application/wasm",
3239
+ "wav": "audio/wav",
3240
+ "weba": "audio/webm",
3241
+ "webm": "video/webm",
3242
+ "webmanifest": "application/manifest+json",
3243
+ "webp": "image/webp",
3244
+ "wgsl": "text/wgsl",
3245
+ "wgt": "application/widget",
3246
+ "wif": "application/watcherinfo+xml",
3247
+ "wmf": "image/wmf",
3248
+ "woff": "font/woff",
3249
+ "woff2": "font/woff2",
3250
+ "wrl": "model/vrml",
3251
+ "wsdl": "application/wsdl+xml",
3252
+ "wspolicy": "application/wspolicy+xml",
3253
+ "x3d": "model/x3d+xml",
3254
+ "x3db": "model/x3d+fastinfoset",
3255
+ "x3dbz": "model/x3d+binary",
3256
+ "x3dv": "model/x3d-vrml",
3257
+ "x3dvz": "model/x3d+vrml",
3258
+ "x3dz": "model/x3d+xml",
3259
+ "xaml": "application/xaml+xml",
3260
+ "xav": "application/xcap-att+xml",
3261
+ "xca": "application/xcap-caps+xml",
3262
+ "xcs": "application/calendar+xml",
3263
+ "xdf": "application/xcap-diff+xml",
3264
+ "xdssc": "application/dssc+xml",
3265
+ "xel": "application/xcap-el+xml",
3266
+ "xenc": "application/xenc+xml",
3267
+ "xer": "application/patch-ops-error+xml",
3268
+ "xfdf": "application/xfdf",
3269
+ "xht": "application/xhtml+xml",
3270
+ "xhtml": "application/xhtml+xml",
3271
+ "xhvml": "application/xv+xml",
3272
+ "xlf": "application/xliff+xml",
3273
+ "xm": "audio/xm",
3274
+ "xml": "text/xml",
3275
+ "xns": "application/xcap-ns+xml",
3276
+ "xop": "application/xop+xml",
3277
+ "xpl": "application/xproc+xml",
3278
+ "xsd": "application/xml",
3279
+ "xsf": "application/prs.xsf+xml",
3280
+ "xsl": "application/xml",
3281
+ "xslt": "application/xml",
3282
+ "xspf": "application/xspf+xml",
3283
+ "xvm": "application/xv+xml",
3284
+ "xvml": "application/xv+xml",
3285
+ "yaml": "text/yaml",
3286
+ "yang": "application/yang",
3287
+ "yin": "application/yin+xml",
3288
+ "yml": "text/yaml",
3289
+ "zip": "application/zip"
3290
+ };
3291
+ function lookup(extn) {
3292
+ let tmp = ("" + extn).trim().toLowerCase();
3293
+ let idx = tmp.lastIndexOf(".");
3294
+ return mimes[!~idx ? tmp : tmp.substring(++idx)];
3295
+ }
3296
+ __name(lookup, "lookup");
3297
+ exports.mimes = mimes;
3298
+ exports.lookup = lookup;
3299
+ }
3300
+ });
3301
+
3302
+ // ../../node_modules/sirv/build.js
3303
+ var require_build2 = __commonJS({
3304
+ "../../node_modules/sirv/build.js"(exports, module) {
3305
+ var fs = __require("fs");
3306
+ var { join: join2, normalize: normalize2, resolve: resolve2 } = __require("path");
3307
+ var { totalist } = require_sync();
3308
+ var { parse } = require_build();
3309
+ var { lookup } = require_mrmime();
3310
+ var noop = /* @__PURE__ */ __name(() => {
3311
+ }, "noop");
3312
+ function isMatch(uri, arr) {
3313
+ for (let i = 0; i < arr.length; i++) {
3314
+ if (arr[i].test(uri)) return true;
3315
+ }
3316
+ }
3317
+ __name(isMatch, "isMatch");
3318
+ function toAssume(uri, extns) {
3319
+ let i = 0, x, len = uri.length - 1;
3320
+ if (uri.charCodeAt(len) === 47) {
3321
+ uri = uri.substring(0, len);
3322
+ }
3323
+ let arr = [], tmp = `${uri}/index`;
3324
+ for (; i < extns.length; i++) {
3325
+ x = extns[i] ? `.${extns[i]}` : "";
3326
+ if (uri) arr.push(uri + x);
3327
+ arr.push(tmp + x);
3328
+ }
3329
+ return arr;
3330
+ }
3331
+ __name(toAssume, "toAssume");
3332
+ function viaCache(cache, uri, extns) {
3333
+ let i = 0, data, arr = toAssume(uri, extns);
3334
+ for (; i < arr.length; i++) {
3335
+ if (data = cache[arr[i]]) return data;
3336
+ }
3337
+ }
3338
+ __name(viaCache, "viaCache");
3339
+ function viaLocal(dir, isEtag, uri, extns) {
3340
+ let i = 0, arr = toAssume(uri, extns);
3341
+ let abs, stats, name, headers;
3342
+ for (; i < arr.length; i++) {
3343
+ abs = normalize2(join2(dir, name = arr[i]));
3344
+ if (abs.startsWith(dir) && fs.existsSync(abs)) {
3345
+ stats = fs.statSync(abs);
3346
+ if (stats.isDirectory()) continue;
3347
+ headers = toHeaders(name, stats, isEtag);
3348
+ headers["Cache-Control"] = isEtag ? "no-cache" : "no-store";
3349
+ return { abs, stats, headers };
3350
+ }
3351
+ }
3352
+ }
3353
+ __name(viaLocal, "viaLocal");
3354
+ function is404(req, res) {
3355
+ return res.statusCode = 404, res.end();
3356
+ }
3357
+ __name(is404, "is404");
3358
+ function send(req, res, file, stats, headers) {
3359
+ let code = 200, tmp, opts = {};
3360
+ headers = { ...headers };
3361
+ for (let key in headers) {
3362
+ tmp = res.getHeader(key);
3363
+ if (tmp) headers[key] = tmp;
3364
+ }
3365
+ if (tmp = res.getHeader("content-type")) {
3366
+ headers["Content-Type"] = tmp;
3367
+ }
3368
+ if (req.headers.range) {
3369
+ code = 206;
3370
+ let [x, y] = req.headers.range.replace("bytes=", "").split("-");
3371
+ let end = opts.end = parseInt(y, 10) || stats.size - 1;
3372
+ let start = opts.start = parseInt(x, 10) || 0;
3373
+ if (end >= stats.size) {
3374
+ end = stats.size - 1;
3375
+ }
3376
+ if (start >= stats.size) {
3377
+ res.setHeader("Content-Range", `bytes */${stats.size}`);
3378
+ res.statusCode = 416;
3379
+ return res.end();
3380
+ }
3381
+ headers["Content-Range"] = `bytes ${start}-${end}/${stats.size}`;
3382
+ headers["Content-Length"] = end - start + 1;
3383
+ headers["Accept-Ranges"] = "bytes";
3384
+ }
3385
+ res.writeHead(code, headers);
3386
+ fs.createReadStream(file, opts).pipe(res);
3387
+ }
3388
+ __name(send, "send");
3389
+ var ENCODING = {
3390
+ ".br": "br",
3391
+ ".gz": "gzip"
3392
+ };
3393
+ function toHeaders(name, stats, isEtag) {
3394
+ let enc = ENCODING[name.slice(-3)];
3395
+ let ctype = lookup(name.slice(0, enc && -3)) || "";
3396
+ if (ctype === "text/html") ctype += ";charset=utf-8";
3397
+ let headers = {
3398
+ "Content-Length": stats.size,
3399
+ "Content-Type": ctype,
3400
+ "Last-Modified": stats.mtime.toUTCString()
3401
+ };
3402
+ if (enc) headers["Content-Encoding"] = enc;
3403
+ if (isEtag) headers["ETag"] = `W/"${stats.size}-${stats.mtime.getTime()}"`;
3404
+ return headers;
3405
+ }
3406
+ __name(toHeaders, "toHeaders");
3407
+ module.exports = function(dir, opts = {}) {
3408
+ dir = resolve2(dir || ".");
3409
+ let isNotFound = opts.onNoMatch || is404;
3410
+ let setHeaders = opts.setHeaders || noop;
3411
+ let extensions = opts.extensions || ["html", "htm"];
3412
+ let gzips = opts.gzip && extensions.map((x) => `${x}.gz`).concat("gz");
3413
+ let brots = opts.brotli && extensions.map((x) => `${x}.br`).concat("br");
3414
+ const FILES = {};
3415
+ let fallback = "/";
3416
+ let isEtag = !!opts.etag;
3417
+ let isSPA = !!opts.single;
3418
+ if (typeof opts.single === "string") {
3419
+ let idx = opts.single.lastIndexOf(".");
3420
+ fallback += !!~idx ? opts.single.substring(0, idx) : opts.single;
3421
+ }
3422
+ let ignores = [];
3423
+ if (opts.ignores !== false) {
3424
+ ignores.push(/[/]([A-Za-z\s\d~$._-]+\.\w+){1,}$/);
3425
+ if (opts.dotfiles) ignores.push(/\/\.\w/);
3426
+ else ignores.push(/\/\.well-known/);
3427
+ [].concat(opts.ignores || []).forEach((x) => {
3428
+ ignores.push(new RegExp(x, "i"));
3429
+ });
3430
+ }
3431
+ let cc = opts.maxAge != null && `public,max-age=${opts.maxAge}`;
3432
+ if (cc && opts.immutable) cc += ",immutable";
3433
+ else if (cc && opts.maxAge === 0) cc += ",must-revalidate";
3434
+ if (!opts.dev) {
3435
+ totalist(dir, (name, abs, stats) => {
3436
+ if (/\.well-known[\\+\/]/.test(name)) {
3437
+ } else if (!opts.dotfiles && /(^\.|[\\+|\/+]\.)/.test(name)) return;
3438
+ let headers = toHeaders(name, stats, isEtag);
3439
+ if (cc) headers["Cache-Control"] = cc;
3440
+ FILES["/" + name.normalize().replace(/\\+/g, "/")] = { abs, stats, headers };
3441
+ });
3442
+ }
3443
+ let lookup2 = opts.dev ? viaLocal.bind(0, dir, isEtag) : viaCache.bind(0, FILES);
3444
+ return function(req, res, next) {
3445
+ let extns = [""];
3446
+ let pathname = parse(req).pathname;
3447
+ let val = req.headers["accept-encoding"] || "";
3448
+ if (gzips && val.includes("gzip")) extns.unshift(...gzips);
3449
+ if (brots && /(br|brotli)/i.test(val)) extns.unshift(...brots);
3450
+ extns.push(...extensions);
3451
+ if (pathname.indexOf("%") !== -1) {
3452
+ try {
3453
+ pathname = decodeURI(pathname);
3454
+ } catch (err) {
3455
+ }
3456
+ }
3457
+ let data = lookup2(pathname, extns) || isSPA && !isMatch(pathname, ignores) && lookup2(fallback, extns);
3458
+ if (!data) return next ? next() : isNotFound(req, res);
3459
+ if (isEtag && req.headers["if-none-match"] === data.headers["ETag"]) {
3460
+ res.writeHead(304);
3461
+ return res.end();
3462
+ }
3463
+ if (gzips || brots) {
3464
+ res.setHeader("Vary", "Accept-Encoding");
3465
+ }
3466
+ setHeaders(res, pathname, data.stats);
3467
+ send(req, res, data.abs, data.stats, data.headers);
3468
+ };
3469
+ };
3470
+ }
3471
+ });
3472
+
3473
+ // src/vitest-plugin/index.ts
3474
+ var import_micromatch = __toESM(require_micromatch(), 1);
3475
+ import { fileURLToPath } from "node:url";
3476
+ import { mergeConfig } from "vitest/config";
3477
+ import {
3478
+ DEFAULT_FILES_PATTERN,
3479
+ getInterpretedFile,
3480
+ normalizeStories,
3481
+ optionalEnvToBoolean,
3482
+ resolvePathInStorybookCache,
3483
+ validateConfigurationFiles
3484
+ } from "storybook/internal/common";
3485
+ import {
3486
+ StoryIndexGenerator,
3487
+ experimental_loadStorybook,
3488
+ mapStaticDir
3489
+ } from "storybook/internal/core-server";
3490
+ import { readConfig, vitestTransform } from "storybook/internal/csf-tools";
3491
+ import { MainFileMissingError } from "storybook/internal/server-errors";
3492
+ import { telemetry } from "storybook/internal/telemetry";
3493
+ import { oneWayHash } from "storybook/internal/telemetry";
3494
+ var import_picocolors = __toESM(require_picocolors(), 1);
3495
+ var import_sirv = __toESM(require_build2(), 1);
3496
+ import { dedent } from "ts-dedent";
3497
+
3498
+ // ../../builders/builder-vite/src/utils/without-vite-plugins.ts
3499
+ var withoutVitePlugins = /* @__PURE__ */ __name(async (plugins = [], namesToRemove) => {
3500
+ const result = [];
3501
+ const resolvedPlugins = await Promise.all(plugins);
3502
+ for (const plugin of resolvedPlugins) {
3503
+ if (Array.isArray(plugin)) {
3504
+ result.push(await withoutVitePlugins(plugin, namesToRemove));
3505
+ } else if (plugin && typeof plugin === "object" && "name" in plugin && typeof plugin.name === "string" && !namesToRemove.includes(plugin.name)) {
3506
+ result.push(plugin);
3507
+ }
3508
+ }
3509
+ return result;
3510
+ }, "withoutVitePlugins");
3511
+
3512
+ // src/vitest-plugin/index.ts
3513
+ var WORKING_DIR = process.cwd();
3514
+ var defaultOptions = {
3515
+ storybookScript: void 0,
3516
+ configDir: resolve(join(WORKING_DIR, ".storybook")),
3517
+ storybookUrl: "http://localhost:6006",
3518
+ disableAddonDocs: true
3519
+ };
3520
+ var extractTagsFromPreview = /* @__PURE__ */ __name(async (configDir) => {
3521
+ const previewConfigPath = getInterpretedFile(join(resolve(configDir), "preview"));
3522
+ if (!previewConfigPath) {
3523
+ return [];
3524
+ }
3525
+ const previewConfig = await readConfig(previewConfigPath);
3526
+ return previewConfig.getFieldValue(["tags"]) ?? [];
3527
+ }, "extractTagsFromPreview");
3528
+ var getStoryGlobsAndFiles = /* @__PURE__ */ __name(async (presets, directories) => {
3529
+ const stories = await presets.apply("stories", []);
3530
+ const normalizedStories = normalizeStories(stories, {
3531
+ configDir: directories.configDir,
3532
+ workingDir: directories.workingDir
3533
+ });
3534
+ const matchingStoryFiles = await StoryIndexGenerator.findMatchingFilesForSpecifiers(
3535
+ normalizedStories,
3536
+ directories.workingDir
3537
+ );
3538
+ return {
3539
+ storiesGlobs: stories,
3540
+ storiesFiles: StoryIndexGenerator.storyFileNames(
3541
+ new Map(matchingStoryFiles.map(([specifier, cache]) => [specifier, cache]))
3542
+ )
3543
+ };
3544
+ }, "getStoryGlobsAndFiles");
3545
+ var mdxStubPlugin = {
3546
+ name: "storybook:stub-mdx-plugin",
3547
+ enforce: "pre",
3548
+ resolveId(id) {
3549
+ if (id.endsWith(".mdx")) {
3550
+ return id;
3551
+ }
3552
+ return null;
3553
+ },
3554
+ load(id) {
3555
+ if (id.endsWith(".mdx")) {
3556
+ return `export default {};`;
3557
+ }
3558
+ return null;
3559
+ }
3560
+ };
3561
+ var storybookTest = /* @__PURE__ */ __name(async (options) => {
3562
+ const finalOptions = {
3563
+ ...defaultOptions,
3564
+ ...options,
3565
+ configDir: options?.configDir ? resolve(WORKING_DIR, options.configDir) : defaultOptions.configDir,
3566
+ tags: {
3567
+ include: options?.tags?.include ?? ["test"],
3568
+ exclude: options?.tags?.exclude ?? [],
3569
+ skip: options?.tags?.skip ?? []
3570
+ }
3571
+ };
3572
+ if (optionalEnvToBoolean(process.env.DEBUG)) {
3573
+ finalOptions.debug = true;
3574
+ }
3575
+ process.env.__STORYBOOK_URL__ = finalOptions.storybookUrl;
3576
+ process.env.__STORYBOOK_SCRIPT__ = finalOptions.storybookScript;
3577
+ const isVitestStorybook = optionalEnvToBoolean(process.env.VITEST_STORYBOOK);
3578
+ const directories = {
3579
+ configDir: finalOptions.configDir,
3580
+ workingDir: WORKING_DIR
3581
+ };
3582
+ const { presets } = await experimental_loadStorybook({
3583
+ configDir: finalOptions.configDir,
3584
+ packageJson: {}
3585
+ });
3586
+ const stories = await presets.apply("stories", []);
3587
+ const [
3588
+ { storiesGlobs },
3589
+ framework,
3590
+ storybookEnv,
3591
+ viteConfigFromStorybook,
3592
+ staticDirs,
3593
+ previewLevelTags,
3594
+ core,
3595
+ extraOptimizeDeps
3596
+ ] = await Promise.all([
3597
+ getStoryGlobsAndFiles(presets, directories),
3598
+ presets.apply("framework", void 0),
3599
+ presets.apply("env", {}),
3600
+ presets.apply("viteFinal", {}),
3601
+ presets.apply("staticDirs", []),
3602
+ extractTagsFromPreview(finalOptions.configDir),
3603
+ presets.apply("core"),
3604
+ presets.apply("optimizeViteDeps", [])
3605
+ ]);
3606
+ const pluginsToIgnore = [
3607
+ "storybook:react-docgen-plugin",
3608
+ "vite:react-docgen-typescript",
3609
+ // aka @joshwooding/vite-plugin-react-docgen-typescript
3610
+ "storybook:svelte-docgen-plugin",
3611
+ "storybook:vue-component-meta-plugin"
3612
+ ];
3613
+ if (finalOptions.disableAddonDocs) {
3614
+ pluginsToIgnore.push("storybook:package-deduplication", "storybook:mdx-plugin");
3615
+ }
3616
+ const plugins = await withoutVitePlugins(viteConfigFromStorybook.plugins ?? [], pluginsToIgnore);
3617
+ if (finalOptions.disableAddonDocs) {
3618
+ plugins.push(mdxStubPlugin);
3619
+ }
3620
+ const storybookTestPlugin = {
3621
+ name: "vite-plugin-storybook-test",
3622
+ async transformIndexHtml(html) {
3623
+ const [headHtmlSnippet, bodyHtmlSnippet] = await Promise.all([
3624
+ presets.apply("previewHead"),
3625
+ presets.apply("previewBody")
3626
+ ]);
3627
+ return html.replace("</head>", `${headHtmlSnippet ?? ""}</head>`).replace("<body>", `<body>${bodyHtmlSnippet ?? ""}`);
3628
+ },
3629
+ async config(nonMutableInputConfig) {
3630
+ try {
3631
+ await validateConfigurationFiles(finalOptions.configDir);
3632
+ } catch (err) {
3633
+ throw new MainFileMissingError({
3634
+ location: finalOptions.configDir,
3635
+ source: "vitest"
3636
+ });
3637
+ }
3638
+ const frameworkName = typeof framework === "string" ? framework : framework.name;
3639
+ const testConfig = nonMutableInputConfig.test;
3640
+ finalOptions.vitestRoot = testConfig?.dir || testConfig?.root || nonMutableInputConfig.root || process.cwd();
3641
+ const includeStories = stories.map((story) => {
3642
+ let storyPath;
3643
+ if (typeof story === "string") {
3644
+ storyPath = story;
3645
+ } else {
3646
+ storyPath = `${story.directory}/${story.files ?? DEFAULT_FILES_PATTERN}`;
3647
+ }
3648
+ return join(finalOptions.configDir, storyPath);
3649
+ }).map((story) => {
3650
+ return relative(finalOptions.vitestRoot, story);
3651
+ });
3652
+ finalOptions.includeStories = includeStories;
3653
+ const projectId = oneWayHash(finalOptions.configDir);
3654
+ const baseConfig = {
3655
+ cacheDir: resolvePathInStorybookCache("sb-vitest", projectId),
3656
+ test: {
3657
+ setupFiles: [
3658
+ fileURLToPath(import.meta.resolve("@storybook/addon-vitest/internal/setup-file")),
3659
+ // if the existing setupFiles is a string, we have to include it otherwise we're overwriting it
3660
+ typeof nonMutableInputConfig.test?.setupFiles === "string" && nonMutableInputConfig.test?.setupFiles
3661
+ ].filter(Boolean),
3662
+ ...finalOptions.storybookScript ? {
3663
+ globalSetup: [
3664
+ fileURLToPath(
3665
+ import.meta.resolve("@storybook/addon-vitest/internal/global-setup")
3666
+ )
3667
+ ]
3668
+ } : {},
3669
+ env: {
3670
+ ...storybookEnv,
3671
+ // To be accessed by the setup file
3672
+ __STORYBOOK_URL__: finalOptions.storybookUrl,
3673
+ VITEST_STORYBOOK: isVitestStorybook ? "true" : "false",
3674
+ __VITEST_INCLUDE_TAGS__: finalOptions.tags.include.join(","),
3675
+ __VITEST_EXCLUDE_TAGS__: finalOptions.tags.exclude.join(","),
3676
+ __VITEST_SKIP_TAGS__: finalOptions.tags.skip.join(",")
3677
+ },
3678
+ include: includeStories,
3679
+ exclude: [
3680
+ ...nonMutableInputConfig.test?.exclude ?? [],
3681
+ join(relative(finalOptions.vitestRoot, process.cwd()), "**/*.mdx").replaceAll(sep, "/")
3682
+ ],
3683
+ // if the existing deps.inline is true, we keep it as-is, because it will inline everything
3684
+ ...nonMutableInputConfig.test?.server?.deps?.inline !== true ? {
3685
+ server: {
3686
+ deps: {
3687
+ inline: ["@storybook/addon-vitest"]
3688
+ }
3689
+ }
3690
+ } : {},
3691
+ browser: {
3692
+ commands: {
3693
+ getInitialGlobals: /* @__PURE__ */ __name(() => {
3694
+ const envConfig = JSON.parse(process.env.VITEST_STORYBOOK_CONFIG ?? "{}");
3695
+ const shouldRunA11yTests = isVitestStorybook ? envConfig.a11y ?? false : true;
3696
+ return {
3697
+ a11y: {
3698
+ manual: !shouldRunA11yTests
3699
+ }
3700
+ };
3701
+ }, "getInitialGlobals")
3702
+ },
3703
+ // if there is a test.browser config AND test.browser.screenshotFailures is not explicitly set, we set it to false
3704
+ ...nonMutableInputConfig.test?.browser && nonMutableInputConfig.test.browser.screenshotFailures === void 0 ? {
3705
+ screenshotFailures: false
3706
+ } : {}
3707
+ }
3708
+ },
3709
+ envPrefix: Array.from(
3710
+ /* @__PURE__ */ new Set([...nonMutableInputConfig.envPrefix || [], "STORYBOOK_", "VITE_"])
3711
+ ),
3712
+ resolve: {
3713
+ conditions: [
3714
+ "storybook",
3715
+ "stories",
3716
+ "test",
3717
+ // copying straight from https://github.com/vitejs/vite/blob/main/packages/vite/src/node/constants.ts#L60
3718
+ // to avoid having to maintain Vite as a dependency just for this
3719
+ "module",
3720
+ "browser",
3721
+ "development|production"
3722
+ ]
3723
+ },
3724
+ optimizeDeps: {
3725
+ include: [
3726
+ ...extraOptimizeDeps,
3727
+ "@storybook/addon-vitest/internal/setup-file",
3728
+ "@storybook/addon-vitest/internal/global-setup",
3729
+ "@storybook/addon-vitest/internal/test-utils",
3730
+ ...frameworkName?.includes("react") || frameworkName?.includes("nextjs") ? ["react-dom/test-utils"] : []
3731
+ ]
3732
+ },
3733
+ define: {
3734
+ ...frameworkName?.includes("vue3") ? { __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: "false" } : {}
3735
+ }
3736
+ };
3737
+ const config = mergeConfig(
3738
+ baseConfig,
3739
+ viteConfigFromStorybook
3740
+ );
3741
+ if ((nonMutableInputConfig.test?.include?.length ?? 0) > 0) {
3742
+ nonMutableInputConfig.test.include = [];
3743
+ console.log(
3744
+ import_picocolors.default.yellow(dedent`
40
3745
  Warning: Starting in Storybook 8.5.0-alpha.18, the "test.include" option in Vitest is discouraged in favor of just using the "stories" field in your Storybook configuration.
41
3746
 
42
3747
  The values you passed to "test.include" will be ignored, please remove them from your Vitest configuration where the Storybook plugin is applied.
43
3748
 
44
3749
  More info: https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#addon-test-indexing-behavior-of-storybookaddon-test-is-changed
45
- `))),config$1},configureVitest(context){context.vitest.config.coverage.exclude.push("storybook-static"),!core?.disableTelemetry&&!common.optionalEnvToBoolean(process.env.STORYBOOK_DISABLE_TELEMETRY)&&telemetry.telemetry("test-run",{runner:"vitest",watch:context.vitest.config.watch,coverage:!!context.vitest.config.coverage?.enabled},{configDir:finalOptions.configDir});},async configureServer(server){if(staticDirs)for(let staticDir of staticDirs)try{let{staticPath,targetEndpoint}=mapStaticDir(staticDir,directories.configDir);server.middlewares.use(targetEndpoint,build_default(staticPath,{dev:!0,etag:!0,extensions:[]}));}catch(e){console.warn(e);}},async transform(code,id){if(!common.optionalEnvToBoolean(process.env.VITEST))return code;let relativeId=relative(finalOptions.vitestRoot,id);if((0, import_micromatch.match)([relativeId],finalOptions.includeStories).length>0)return csfTools.vitestTransform({code,fileName:id,configDir:finalOptions.configDir,tagsFilter:finalOptions.tags,stories:storiesGlobs,previewLevelTags})}};if(plugins.push(storybookTestPlugin),isVitestStorybook){let projectName=`storybook:${normalize(finalOptions.configDir)}`;plugins.push({name:"storybook:workspace-name-override",config:{order:"pre",handler:()=>({test:{name:projectName}})}});}return plugins},vitest_plugin_default=storybookTest;
46
-
47
- exports.default = vitest_plugin_default;
48
- exports.storybookTest = storybookTest;
3750
+ `)
3751
+ );
3752
+ }
3753
+ return config;
3754
+ },
3755
+ configureVitest(context) {
3756
+ context.vitest.config.coverage.exclude.push("storybook-static");
3757
+ if (!core?.disableTelemetry && !optionalEnvToBoolean(process.env.STORYBOOK_DISABLE_TELEMETRY)) {
3758
+ telemetry(
3759
+ "test-run",
3760
+ {
3761
+ runner: "vitest",
3762
+ watch: context.vitest.config.watch,
3763
+ coverage: !!context.vitest.config.coverage?.enabled
3764
+ },
3765
+ { configDir: finalOptions.configDir }
3766
+ );
3767
+ }
3768
+ },
3769
+ async configureServer(server) {
3770
+ if (staticDirs) {
3771
+ for (const staticDir of staticDirs) {
3772
+ try {
3773
+ const { staticPath, targetEndpoint } = mapStaticDir(staticDir, directories.configDir);
3774
+ server.middlewares.use(
3775
+ targetEndpoint,
3776
+ (0, import_sirv.default)(staticPath, {
3777
+ dev: true,
3778
+ etag: true,
3779
+ extensions: []
3780
+ })
3781
+ );
3782
+ } catch (e) {
3783
+ console.warn(e);
3784
+ }
3785
+ }
3786
+ }
3787
+ },
3788
+ async transform(code, id) {
3789
+ if (!optionalEnvToBoolean(process.env.VITEST)) {
3790
+ return code;
3791
+ }
3792
+ const relativeId = relative(finalOptions.vitestRoot, id);
3793
+ if ((0, import_micromatch.match)([relativeId], finalOptions.includeStories).length > 0) {
3794
+ return vitestTransform({
3795
+ code,
3796
+ fileName: id,
3797
+ configDir: finalOptions.configDir,
3798
+ tagsFilter: finalOptions.tags,
3799
+ stories: storiesGlobs,
3800
+ previewLevelTags
3801
+ });
3802
+ }
3803
+ }
3804
+ };
3805
+ plugins.push(storybookTestPlugin);
3806
+ if (isVitestStorybook) {
3807
+ const projectName = `storybook:${normalize(finalOptions.configDir)}`;
3808
+ plugins.push({
3809
+ name: "storybook:workspace-name-override",
3810
+ config: {
3811
+ order: "pre",
3812
+ handler: /* @__PURE__ */ __name(() => {
3813
+ return {
3814
+ test: {
3815
+ name: projectName
3816
+ }
3817
+ };
3818
+ }, "handler")
3819
+ }
3820
+ });
3821
+ }
3822
+ return plugins;
3823
+ }, "storybookTest");
3824
+ var vitest_plugin_default = storybookTest;
3825
+ export {
3826
+ vitest_plugin_default as default,
3827
+ storybookTest
3828
+ };