UNPKG

@metagptx/vite-plugin-source-locator

Version:

A Vite plugin for source code location tracking

25 lines (24 loc) 46 kB
/*! * @metagptx/vite-plugin-source-locator v0.0.5 * (c) 2025 caowenyue@fuzhi.ai */ "use strict";var e=require("path"),t=require("@babel/parser"),n=require("@babel/traverse"),r=require("@babel/generator"),o=require("@babel/types"),s=require("magic-string"),a=require("@vue/compiler-sfc"),i=require("@vue/compiler-dom"),u=require("node:crypto"),c=require("util");function l(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var p=l(t),f=l(o);const d=["!DOCTYPE","html","head","title","base","link","meta","style","noscript","script","template","body","h1","h2","h3","h4","h5","h6","p","hr","br","pre","blockquote","ol","ul","li","dl","dt","dd","figure","figcaption","div","main","span","a","em","strong","small","mark","abbr","cite","code","sub","sup","i","b","u","s","kbd","var","time","progress","meter","wbr","bdi","bdo","header","footer","nav","section","article","aside","address","details","summary","dialog","form","input","textarea","button","select","option","optgroup","label","fieldset","legend","datalist","output","img","iframe","embed","object","param","video","audio","source","track","canvas","map","area","picture","table","caption","thead","tbody","tfoot","tr","th","td","col","colgroup","slot","acronym","applet","basefont","big","center","font","frame","frameset","noframes","strike","tt"],A=["label","span","button","p","div","h1","h2","h3","h4","h5","h6"];function g(e){let t,n=e[0],r=1;for(;r<e.length;){const o=e[r],s=e[r+1];if(r+=2,("optionalAccess"===o||"optionalCall"===o)&&null==n)return;"access"===o||"optionalAccess"===o?(t=n,n=s(n)):"call"!==o&&"optionalCall"!==o||(n=s(((...e)=>n.call(t,...e))),t=void 0)}return n}const h=n.default||n,R=r.default||r,_=e=>{let t="",n=!1;const{parent:r}=e;return f.isJSXElement(r)?(r.children.forEach((e=>{f.isJSXText(e)?t+=e.value:f.isJSXExpressionContainer(e)&&(n=!0)})),n?"":t):""};function E(e){let t,n=e[0],r=1;for(;r<e.length;){const o=e[r],s=e[r+1];if(r+=2,("optionalAccess"===o||"optionalCall"===o)&&null==n)return;"access"===o||"optionalAccess"===o?(t=n,n=s(n)):"call"!==o&&"optionalCall"!==o||(n=s(((...e)=>n.call(t,...e))),t=void 0)}return n}function y(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var C,m,b,S,v,x,$,H,T,L,O,N,I,w,k,M,B,P,G,D={};function U(){return C||(C=1,function(e){e.isInteger=e=>"number"==typeof e?Number.isInteger(e):"string"==typeof e&&""!==e.trim()&&Number.isInteger(Number(e)),e.find=(e,t)=>e.nodes.find((e=>e.type===t)),e.exceedsLimit=(t,n,r=1,o)=>!1!==o&&(!(!e.isInteger(t)||!e.isInteger(n))&&(Number(n)-Number(t))/Number(r)>=o),e.escapeNode=(e,t=0,n)=>{const r=e.nodes[t];r&&(n&&r.type===n||"open"===r.type||"close"===r.type)&&!0!==r.escaped&&(r.value="\\"+r.value,r.escaped=!0)},e.encloseBrace=e=>"brace"===e.type&&(!(e.commas>>0+e.ranges)&&(e.invalid=!0,!0)),e.isInvalidBrace=e=>"brace"===e.type&&(!(!0!==e.invalid&&!e.dollar)||(e.commas>>0+e.ranges?(!0!==e.open||!0!==e.close)&&(e.invalid=!0,!0):(e.invalid=!0,!0))),e.isOpenOrClose=e=>"open"===e.type||"close"===e.type||(!0===e.open||!0===e.close),e.reduce=e=>e.reduce(((e,t)=>("text"===t.type&&e.push(t.value),"range"===t.type&&(t.type="text"),e)),[]),e.flatten=(...e)=>{const t=[],n=e=>{for(let r=0;r<e.length;r++){const o=e[r];Array.isArray(o)?n(o):void 0!==o&&t.push(o)}return t};return n(e),t}}(D)),D}function K(){if(b)return m;b=1;const e=U();return m=(t,n={})=>{const r=(t,o={})=>{const s=n.escapeInvalid&&e.isInvalidBrace(o),a=!0===t.invalid&&!0===n.escapeInvalid;let i="";if(t.value)return(s||a)&&e.isOpenOrClose(t)?"\\"+t.value:t.value;if(t.value)return t.value;if(t.nodes)for(const e of t.nodes)i+=r(e);return i};return r(t)}} /*! * is-number <https://github.com/jonschlinkert/is-number> * * Copyright (c) 2014-present, Jon Schlinkert. * Released under the MIT License. */function X(){return v?S:(v=1,S=function(e){return"number"==typeof e?e-e==0:"string"==typeof e&&""!==e.trim()&&(Number.isFinite?Number.isFinite(+e):isFinite(+e))})} /*! * to-regex-range <https://github.com/micromatch/to-regex-range> * * Copyright (c) 2015-present, Jon Schlinkert. * Released under the MIT License. */function j(){if($)return x;$=1;const e=X(),t=(n,s,a)=>{if(!1===e(n))throw new TypeError("toRegexRange: expected the first argument to be a number");if(void 0===s||n===s)return String(n);if(!1===e(s))throw new TypeError("toRegexRange: expected the second argument to be a number.");let i={relaxZeros:!0,...a};"boolean"==typeof i.strictZeros&&(i.relaxZeros=!1===i.strictZeros);let u=n+":"+s+"="+String(i.relaxZeros)+String(i.shorthand)+String(i.capture)+String(i.wrap);if(t.cache.hasOwnProperty(u))return t.cache[u].result;let c=Math.min(n,s),l=Math.max(n,s);if(1===Math.abs(c-l)){let e=n+"|"+s;return i.capture?`(${e})`:!1===i.wrap?e:`(?:${e})`}let f=p(n)||p(s),d={min:n,max:s,a:c,b:l},A=[],g=[];if(f&&(d.isPadded=f,d.maxLen=String(d.max).length),c<0){g=r(l<0?Math.abs(l):1,Math.abs(c),d,i),c=d.a=0}return l>=0&&(A=r(c,l,d,i)),d.negatives=g,d.positives=A,d.result=function(e,t){let n=o(e,t,"-",!1)||[],r=o(t,e,"",!1)||[],s=o(e,t,"-?",!0)||[];return n.concat(s).concat(r).join("|")}(g,A),!0===i.capture?d.result=`(${d.result})`:!1!==i.wrap&&A.length+g.length>1&&(d.result=`(?:${d.result})`),t.cache[u]=d,d.result};function n(e,t,n){if(e===t)return{pattern:e,count:[],digits:0};let r=function(e,t){let n=[];for(let r=0;r<e.length;r++)n.push([e[r],t[r]]);return n}(e,t),o=r.length,s="",a=0;for(let e=0;e<o;e++){let[t,n]=r[e];t===n?s+=t:"0"!==t||"9"!==n?s+=l(t,n):a++}return a&&(s+=!0===n.shorthand?"\\d":"[0-9]"),{pattern:s,count:[a],digits:o}}function r(e,t,r,o){let a,l=function(e,t){let n=1,r=1,o=i(e,n),a=new Set([t]);for(;e<=o&&o<=t;)a.add(o),n+=1,o=i(e,n);for(o=u(t+1,r)-1;e<o&&o<=t;)a.add(o),r+=1,o=u(t+1,r)-1;return a=[...a],a.sort(s),a}(e,t),p=[],d=e;for(let e=0;e<l.length;e++){let t=l[e],s=n(String(d),String(t),o),i="";r.isPadded||!a||a.pattern!==s.pattern?(r.isPadded&&(i=f(t,r,o)),s.string=i+s.pattern+c(s.count),p.push(s),d=t+1,a=s):(a.count.length>1&&a.count.pop(),a.count.push(s.count[0]),a.string=a.pattern+c(a.count),d=t+1)}return p}function o(e,t,n,r,o){let s=[];for(let o of e){let{string:e}=o;r||a(t,"string",e)||s.push(n+e),r&&a(t,"string",e)&&s.push(n+e)}return s}function s(e,t){return e>t?1:t>e?-1:0}function a(e,t,n){return e.some((e=>e[t]===n))}function i(e,t){return Number(String(e).slice(0,-t)+"9".repeat(t))}function u(e,t){return e-e%Math.pow(10,t)}function c(e){let[t=0,n=""]=e;return n||t>1?`{${t+(n?","+n:"")}}`:""}function l(e,t,n){return`[${e}${t-e==1?"":"-"}${t}]`}function p(e){return/^-?(0+)\d/.test(e)}function f(e,t,n){if(!t.isPadded)return e;let r=Math.abs(t.maxLen-String(e).length),o=!1!==n.relaxZeros;switch(r){case 0:return"";case 1:return o?"0?":"0";case 2:return o?"0{0,2}":"00";default:return o?`0{0,${r}}`:`0{${r}}`}}return t.cache={},t.clearCache=()=>t.cache={},x=t} /*! * fill-range <https://github.com/jonschlinkert/fill-range> * * Copyright (c) 2014-present, Jon Schlinkert. * Licensed under the MIT License. */function F(){if(T)return H;T=1;const e=c,t=j(),n=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),r=e=>"number"==typeof e||"string"==typeof e&&""!==e,o=e=>Number.isInteger(+e),s=e=>{let t=`${e}`,n=-1;if("-"===t[0]&&(t=t.slice(1)),"0"===t)return!1;for(;"0"===t[++n];);return n>0},a=(e,t,n)=>{if(t>0){let n="-"===e[0]?"-":"";n&&(e=e.slice(1)),e=n+e.padStart(n?t-1:t,"0")}return!1===n?String(e):e},i=(e,t)=>{let n="-"===e[0]?"-":"";for(n&&(e=e.slice(1),t--);e.length<t;)e="0"+e;return n?"-"+e:e},u=(e,n,r,o)=>{if(r)return t(e,n,{wrap:!1,...o});let s=String.fromCharCode(e);return e===n?s:`[${s}-${String.fromCharCode(n)}]`},l=(e,n,r)=>{if(Array.isArray(e)){let t=!0===r.wrap,n=r.capture?"":"?:";return t?`(${n}${e.join("|")})`:e.join("|")}return t(e,n,r)},p=(...t)=>new RangeError("Invalid range arguments: "+e.inspect(...t)),f=(e,t,n)=>{if(!0===n.strictRanges)throw p([e,t]);return[]},d=(e,t,n=1,r={})=>{let o=Number(e),c=Number(t);if(!Number.isInteger(o)||!Number.isInteger(c)){if(!0===r.strictRanges)throw p([e,t]);return[]}0===o&&(o=0),0===c&&(c=0);let f=o>c,d=String(e),A=String(t),g=String(n);n=Math.max(Math.abs(n),1);let h=s(d)||s(A)||s(g),R=h?Math.max(d.length,A.length,g.length):0,_=!1===h&&!1===((e,t,n)=>"string"==typeof e||"string"==typeof t||!0===n.stringify)(e,t,r),E=r.transform||(e=>t=>!0===e?Number(t):String(t))(_);if(r.toRegex&&1===n)return u(i(e,R),i(t,R),!0,r);let y={negatives:[],positives:[]},C=[],m=0;for(;f?o>=c:o<=c;)!0===r.toRegex&&n>1?y[(b=o)<0?"negatives":"positives"].push(Math.abs(b)):C.push(a(E(o,m),R,_)),o=f?o-n:o+n,m++;var b;return!0===r.toRegex?n>1?((e,t,n)=>{e.negatives.sort(((e,t)=>e<t?-1:e>t?1:0)),e.positives.sort(((e,t)=>e<t?-1:e>t?1:0));let r,o=t.capture?"":"?:",s="",a="";return e.positives.length&&(s=e.positives.map((e=>i(String(e),n))).join("|")),e.negatives.length&&(a=`-(${o}${e.negatives.map((e=>i(String(e),n))).join("|")})`),r=s&&a?`${s}|${a}`:s||a,t.wrap?`(${o}${r})`:r})(y,r,R):l(C,null,{wrap:!1,...r}):C},A=(e,t,s,a={})=>{if(null==t&&r(e))return[e];if(!r(e)||!r(t))return f(e,t,a);if("function"==typeof s)return A(e,t,1,{transform:s});if(n(s))return A(e,t,0,s);let i={...a};return!0===i.capture&&(i.wrap=!0),s=s||i.step||1,o(s)?o(e)&&o(t)?d(e,t,s,i):((e,t,n=1,r={})=>{if(!o(e)&&e.length>1||!o(t)&&t.length>1)return f(e,t,r);let s=r.transform||(e=>String.fromCharCode(e)),a=`${e}`.charCodeAt(0),i=`${t}`.charCodeAt(0),c=a>i,p=Math.min(a,i),d=Math.max(a,i);if(r.toRegex&&1===n)return u(p,d,!1,r);let A=[],g=0;for(;c?a>=i:a<=i;)A.push(s(a,g)),a=c?a-n:a+n,g++;return!0===r.toRegex?l(A,null,{wrap:!1,options:r}):A})(e,t,Math.max(Math.abs(s),1),i):null==s||n(s)?A(e,t,1,s):((e,t)=>{if(!0===t.strictRanges)throw new TypeError(`Expected step "${e}" to be a number`);return[]})(s,i)};return H=A}function Q(){if(B)return M;B=1;const e=K(),{MAX_LENGTH:t,CHAR_BACKSLASH:n,CHAR_BACKTICK:r,CHAR_COMMA:o,CHAR_DOT:s,CHAR_LEFT_PARENTHESES:a,CHAR_RIGHT_PARENTHESES:i,CHAR_LEFT_CURLY_BRACE:u,CHAR_RIGHT_CURLY_BRACE:c,CHAR_LEFT_SQUARE_BRACKET:l,CHAR_RIGHT_SQUARE_BRACKET:p,CHAR_DOUBLE_QUOTE:f,CHAR_SINGLE_QUOTE:d,CHAR_NO_BREAK_SPACE:A,CHAR_ZERO_WIDTH_NOBREAK_SPACE:g}=k?w:(k=1,w={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:"\n",CHAR_NO_BREAK_SPACE:" ",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:"\t",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\ufeff"});return M=(h,R={})=>{if("string"!=typeof h)throw new TypeError("Expected a string");const _=R||{},E="number"==typeof _.maxLength?Math.min(t,_.maxLength):t;if(h.length>E)throw new SyntaxError(`Input length (${h.length}), exceeds max characters (${E})`);const y={type:"root",input:h,nodes:[]},C=[y];let m=y,b=y,S=0;const v=h.length;let x,$=0,H=0;const T=()=>h[$++],L=e=>{if("text"===e.type&&"dot"===b.type&&(b.type="text"),!b||"text"!==b.type||"text"!==e.type)return m.nodes.push(e),e.parent=m,e.prev=b,b=e,e;b.value+=e.value};for(L({type:"bos"});$<v;)if(m=C[C.length-1],x=T(),x!==g&&x!==A)if(x!==n)if(x!==p)if(x!==l)if(x!==a)if(x!==i)if(x!==f&&x!==d&&x!==r)if(x!==u)if(x!==c)if(x===o&&H>0){if(m.ranges>0){m.ranges=0;const t=m.nodes.shift();m.nodes=[t,{type:"text",value:e(m)}]}L({type:"comma",value:x}),m.commas++}else if(x===s&&H>0&&0===m.commas){const e=m.nodes;if(0===H||0===e.length){L({type:"text",value:x});continue}if("dot"===b.type){if(m.range=[],b.value+=x,b.type="range",3!==m.nodes.length&&5!==m.nodes.length){m.invalid=!0,m.ranges=0,b.type="text";continue}m.ranges++,m.args=[];continue}if("range"===b.type){e.pop();const t=e[e.length-1];t.value+=b.value+x,b=t,m.ranges--;continue}L({type:"dot",value:x})}else L({type:"text",value:x});else{if("brace"!==m.type){L({type:"text",value:x});continue}const e="close";m=C.pop(),m.close=!0,L({type:e,value:x}),H--,m=C[C.length-1]}else{H++;const e=b.value&&"$"===b.value.slice(-1)||!0===m.dollar;m=L({type:"brace",open:!0,close:!1,dollar:e,depth:H,commas:0,ranges:0,nodes:[]}),C.push(m),L({type:"open",value:x})}else{const e=x;let t;for(!0!==R.keepQuotes&&(x="");$<v&&(t=T());)if(t!==n){if(t===e){!0===R.keepQuotes&&(x+=t);break}x+=t}else x+=t+T();L({type:"text",value:x})}else{if("paren"!==m.type){L({type:"text",value:x});continue}m=C.pop(),L({type:"text",value:x}),m=C[C.length-1]}else m=L({type:"paren",nodes:[]}),C.push(m),L({type:"text",value:x});else{let e;for(S++;$<v&&(e=T());)if(x+=e,e!==l)if(e!==n){if(e===p&&(S--,0===S))break}else x+=T();else S++;L({type:"text",value:x})}else L({type:"text",value:"\\"+x});else L({type:"text",value:(R.keepEscaping?x:"")+T()});do{if(m=C.pop(),"root"!==m.type){m.nodes.forEach((e=>{e.nodes||("open"===e.type&&(e.isOpen=!0),"close"===e.type&&(e.isClose=!0),e.nodes||(e.type="text"),e.invalid=!0)}));const e=C[C.length-1],t=e.nodes.indexOf(m);e.nodes.splice(t,1,...m.nodes)}}while(C.length>0);return L({type:"eos"}),y}}function q(){if(G)return P;G=1;const e=K(),t=function(){if(O)return L;O=1;const e=F(),t=U();return L=(n,r={})=>{const o=(n,s={})=>{const a=t.isInvalidBrace(s),i=!0===n.invalid&&!0===r.escapeInvalid,u=!0===a||!0===i,c=!0===r.escapeInvalid?"\\":"";let l="";if(!0===n.isOpen)return c+n.value;if(!0===n.isClose)return console.log("node.isClose",c,n.value),c+n.value;if("open"===n.type)return u?c+n.value:"(";if("close"===n.type)return u?c+n.value:")";if("comma"===n.type)return"comma"===n.prev.type?"":u?n.value:"|";if(n.value)return n.value;if(n.nodes&&n.ranges>0){const o=t.reduce(n.nodes),s=e(...o,{...r,wrap:!1,toRegex:!0,strictZeros:!0});if(0!==s.length)return o.length>1&&s.length>1?`(${s})`:s}if(n.nodes)for(const e of n.nodes)l+=o(e,n);return l};return o(n)}}(),n=function(){if(I)return N;I=1;const e=F(),t=K(),n=U(),r=(e="",t="",o=!1)=>{const s=[];if(e=[].concat(e),!(t=[].concat(t)).length)return e;if(!e.length)return o?n.flatten(t).map((e=>`{${e}}`)):t;for(const n of e)if(Array.isArray(n))for(const e of n)s.push(r(e,t,o));else for(let e of t)!0===o&&"string"==typeof e&&(e=`{${e}}`),s.push(Array.isArray(e)?r(n,e,o):n+e);return n.flatten(s)};return N=(o,s={})=>{const a=void 0===s.rangeLimit?1e3:s.rangeLimit,i=(o,u={})=>{o.queue=[];let c=u,l=u.queue;for(;"brace"!==c.type&&"root"!==c.type&&c.parent;)c=c.parent,l=c.queue;if(o.invalid||o.dollar)return void l.push(r(l.pop(),t(o,s)));if("brace"===o.type&&!0!==o.invalid&&2===o.nodes.length)return void l.push(r(l.pop(),["{}"]));if(o.nodes&&o.ranges>0){const i=n.reduce(o.nodes);if(n.exceedsLimit(...i,s.step,a))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let u=e(...i,s);return 0===u.length&&(u=t(o,s)),l.push(r(l.pop(),u)),void(o.nodes=[])}const p=n.encloseBrace(o);let f=o.queue,d=o;for(;"brace"!==d.type&&"root"!==d.type&&d.parent;)d=d.parent,f=d.queue;for(let e=0;e<o.nodes.length;e++){const t=o.nodes[e];"comma"!==t.type||"brace"!==o.type?"close"!==t.type?t.value&&"open"!==t.type?f.push(r(f.pop(),t.value)):t.nodes&&i(t,o):l.push(r(l.pop(),f,p)):(1===e&&f.push(""),f.push(""))}return f};return n.flatten(i(o))}}(),r=Q(),o=(e,t={})=>{let n=[];if(Array.isArray(e))for(const r of e){const e=o.create(r,t);Array.isArray(e)?n.push(...e):n.push(e)}else n=[].concat(o.create(e,t));return t&&!0===t.expand&&!0===t.nodupes&&(n=[...new Set(n)]),n};return o.parse=(e,t={})=>r(e,t),o.stringify=(t,n={})=>e("string"==typeof t?o.parse(t,n):t,n),o.compile=(e,n={})=>("string"==typeof e&&(e=o.parse(e,n)),t(e,n)),o.expand=(e,t={})=>{"string"==typeof e&&(e=o.parse(e,t));let r=n(e,t);return!0===t.noempty&&(r=r.filter(Boolean)),!0===t.nodupes&&(r=[...new Set(r)]),r},o.create=(e,t={})=>""===e||e.length<3?[e]:!0!==t.expand?o.compile(e,t):o.expand(e,t),P=o}var W,Z,J,Y,z,V,ee,te,ne,re,oe,se,ae,ie={};function ue(){if(Z)return W;Z=1;const t=e,n="\\\\/",r=`[^${n}]`,o="\\.",s="\\/",a="[^/]",i=`(?:${s}|$)`,u=`(?:^|${s})`,c=`${o}{1,2}${i}`,l={DOT_LITERAL:o,PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:s,ONE_CHAR:"(?=.)",QMARK:a,END_ANCHOR:i,DOTS_SLASH:c,NO_DOT:`(?!${o})`,NO_DOTS:`(?!${u}${c})`,NO_DOT_SLASH:`(?!${o}{0,1}${i})`,NO_DOTS_SLASH:`(?!${c})`,QMARK_NO_DOT:`[^.${s}]`,STAR:`${a}*?`,START_ANCHOR:u},p={...l,SLASH_LITERAL:`[${n}]`,QMARK:r,STAR:`${r}*?`,DOTS_SLASH:`${o}{1,2}(?:[${n}]|$)`,NO_DOT:`(?!${o})`,NO_DOTS:`(?!(?:^|[${n}])${o}{1,2}(?:[${n}]|$))`,NO_DOT_SLASH:`(?!${o}{0,1}(?:[${n}]|$))`,NO_DOTS_SLASH:`(?!${o}{1,2}(?:[${n}]|$))`,QMARK_NO_DOT:`[^.${n}]`,START_ANCHOR:`(?:^|[${n}])`,END_ANCHOR:`(?:[${n}]|$)`};return W={MAX_LENGTH:65536,POSIX_REGEX_SOURCE:{alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"},REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},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:t.sep,extglobChars:e=>({"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}),globChars:e=>!0===e?p:l}}function ce(){return J||(J=1,function(t){const n=e,r="win32"===process.platform,{REGEX_BACKSLASH:o,REGEX_REMOVE_BACKSLASH:s,REGEX_SPECIAL_CHARS:a,REGEX_SPECIAL_CHARS_GLOBAL:i}=ue();t.isObject=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),t.hasRegexChars=e=>a.test(e),t.isRegexChar=e=>1===e.length&&t.hasRegexChars(e),t.escapeRegex=e=>e.replace(i,"\\$1"),t.toPosixSlashes=e=>e.replace(o,"/"),t.removeBackslashes=e=>e.replace(s,(e=>"\\"===e?"":e)),t.supportsLookbehinds=()=>{const e=process.version.slice(1).split(".").map(Number);return 3===e.length&&e[0]>=9||8===e[0]&&e[1]>=10},t.isWindows=e=>e&&"boolean"==typeof e.windows?e.windows:!0===r||"\\"===n.sep,t.escapeLast=(e,n,r)=>{const o=e.lastIndexOf(n,r);return-1===o?e:"\\"===e[o-1]?t.escapeLast(e,n,o-1):`${e.slice(0,o)}\\${e.slice(o)}`},t.removePrefix=(e,t={})=>{let n=e;return n.startsWith("./")&&(n=n.slice(2),t.prefix="./"),n},t.wrapOutput=(e,t={},n={})=>{let r=`${n.contains?"":"^"}(?:${e})${n.contains?"":"$"}`;return!0===t.negated&&(r=`(?:^(?!${r}).*$)`),r}}(ie)),ie}function le(){if(ne)return te;ne=1;const t=e,n=function(){if(z)return Y;z=1;const e=ce(),{CHAR_ASTERISK:t,CHAR_AT:n,CHAR_BACKWARD_SLASH:r,CHAR_COMMA:o,CHAR_DOT:s,CHAR_EXCLAMATION_MARK:a,CHAR_FORWARD_SLASH:i,CHAR_LEFT_CURLY_BRACE:u,CHAR_LEFT_PARENTHESES:c,CHAR_LEFT_SQUARE_BRACKET:l,CHAR_PLUS:p,CHAR_QUESTION_MARK:f,CHAR_RIGHT_CURLY_BRACE:d,CHAR_RIGHT_PARENTHESES:A,CHAR_RIGHT_SQUARE_BRACKET:g}=ue(),h=e=>e===i||e===r,R=e=>{!0!==e.isPrefix&&(e.depth=e.isGlobstar?1/0:1)};return Y=(_,E)=>{const y=E||{},C=_.length-1,m=!0===y.parts||!0===y.scanToEnd,b=[],S=[],v=[];let x,$,H=_,T=-1,L=0,O=0,N=!1,I=!1,w=!1,k=!1,M=!1,B=!1,P=!1,G=!1,D=!1,U=!1,K=0,X={value:"",depth:0,isGlob:!1};const j=()=>T>=C,F=()=>(x=$,H.charCodeAt(++T));for(;T<C;){let e;if($=F(),$!==r){if(!0===B||$===u){for(K++;!0!==j()&&($=F());)if($!==r)if($!==u){if(!0!==B&&$===s&&($=F())===s){if(N=X.isBrace=!0,w=X.isGlob=!0,U=!0,!0===m)continue;break}if(!0!==B&&$===o){if(N=X.isBrace=!0,w=X.isGlob=!0,U=!0,!0===m)continue;break}if($===d&&(K--,0===K)){B=!1,N=X.isBrace=!0,U=!0;break}}else K++;else P=X.backslashes=!0,F();if(!0===m)continue;break}if($!==i){if(!0!==y.noext&&!0==($===p||$===n||$===t||$===f||$===a)&&H.charCodeAt(T+1)===c){if(w=X.isGlob=!0,k=X.isExtglob=!0,U=!0,$===a&&T===L&&(D=!0),!0===m){for(;!0!==j()&&($=F());)if($!==r){if($===A){w=X.isGlob=!0,U=!0;break}}else P=X.backslashes=!0,$=F();continue}break}if($===t){if(x===t&&(M=X.isGlobstar=!0),w=X.isGlob=!0,U=!0,!0===m)continue;break}if($===f){if(w=X.isGlob=!0,U=!0,!0===m)continue;break}if($===l){for(;!0!==j()&&(e=F());)if(e!==r){if(e===g){I=X.isBracket=!0,w=X.isGlob=!0,U=!0;break}}else P=X.backslashes=!0,F();if(!0===m)continue;break}if(!0===y.nonegate||$!==a||T!==L){if(!0!==y.noparen&&$===c){if(w=X.isGlob=!0,!0===m){for(;!0!==j()&&($=F());)if($!==c){if($===A){U=!0;break}}else P=X.backslashes=!0,$=F();continue}break}if(!0===w){if(U=!0,!0===m)continue;break}}else G=X.negated=!0,L++}else{if(b.push(T),S.push(X),X={value:"",depth:0,isGlob:!1},!0===U)continue;if(x===s&&T===L+1){L+=2;continue}O=T+1}}else P=X.backslashes=!0,$=F(),$===u&&(B=!0)}!0===y.noext&&(k=!1,w=!1);let Q=H,q="",W="";L>0&&(q=H.slice(0,L),H=H.slice(L),O-=L),Q&&!0===w&&O>0?(Q=H.slice(0,O),W=H.slice(O)):!0===w?(Q="",W=H):Q=H,Q&&""!==Q&&"/"!==Q&&Q!==H&&h(Q.charCodeAt(Q.length-1))&&(Q=Q.slice(0,-1)),!0===y.unescape&&(W&&(W=e.removeBackslashes(W)),Q&&!0===P&&(Q=e.removeBackslashes(Q)));const Z={prefix:q,input:_,start:L,base:Q,glob:W,isBrace:N,isBracket:I,isGlob:w,isExtglob:k,isGlobstar:M,negated:G,negatedExtglob:D};if(!0===y.tokens&&(Z.maxDepth=0,h($)||S.push(X),Z.tokens=S),!0===y.parts||!0===y.tokens){let e;for(let t=0;t<b.length;t++){const n=e?e+1:L,r=b[t],o=_.slice(n,r);y.tokens&&(0===t&&0!==L?(S[t].isPrefix=!0,S[t].value=q):S[t].value=o,R(S[t]),Z.maxDepth+=S[t].depth),0===t&&""===o||v.push(o),e=r}if(e&&e+1<_.length){const t=_.slice(e+1);v.push(t),y.tokens&&(S[S.length-1].value=t,R(S[S.length-1]),Z.maxDepth+=S[S.length-1].depth)}Z.slashes=b,Z.parts=v}return Z}}(),r=function(){if(ee)return V;ee=1;const e=ue(),t=ce(),{MAX_LENGTH:n,POSIX_REGEX_SOURCE:r,REGEX_NON_SPECIAL_CHARS:o,REGEX_SPECIAL_CHARS_BACKREF:s,REPLACEMENTS:a}=e,i=(e,n)=>{if("function"==typeof n.expandRange)return n.expandRange(...e,n);e.sort();const r=`[${e.join("-")}]`;try{new RegExp(r)}catch(n){return e.map((e=>t.escapeRegex(e))).join("..")}return r},u=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,c=(l,p)=>{if("string"!=typeof l)throw new TypeError("Expected a string");l=a[l]||l;const f={...p},d="number"==typeof f.maxLength?Math.min(n,f.maxLength):n;let A=l.length;if(A>d)throw new SyntaxError(`Input length: ${A}, exceeds maximum allowed length: ${d}`);const g={type:"bos",value:"",output:f.prepend||""},h=[g],R=f.capture?"":"?:",_=t.isWindows(p),E=e.globChars(_),y=e.extglobChars(E),{DOT_LITERAL:C,PLUS_LITERAL:m,SLASH_LITERAL:b,ONE_CHAR:S,DOTS_SLASH:v,NO_DOT:x,NO_DOT_SLASH:$,NO_DOTS_SLASH:H,QMARK:T,QMARK_NO_DOT:L,STAR:O,START_ANCHOR:N}=E,I=e=>`(${R}(?:(?!${N}${e.dot?v:C}).)*?)`,w=f.dot?"":x,k=f.dot?T:L;let M=!0===f.bash?I(f):O;f.capture&&(M=`(${M})`),"boolean"==typeof f.noext&&(f.noextglob=f.noext);const B={input:l,index:-1,start:0,dot:!0===f.dot,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:h};l=t.removePrefix(l,B),A=l.length;const P=[],G=[],D=[];let U,K=g;const X=()=>B.index===A-1,j=B.peek=(e=1)=>l[B.index+e],F=B.advance=()=>l[++B.index]||"",Q=()=>l.slice(B.index+1),q=(e="",t=0)=>{B.consumed+=e,B.index+=t},W=e=>{B.output+=null!=e.output?e.output:e.value,q(e.value)},Z=()=>{let e=1;for(;"!"===j()&&("("!==j(2)||"?"===j(3));)F(),B.start++,e++;return e%2!=0&&(B.negated=!0,B.start++,!0)},J=e=>{B[e]++,D.push(e)},Y=e=>{B[e]--,D.pop()},z=e=>{if("globstar"===K.type){const t=B.braces>0&&("comma"===e.type||"brace"===e.type),n=!0===e.extglob||P.length&&("pipe"===e.type||"paren"===e.type);"slash"===e.type||"paren"===e.type||t||n||(B.output=B.output.slice(0,-K.output.length),K.type="star",K.value="*",K.output=M,B.output+=K.output)}if(P.length&&"paren"!==e.type&&(P[P.length-1].inner+=e.value),(e.value||e.output)&&W(e),K&&"text"===K.type&&"text"===e.type)return K.value+=e.value,void(K.output=(K.output||"")+e.value);e.prev=K,h.push(e),K=e},V=(e,t)=>{const n={...y[t],conditions:1,inner:""};n.prev=K,n.parens=B.parens,n.output=B.output;const r=(f.capture?"(":"")+n.open;J("parens"),z({type:e,value:t,output:B.output?"":S}),z({type:"paren",extglob:!0,value:F(),output:r}),P.push(n)},ee=e=>{let t,n=e.close+(f.capture?")":"");if("negate"===e.type){let r=M;if(e.inner&&e.inner.length>1&&e.inner.includes("/")&&(r=I(f)),(r!==M||X()||/^\)+$/.test(Q()))&&(n=e.close=`)$))${r}`),e.inner.includes("*")&&(t=Q())&&/^\.[^\\/.]+$/.test(t)){const o=c(t,{...p,fastpaths:!1}).output;n=e.close=`)${o})${r})`}"bos"===e.prev.type&&(B.negatedExtglob=!0)}z({type:"paren",extglob:!0,value:U,output:n}),Y("parens")};if(!1!==f.fastpaths&&!/(^[*!]|[/()[\]{}"])/.test(l)){let e=!1,n=l.replace(s,((t,n,r,o,s,a)=>"\\"===o?(e=!0,t):"?"===o?n?n+o+(s?T.repeat(s.length):""):0===a?k+(s?T.repeat(s.length):""):T.repeat(r.length):"."===o?C.repeat(r.length):"*"===o?n?n+o+(s?M:""):M:n?t:`\\${t}`));return!0===e&&(n=!0===f.unescape?n.replace(/\\/g,""):n.replace(/\\+/g,(e=>e.length%2==0?"\\\\":e?"\\":""))),n===l&&!0===f.contains?(B.output=l,B):(B.output=t.wrapOutput(n,B,p),B)}for(;!X();){if(U=F(),"\0"===U)continue;if("\\"===U){const e=j();if("/"===e&&!0!==f.bash)continue;if("."===e||";"===e)continue;if(!e){U+="\\",z({type:"text",value:U});continue}const t=/^\\+/.exec(Q());let n=0;if(t&&t[0].length>2&&(n=t[0].length,B.index+=n,n%2!=0&&(U+="\\")),!0===f.unescape?U=F():U+=F(),0===B.brackets){z({type:"text",value:U});continue}}if(B.brackets>0&&("]"!==U||"["===K.value||"[^"===K.value)){if(!1!==f.posix&&":"===U){const e=K.value.slice(1);if(e.includes("[")&&(K.posix=!0,e.includes(":"))){const e=K.value.lastIndexOf("["),t=K.value.slice(0,e),n=K.value.slice(e+2),o=r[n];if(o){K.value=t+o,B.backtrack=!0,F(),g.output||1!==h.indexOf(K)||(g.output=S);continue}}}("["===U&&":"!==j()||"-"===U&&"]"===j())&&(U=`\\${U}`),"]"!==U||"["!==K.value&&"[^"!==K.value||(U=`\\${U}`),!0===f.posix&&"!"===U&&"["===K.value&&(U="^"),K.value+=U,W({value:U});continue}if(1===B.quotes&&'"'!==U){U=t.escapeRegex(U),K.value+=U,W({value:U});continue}if('"'===U){B.quotes=1===B.quotes?0:1,!0===f.keepQuotes&&z({type:"text",value:U});continue}if("("===U){J("parens"),z({type:"paren",value:U});continue}if(")"===U){if(0===B.parens&&!0===f.strictBrackets)throw new SyntaxError(u("opening","("));const e=P[P.length-1];if(e&&B.parens===e.parens+1){ee(P.pop());continue}z({type:"paren",value:U,output:B.parens?")":"\\)"}),Y("parens");continue}if("["===U){if(!0!==f.nobracket&&Q().includes("]"))J("brackets");else{if(!0!==f.nobracket&&!0===f.strictBrackets)throw new SyntaxError(u("closing","]"));U=`\\${U}`}z({type:"bracket",value:U});continue}if("]"===U){if(!0===f.nobracket||K&&"bracket"===K.type&&1===K.value.length){z({type:"text",value:U,output:`\\${U}`});continue}if(0===B.brackets){if(!0===f.strictBrackets)throw new SyntaxError(u("opening","["));z({type:"text",value:U,output:`\\${U}`});continue}Y("brackets");const e=K.value.slice(1);if(!0===K.posix||"^"!==e[0]||e.includes("/")||(U=`/${U}`),K.value+=U,W({value:U}),!1===f.literalBrackets||t.hasRegexChars(e))continue;const n=t.escapeRegex(K.value);if(B.output=B.output.slice(0,-K.value.length),!0===f.literalBrackets){B.output+=n,K.value=n;continue}K.value=`(${R}${n}|${K.value})`,B.output+=K.value;continue}if("{"===U&&!0!==f.nobrace){J("braces");const e={type:"brace",value:U,output:"(",outputIndex:B.output.length,tokensIndex:B.tokens.length};G.push(e),z(e);continue}if("}"===U){const e=G[G.length-1];if(!0===f.nobrace||!e){z({type:"text",value:U,output:U});continue}let t=")";if(!0===e.dots){const e=h.slice(),n=[];for(let t=e.length-1;t>=0&&(h.pop(),"brace"!==e[t].type);t--)"dots"!==e[t].type&&n.unshift(e[t].value);t=i(n,f),B.backtrack=!0}if(!0!==e.comma&&!0!==e.dots){const n=B.output.slice(0,e.outputIndex),r=B.tokens.slice(e.tokensIndex);e.value=e.output="\\{",U=t="\\}",B.output=n;for(const e of r)B.output+=e.output||e.value}z({type:"brace",value:U,output:t}),Y("braces"),G.pop();continue}if("|"===U){P.length>0&&P[P.length-1].conditions++,z({type:"text",value:U});continue}if(","===U){let e=U;const t=G[G.length-1];t&&"braces"===D[D.length-1]&&(t.comma=!0,e="|"),z({type:"comma",value:U,output:e});continue}if("/"===U){if("dot"===K.type&&B.index===B.start+1){B.start=B.index+1,B.consumed="",B.output="",h.pop(),K=g;continue}z({type:"slash",value:U,output:b});continue}if("."===U){if(B.braces>0&&"dot"===K.type){"."===K.value&&(K.output=C);const e=G[G.length-1];K.type="dots",K.output+=U,K.value+=U,e.dots=!0;continue}if(B.braces+B.parens===0&&"bos"!==K.type&&"slash"!==K.type){z({type:"text",value:U,output:C});continue}z({type:"dot",value:U,output:C});continue}if("?"===U){if((!K||"("!==K.value)&&!0!==f.noextglob&&"("===j()&&"?"!==j(2)){V("qmark",U);continue}if(K&&"paren"===K.type){const e=j();let n=U;if("<"===e&&!t.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");("("===K.value&&!/[!=<:]/.test(e)||"<"===e&&!/<([!=]|\w+>)/.test(Q()))&&(n=`\\${U}`),z({type:"text",value:U,output:n});continue}if(!0!==f.dot&&("slash"===K.type||"bos"===K.type)){z({type:"qmark",value:U,output:L});continue}z({type:"qmark",value:U,output:T});continue}if("!"===U){if(!0!==f.noextglob&&"("===j()&&("?"!==j(2)||!/[!=<:]/.test(j(3)))){V("negate",U);continue}if(!0!==f.nonegate&&0===B.index){Z();continue}}if("+"===U){if(!0!==f.noextglob&&"("===j()&&"?"!==j(2)){V("plus",U);continue}if(K&&"("===K.value||!1===f.regex){z({type:"plus",value:U,output:m});continue}if(K&&("bracket"===K.type||"paren"===K.type||"brace"===K.type)||B.parens>0){z({type:"plus",value:U});continue}z({type:"plus",value:m});continue}if("@"===U){if(!0!==f.noextglob&&"("===j()&&"?"!==j(2)){z({type:"at",extglob:!0,value:U,output:""});continue}z({type:"text",value:U});continue}if("*"!==U){"$"!==U&&"^"!==U||(U=`\\${U}`);const e=o.exec(Q());e&&(U+=e[0],B.index+=e[0].length),z({type:"text",value:U});continue}if(K&&("globstar"===K.type||!0===K.star)){K.type="star",K.star=!0,K.value+=U,K.output=M,B.backtrack=!0,B.globstar=!0,q(U);continue}let e=Q();if(!0!==f.noextglob&&/^\([^?]/.test(e)){V("star",U);continue}if("star"===K.type){if(!0===f.noglobstar){q(U);continue}const t=K.prev,n=t.prev,r="slash"===t.type||"bos"===t.type,o=n&&("star"===n.type||"globstar"===n.type);if(!0===f.bash&&(!r||e[0]&&"/"!==e[0])){z({type:"star",value:U,output:""});continue}const s=B.braces>0&&("comma"===t.type||"brace"===t.type),a=P.length&&("pipe"===t.type||"paren"===t.type);if(!r&&"paren"!==t.type&&!s&&!a){z({type:"star",value:U,output:""});continue}for(;"/**"===e.slice(0,3);){const t=l[B.index+4];if(t&&"/"!==t)break;e=e.slice(3),q("/**",3)}if("bos"===t.type&&X()){K.type="globstar",K.value+=U,K.output=I(f),B.output=K.output,B.globstar=!0,q(U);continue}if("slash"===t.type&&"bos"!==t.prev.type&&!o&&X()){B.output=B.output.slice(0,-(t.output+K.output).length),t.output=`(?:${t.output}`,K.type="globstar",K.output=I(f)+(f.strictSlashes?")":"|$)"),K.value+=U,B.globstar=!0,B.output+=t.output+K.output,q(U);continue}if("slash"===t.type&&"bos"!==t.prev.type&&"/"===e[0]){const n=void 0!==e[1]?"|$":"";B.output=B.output.slice(0,-(t.output+K.output).length),t.output=`(?:${t.output}`,K.type="globstar",K.output=`${I(f)}${b}|${b}${n})`,K.value+=U,B.output+=t.output+K.output,B.globstar=!0,q(U+F()),z({type:"slash",value:"/",output:""});continue}if("bos"===t.type&&"/"===e[0]){K.type="globstar",K.value+=U,K.output=`(?:^|${b}|${I(f)}${b})`,B.output=K.output,B.globstar=!0,q(U+F()),z({type:"slash",value:"/",output:""});continue}B.output=B.output.slice(0,-K.output.length),K.type="globstar",K.output=I(f),K.value+=U,B.output+=K.output,B.globstar=!0,q(U);continue}const n={type:"star",value:U,output:M};!0!==f.bash?!K||"bracket"!==K.type&&"paren"!==K.type||!0!==f.regex?(B.index!==B.start&&"slash"!==K.type&&"dot"!==K.type||("dot"===K.type?(B.output+=$,K.output+=$):!0===f.dot?(B.output+=H,K.output+=H):(B.output+=w,K.output+=w),"*"!==j()&&(B.output+=S,K.output+=S)),z(n)):(n.output=U,z(n)):(n.output=".*?","bos"!==K.type&&"slash"!==K.type||(n.output=w+n.output),z(n))}for(;B.brackets>0;){if(!0===f.strictBrackets)throw new SyntaxError(u("closing","]"));B.output=t.escapeLast(B.output,"["),Y("brackets")}for(;B.parens>0;){if(!0===f.strictBrackets)throw new SyntaxError(u("closing",")"));B.output=t.escapeLast(B.output,"("),Y("parens")}for(;B.braces>0;){if(!0===f.strictBrackets)throw new SyntaxError(u("closing","}"));B.output=t.escapeLast(B.output,"{"),Y("braces")}if(!0===f.strictSlashes||"star"!==K.type&&"bracket"!==K.type||z({type:"maybe_slash",value:"",output:`${b}?`}),!0===B.backtrack){B.output="";for(const e of B.tokens)B.output+=null!=e.output?e.output:e.value,e.suffix&&(B.output+=e.suffix)}return B};return c.fastpaths=(r,o)=>{const s={...o},i="number"==typeof s.maxLength?Math.min(n,s.maxLength):n,u=r.length;if(u>i)throw new SyntaxError(`Input length: ${u}, exceeds maximum allowed length: ${i}`);r=a[r]||r;const c=t.isWindows(o),{DOT_LITERAL:l,SLASH_LITERAL:p,ONE_CHAR:f,DOTS_SLASH:d,NO_DOT:A,NO_DOTS:g,NO_DOTS_SLASH:h,STAR:R,START_ANCHOR:_}=e.globChars(c),E=s.dot?g:A,y=s.dot?h:A,C=s.capture?"":"?:";let m=!0===s.bash?".*?":R;s.capture&&(m=`(${m})`);const b=e=>!0===e.noglobstar?m:`(${C}(?:(?!${_}${e.dot?d:l}).)*?)`,S=e=>{switch(e){case"*":return`${E}${f}${m}`;case".*":return`${l}${f}${m}`;case"*.*":return`${E}${m}${l}${f}${m}`;case"*/*":return`${E}${m}${p}${f}${y}${m}`;case"**":return E+b(s);case"**/*":return`(?:${E}${b(s)}${p})?${y}${f}${m}`;case"**/*.*":return`(?:${E}${b(s)}${p})?${y}${m}${l}${f}${m}`;case"**/.*":return`(?:${E}${b(s)}${p})?${l}${f}${m}`;default:{const t=/^(.*?)\.(\w+)$/.exec(e);if(!t)return;const n=S(t[1]);if(!n)return;return n+l+t[2]}}},v=t.removePrefix(r,{negated:!1,prefix:""});let x=S(v);return x&&!0!==s.strictSlashes&&(x+=`${p}?`),x},V=c}(),o=ce(),s=ue(),a=(e,t,n=!1)=>{if(Array.isArray(e)){const r=e.map((e=>a(e,t,n))),o=e=>{for(const t of r){const n=t(e);if(n)return n}return!1};return o}const r=(s=e)&&"object"==typeof s&&!Array.isArray(s)&&e.tokens&&e.input;var s;if(""===e||"string"!=typeof e&&!r)throw new TypeError("Expected pattern to be a non-empty string");const i=t||{},u=o.isWindows(t),c=r?a.compileRe(e,t):a.makeRe(e,t,!1,!0),l=c.state;delete c.state;let p=()=>!1;if(i.ignore){const e={...t,ignore:null,onMatch:null,onResult:null};p=a(i.ignore,e,n)}const f=(n,r=!1)=>{const{isMatch:o,match:s,output:f}=a.test(n,c,t,{glob:e,posix:u}),d={glob:e,state:l,regex:c,posix:u,input:n,output:f,match:s,isMatch:o};return"function"==typeof i.onResult&&i.onResult(d),!1===o?(d.isMatch=!1,!!r&&d):p(n)?("function"==typeof i.onIgnore&&i.onIgnore(d),d.isMatch=!1,!!r&&d):("function"==typeof i.onMatch&&i.onMatch(d),!r||d)};return n&&(f.state=l),f};return a.test=(e,t,n,{glob:r,posix:s}={})=>{if("string"!=typeof e)throw new TypeError("Expected input to be a string");if(""===e)return{isMatch:!1,output:""};const i=n||{},u=i.format||(s?o.toPosixSlashes:null);let c=e===r,l=c&&u?u(e):e;return!1===c&&(l=u?u(e):e,c=l===r),!1!==c&&!0!==i.capture||(c=!0===i.matchBase||!0===i.basename?a.matchBase(e,t,n,s):t.exec(l)),{isMatch:Boolean(c),match:c,output:l}},a.matchBase=(e,n,r,s=o.isWindows(r))=>(n instanceof RegExp?n:a.makeRe(n,r)).test(t.basename(e)),a.isMatch=(e,t,n)=>a(t,n)(e),a.parse=(e,t)=>Array.isArray(e)?e.map((e=>a.parse(e,t))):r(e,{...t,fastpaths:!1}),a.scan=(e,t)=>n(e,t),a.compileRe=(e,t,n=!1,r=!1)=>{if(!0===n)return e.output;const o=t||{},s=o.contains?"":"^",i=o.contains?"":"$";let u=`${s}(?:${e.output})${i}`;e&&!0===e.negated&&(u=`^(?!${u}).*$`);const c=a.toRegex(u,t);return!0===r&&(c.state=e),c},a.makeRe=(e,t={},n=!1,o=!1)=>{if(!e||"string"!=typeof e)throw new TypeError("Expected a non-empty string");let s={negated:!1,fastpaths:!0};return!1===t.fastpaths||"."!==e[0]&&"*"!==e[0]||(s.output=r.fastpaths(e,t)),s.output||(s=r(e,t)),a.compileRe(s,t,n,o)},a.toRegex=(e,t)=>{try{const n=t||{};return new RegExp(e,n.flags||(n.nocase?"i":""))}catch(e){if(t&&!0===t.debug)throw e;return/$^/}},a.constants=s,te=a}function pe(){return oe?re:(oe=1,re=le())}var fe=function(){if(ae)return se;ae=1;const e=c,t=q(),n=pe(),r=ce(),o=e=>""===e||"./"===e,s=e=>{const t=e.indexOf("{");return t>-1&&e.indexOf("}",t)>-1},a=(e,t,r)=>{t=[].concat(t),e=[].concat(e);let o=new Set,s=new Set,a=new Set,i=0,u=e=>{a.add(e.output),r&&r.onResult&&r.onResult(e)};for(let a=0;a<t.length;a++){let c=n(String(t[a]),{...r,onResult:u},!0),l=c.state.negated||c.state.negatedExtglob;l&&i++;for(let t of e){let e=c(t,!0);(l?!e.isMatch:e.isMatch)&&(l?o.add(e.output):(o.delete(e.output),s.add(e.output)))}}let c=(i===t.length?[...a]:[...s]).filter((e=>!o.has(e)));if(r&&0===c.length){if(!0===r.failglob)throw new Error(`No matches found for "${t.join(", ")}"`);if(!0===r.nonull||!0===r.nullglob)return r.unescape?t.map((e=>e.replace(/\\/g,""))):t}return c};return a.match=a,a.matcher=(e,t)=>n(e,t),a.any=a.isMatch=(e,t,r)=>n(t,r)(e),a.not=(e,t,n={})=>{t=[].concat(t).map(String);let r=new Set,o=[],s=new Set(a(e,t,{...n,onResult:e=>{n.onResult&&n.onResult(e),o.push(e.output)}}));for(let e of o)s.has(e)||r.add(e);return[...r]},a.contains=(t,n,r)=>{if("string"!=typeof t)throw new TypeError(`Expected a string: "${e.inspect(t)}"`);if(Array.isArray(n))return n.some((e=>a.contains(t,e,r)));if("string"==typeof n){if(o(t)||o(n))return!1;if(t.includes(n)||t.startsWith("./")&&t.slice(2).includes(n))return!0}return a.isMatch(t,n,{...r,contains:!0})},a.matchKeys=(e,t,n)=>{if(!r.isObject(e))throw new TypeError("Expected the first argument to be an object");let o=a(Object.keys(e),t,n),s={};for(let t of o)s[t]=e[t];return s},a.some=(e,t,r)=>{let o=[].concat(e);for(let e of[].concat(t)){let t=n(String(e),r);if(o.some((e=>t(e))))return!0}return!1},a.every=(e,t,r)=>{let o=[].concat(e);for(let e of[].concat(t)){let t=n(String(e),r);if(!o.every((e=>t(e))))return!1}return!0},a.all=(t,r,o)=>{if("string"!=typeof t)throw new TypeError(`Expected a string: "${e.inspect(t)}"`);return[].concat(r).every((e=>n(e,o)(t)))},a.capture=(e,t,o)=>{let s=r.isWindows(o),a=n.makeRe(String(e),{...o,capture:!0}).exec(s?r.toPosixSlashes(t):t);if(a)return a.slice(1).map((e=>void 0===e?"":e))},a.makeRe=(...e)=>n.makeRe(...e),a.scan=(...e)=>n.scan(...e),a.parse=(e,r)=>{let o=[];for(let s of[].concat(e||[]))for(let e of t(String(s),r))o.push(n.parse(e,r));return o},a.braces=(e,n)=>{if("string"!=typeof e)throw new TypeError("Expected a string");return n&&!0===n.nobrace||!s(e)?[e]:t(e,n)},a.braceExpand=(e,t)=>{if("string"!=typeof e)throw new TypeError("Expected a string");return a.braces(e,{...t,expand:!0})},a.hasBraces=s,se=a}(),de=y(fe);const Ae={vue:["vue"],jsx:["jsx","tsx","js","ts"]},ge={vue:(t,n,r,o)=>{const u=e.resolve(process.cwd(),".."),c=e.relative(u,n),{descriptor:l}=a.parse(t,{filename:n,sourceMap:!0}),{template:p}=l;if(!p)return{code:t,map:null};const f=p.loc.start.offset,g=new s(t),h=i.parse(p.content,{comments:!1,isNativeTag:e=>!0}),R=(e,t=[])=>{if(e.type===i.NodeTypes.ELEMENT){if(e.props.some((e=>e.type===i.NodeTypes.ATTRIBUTE&&(e.name===`data-${r}-path`||e.name===`data-${r}-line`))))return;if("template"===e.tag)return;if(((e,t=[])=>"svg"!==E([e,"optionalAccess",e=>e.tag,"optionalAccess",e=>e.toLowerCase,"call",e=>e()])&&t.some((e=>"svg"===E([e,"optionalAccess",e=>e.tag,"optionalAccess",e=>e.toLowerCase,"call",e=>e()]))))(e,t))return;let n=!0;if(E([o,"optionalAccess",e=>e.filterTag])?Array.isArray(o.filterTag)?n=o.filterTag.includes(e.tag):"function"==typeof o.filterTag&&(n=o.filterTag(e.tag)):n=d.includes(e.tag),!n)return;const s=f+e.loc.start.offset+e.tag.length+1,a=p.loc.start.line+e.loc.start.line-1,u=e.loc.start.column-1;let l=[];if(E([o,"optionalAccess",e=>e.attributes])){const t=o.attributes({relativePath:c,line:a,column:u,tag:e.tag});l=Object.entries(t).map((([e,t])=>` ${e}="${t}" `))}else{let t="";if(A.includes(E([e,"optionalAccess",e=>e.tag,"optionalAccess",e=>e.toLowerCase,"call",e=>e()]))&&e.children){e.children.some((e=>e.type===i.NodeTypes.INTERPOLATION||e.type===i.NodeTypes.COMPOUND_EXPRESSION))||(t=e.children.filter((e=>e.type===i.NodeTypes.TEXT)).map((e=>e.content)).join(""))}l=[` data-${r}-path="${c}" `,` data-${r}-line="${a}" `,` data-${r}-start-column="${u}" `,` data-${r}-tag="${e.tag}" `,` data-${r}-component="${encodeURIComponent(E([p,"access",e=>e.content,"access",e=>e.split,"call",e=>e("\n"),"access",e=>e[a-1],"optionalAccess",e=>e.trim,"call",e=>e()])||"")}" `,` data-${r}-id="${c}:${a}:${u}" `,` data-${r}-text="${encodeURIComponent(t)}" `]}d.includes(e.tag)&&g.appendLeft(s,l.join(" "))}e.children&&e.children.forEach((n=>{n.type===i.NodeTypes.ELEMENT&&R(n,[...t,e])}))};return R(h),{code:g.toString(),map:g.generateMap({hires:!0})}},jsx:(t,n,r,o)=>{const s=p.parse(t,{sourceType:"module",plugins:["jsx","typescript","classProperties","decorators-legacy"]}),a=e.resolve(process.cwd(),".."),i=e.relative(a,n);h(s,{JSXOpeningElement(e){const n=g([e,"access",e=>e.node,"access",e=>e.loc,"optionalAccess",e=>e.start,"access",e=>e.line]),s=g([e,"access",e=>e.node,"access",e=>e.loc,"optionalAccess",e=>e.start,"access",e=>e.column]);if(!n||void 0===s)return;const a=t.split("\n").findIndex(((t,r)=>t.trim().includes(`<${"JSXIdentifier"===e.node.name.type?e.node.name.name:""}`)&&r>=n-1))+1;if(e.node.attributes.some((e=>f.isJSXAttribute(e)&&f.isJSXIdentifier(e.name)&&(e.name.name===`data-${r}-path`||e.name.name===`data-${r}-line`))))return;if(f.isJSXIdentifier(e.node.name)&&"Fragment"===e.node.name.name||f.isJSXMemberExpression(e.node.name)&&f.isJSXIdentifier(e.node.name.object)&&"React"===e.node.name.object.name&&f.isJSXIdentifier(e.node.name.property)&&"Fragment"===e.node.name.property.name)return;if((e=>{if(f.isJSXIdentifier(e.node.name)&&"svg"===e.node.name.name)return!1;let t=e.parentPath;for(;t;){if(f.isJSXElement(t.node)){const e=t.node.openingElement.name;if(f.isJSXIdentifier(e)&&"svg"===e.name.toLowerCase())return!0}t=t.parentPath}return!1})(e))return;let u=!0;if(g([o,"optionalAccess",e=>e.filterTag])&&(Array.isArray(o.filterTag)?u=o.filterTag.includes("JSXIdentifier"===e.node.name.type?e.node.name.name:""):"function"==typeof o.filterTag&&(u=o.filterTag("JSXIdentifier"===e.node.name.type?e.node.name.name:""))),!u)return;const c=()=>{const n=g([e,"access",e=>e.node,"access",e=>e.loc,"optionalAccess",e=>e.start,"access",e=>e.line]),r=g([e,"access",e=>e.node,"access",e=>e.loc,"optionalAccess",e=>e.start,"access",e=>e.column]),o=g([e,"access",e=>e.node,"access",e=>e.loc,"optionalAccess",e=>e.end,"access",e=>e.line]),s=g([e,"access",e=>e.node,"access",e=>e.loc,"optionalAccess",e=>e.end,"access",e=>e.column]);if(!n||!o||void 0===r||void 0===s)return t.split("\n")[a-1]||"";const i=t.split("\n");if(n===o){const e=i[n-1]||"";let t=r;for(;t>0&&/\s/.test(e[t-1]);)t--;let o=s;for(;o<e.length&&/\s/.test(e[o]);)o++;return e.substring(t,o)}let u="";for(let e=n-1;e<=o-1;e++){const t=i[e]||"";if(e===n-1){let e=r;for(;e>0&&/\s/.test(t[e-1]);)e--;u+=t.substring(e)}else if(e===o-1){let e=s;for(;e<t.length&&/\s/.test(t[e]);)e++;u+=`\n${t.substring(0,e)}`}else u+=`\n${t}`}return u};let l={};if(g([o,"optionalAccess",e=>e.attributes]))l=o.attributes({relativePath:i,line:a||n,column:s,tag:"JSXIdentifier"===e.node.name.type?e.node.name.name:""});else{const t="JSXIdentifier"===e.node.name.type?e.node.name.name:"",o=A.includes(t.toLowerCase());l={[`data-${r}-path`]:`${i}`,[`data-${r}-line`]:`${a||n}`,[`data-${r}-start-column`]:`${s}`,[`data-${r}-tag`]:`${t}`,[`data-${r}-component`]:encodeURIComponent(c()),[`data-${r}-id`]:`${i}:${a||n}:${s}`,[`data-${r}-project`]:"jsx",[`data-${r}-text`]:o?encodeURIComponent(_(e)):""}}e.node.attributes.push(...Object.entries(l).map((([e,t])=>f.jsxAttribute(f.jsxIdentifier(e),f.stringLiteral(t)))))}});const u=R(s,{},t);return{code:u.code,map:u.map}}},he="locator",Re=["src/**/*.{vue,jsx,tsx,js,ts}"],_e=new Map;exports.viteSourceLocator=function(t={}){const{include:n=Re,exclude:r=[],prefix:o=he,enable:s=!0,attributes:a,filterTag:i}=t,c=Array.isArray(n)?n:[n],l=Array.isArray(r)?r:[r];return{name:"@metagptx/vite-plugin-source-locator",enforce:"pre",apply:"serve",version:"0.0.5",async transform(t,n){if(!s)return;if(!function(e){const t=c.some((t=>de.isMatch(e,t))),n=l.length>0&&l.some((t=>de.isMatch(e,t)));return t&&!n}(e.relative(process.cwd(),n)))return;const r=function(e){return u.createHash("md5").update(e).digest("hex")}(t),p=`${n}:${r}`;if(_e.has(p)){return _e.get(p)}const f=Object.keys(ge).find((e=>Ae[e].some((e=>n.endsWith(`.${e}`)))));if(!f)return;const d=function(e){let t,n=e[0],r=1;for(;r<e.length;){const o=e[r],s=e[r+1];if(r+=2,("optionalAccess"===o||"optionalCall"===o)&&null==n)return;"access"===o||"optionalAccess"===o?(t=n,n=s(n)):"call"!==o&&"optionalCall"!==o||(n=s(((...e)=>n.call(t,...e))),t=void 0)}return n}([ge,"access",e=>e[f],"optionalCall",e=>e(t,n,o,{attributes:a,filterTag:i})]);return _e.set(p,d),d}}}; //# sourceMappingURL=index.js.map