From 8c645a73b3dc0ba8430444d2ee859372bb5da4d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=98=99=E2=97=A6=20The=20Tablet=20=E2=9D=80=20GamerGirla?= =?UTF-8?q?ndCo=20=E2=97=A6=E2=9D=A7?= Date: Tue, 22 Oct 2024 15:32:25 -0400 Subject: [PATCH] =?UTF-8?q?hello=20world!=20=F0=9F=8C=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .editorconfig | 14 + .gitattributes | 4 + .github/workflows/playwright.yml | 38 + .gitignore | 4 + .vscode/settings.json | 3 + .yarn/install-state.gz | Bin 0 -> 272683 bytes .yarnrc.yml | 2 + README.md | 2 + package.json | 8 + .../obsidian-testing-framework/package.json | 43 + .../src/fixtures.ts | 11 + .../obsidian-testing-framework/src/index.ts | 138 + .../src/tester.ts.not | 114 + .../obsidian-testing-framework/src/util.ts | 99 + .../obsidian-testing-framework/tsconfig.json | 42 + .../typings/global.d.ts | 6 + packages/test-project/.editorconfig | 10 + packages/test-project/.eslintignore | 3 + packages/test-project/.eslintrc | 23 + packages/test-project/.gitignore | 26 + packages/test-project/.npmrc | 1 + packages/test-project/README.md | 96 + packages/test-project/e2e/example.spec.ts | 22 + packages/test-project/esbuild.config.mjs | 49 + packages/test-project/main.ts | 134 + packages/test-project/manifest.json | 11 + packages/test-project/package.json | 34 + packages/test-project/playwright.config.ts | 52 + .../tests-examples/demo-todo-app.spec.ts | 437 +++ packages/test-project/tsconfig.json | 24 + packages/test-project/version-bump.mjs | 14 + packages/test-project/versions.json | 3 + vault/.obsidian/app.json | 1 + vault/.obsidian/appearance.json | 1 + vault/.obsidian/community-plugins.json | 3 + vault/.obsidian/core-plugins.json | 30 + vault/.obsidian/graph.json | 22 + vault/.obsidian/plugins/.gitkeep | 0 vault/.obsidian/workspace.json | 159 + vault/Welcome.md | 5 + yarn.lock | 3382 +++++++++++++++++ 41 files changed, 5070 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitattributes create mode 100644 .github/workflows/playwright.yml create mode 100644 .gitignore create mode 100644 .vscode/settings.json create mode 100644 .yarn/install-state.gz create mode 100644 .yarnrc.yml create mode 100644 README.md create mode 100644 package.json create mode 100644 packages/obsidian-testing-framework/package.json create mode 100644 packages/obsidian-testing-framework/src/fixtures.ts create mode 100644 packages/obsidian-testing-framework/src/index.ts create mode 100644 packages/obsidian-testing-framework/src/tester.ts.not create mode 100644 packages/obsidian-testing-framework/src/util.ts create mode 100644 packages/obsidian-testing-framework/tsconfig.json create mode 100644 packages/obsidian-testing-framework/typings/global.d.ts create mode 100644 packages/test-project/.editorconfig create mode 100644 packages/test-project/.eslintignore create mode 100644 packages/test-project/.eslintrc create mode 100644 packages/test-project/.gitignore create mode 100644 packages/test-project/.npmrc create mode 100644 packages/test-project/README.md create mode 100644 packages/test-project/e2e/example.spec.ts create mode 100644 packages/test-project/esbuild.config.mjs create mode 100644 packages/test-project/main.ts create mode 100644 packages/test-project/manifest.json create mode 100644 packages/test-project/package.json create mode 100644 packages/test-project/playwright.config.ts create mode 100644 packages/test-project/tests-examples/demo-todo-app.spec.ts create mode 100644 packages/test-project/tsconfig.json create mode 100644 packages/test-project/version-bump.mjs create mode 100644 packages/test-project/versions.json create mode 100644 vault/.obsidian/app.json create mode 100644 vault/.obsidian/appearance.json create mode 100644 vault/.obsidian/community-plugins.json create mode 100644 vault/.obsidian/core-plugins.json create mode 100644 vault/.obsidian/graph.json create mode 100644 vault/.obsidian/plugins/.gitkeep create mode 100644 vault/.obsidian/workspace.json create mode 100644 vault/Welcome.md create mode 100644 yarn.lock diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..2c706c3 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,14 @@ +root = true + +[*] +end_of_line = lf +insert_final_newline = true + +[*.{js,json,ts,tsx,jsx}] +charset = utf-8 +indent_style = tab +indent_size = 2 + +[*.yml] +indent_style = space +indent_size = 2 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..af3ad12 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,4 @@ +/.yarn/** linguist-vendored +/.yarn/releases/* binary +/.yarn/plugins/**/* binary +/.pnp.* binary linguist-generated diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml new file mode 100644 index 0000000..02cfb79 --- /dev/null +++ b/.github/workflows/playwright.yml @@ -0,0 +1,38 @@ +name: Playwright Tests +on: + push: + branches: [ main, master ] + pull_request: + branches: [ main, master ] +jobs: + test: + timeout-minutes: 60 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: lts/* + - name: Install dependencies + run: | + apt-get update + apt-get install -y jq xdg-utils xvfb + curled=$(curl -L https://github.com/obsidianmd/obsidian-releases/raw/refs/heads/master/desktop-releases.json | jq .latestVersion | sed s/\"//g) + curl -Lo obsidian.deb "https://github.com/obsidianmd/obsidian-releases/releases/download/v$curled/obsidian_${curled}_amd64.deb" + corepack enable + yarn install + cd packages/test-project + yarn playwright install-deps + dpkg -i ../../obsidian.deb + - name: compile and test! + env: + XDG_CONFIG_HOME: /root/.config + run: | + yarn workspace obsidian-testing-framework run tsc + yarn workspace obsidian-sample-plugin run test + - uses: actions/upload-artifact@v4 + if: ${{ !cancelled() }} + with: + name: playwright-report + path: playwright-report/ + retention-days: 30 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a9101f3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +test-results/ +playwright-report/ +node_modules +lib* diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..adcf1ce --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "nuxt.isNuxtApp": false +} diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz new file mode 100644 index 0000000000000000000000000000000000000000..3dd177ba203b3ab94155d02c01f17c821547d815 GIT binary patch literal 272683 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 _wYdKk)owem`qYSN4 zv-W=3$dkebV7T}4evQ2_7yUaT5W!ryV;IY;`t?ex-`c=gm2K43YESwUC+kcz$RrE0 zsq;Lgt@oXkBauUl0ak$9WuT~p>kLkkysp+9ml=8IDT1D}uBI}?wXG<-)imi2P?&0tV+()SMZLidwP~~z;u(ghp<0e#&7|CF84~)HY z0uwFU%SO=!9)*GIy&Ld%g~vLq-6ETjQyFC}{k{*JRcAdxX!UZ+1nv|!Hmuv6ZO$_0 zG;oN2v^9+SOqHrosNFYp(#zh7#;XKICDI*TkaKF=Gyo_Wjm8 z;hiwDEy9LLTi^xV+8UkVN&~l6|d55ZmE3 zk)(C!KE)0{8DX`6jc~&z$@~sNsZ;mdW7bBj7AN{D+E1HOTEDLz0pxQW89>E45U+M= zk?)FM^JKj)TNY$SM)(tATBMwIh)ZUdfCOIW9c!*cY_)52?ZlHmSH5nw#wLL5_1;?> z^rgWz6+F;H3vCMS4T*IR_qGb|JS}nQRH)Zm=TRBEkX2pl@Ma&8u6LBv6_sPP18(s6 z8ha4&w#7uXk6*Z)eU7y)J_7=|uCFnetFZUmgU)F=vvwt9xZ0i>;vuJpY@lx~t**UW zNAY<~eK~}VIb_xb(SNBtu|m=raglM@xXh)jKQ8-S*X_f(W-nDDMLM(}AKUwFKsIMPNGPr!1W?EDEveX8@dy`_ zjM4Xq8V}S}l4;OBxJ%yBtR8Azi`cc81yRGoH}18muzWDq$w$ua4lULwVw2xTgTB;0e) zZZ%`gRl}~8N!zYp^L`%Fg`pB_(rr=|7R|nB)FH5R79?`+(G;OH|M`7A#+e6RxZ#vf znLI#q*xc2gXYq`jytR9CaxA;w7+mCfR1Kk!r|5=nY5Ty8HGM$H*Z6`pw2$AhYsG9C zlM1W!XgJQBt{Nnl9KCz6onl*e&Z6n>%j!Eb|>0#*w4WepY6^Md-q> z!Q7HRck1X&=Wh&q6gJ%H719KsuG#NAc#gFW1|0kQypjD;mP4EXW(<|zYg95PeZN{8 z%a426H&olz`5hoSOI;EWRZ0x5tT4W=^wFnX>LTrORq$P+p;d1PhjsKbMlGXVMrr(u zzeS5}_H!ChL_w@7Oh?v=QLI{(MJ}6=#O%icV(6N*PcI*Caua#%+!m|FhNUc9rZs7; zG=UB5W&!wS-m`52*{Wa^JDR}t{l0_E(ikA@QEulk>Kb!9)*4z+ZMOh@G@_NX%Lt&| zUQH5d!Je(YLO(Qp&i^+N`i$mOQ0fRaKfZPkFmq8xUDUCCRz2t)zq4^KaZ)fEFpMw( z_Hj&cb)3eC?MXM!p>WfJ-_FbxS(Onn#`Kt*MT&QqpxsQ0#0j_5zRFFOUW%y(N#>C| zvWI03Kv1>M^?hD38z`)!2w;1?y1ZE&A3&ZsWfaTVeRErwgzD_hzgO(f+M?)cWSoDyO! zD4Q;}&#t?yttdx9mtisjW=uDZ#|~vvI@+gYb6-=Y|3&b zj*3S)T&lLd6F04c4>PK>l834wphLcwYs|T#s!SM2Jx@DBN0r%ChTa2fzj-a|=AO;W zd|BPMR$*3gCQfV2jUz%D$Bo^c-#57dE@S%1nyD!UmpE#h7+~% z_gD{qLG@F{B(TV+UcOd8GYnYQbJD<0J zR#zEYY@}OMvjI%4_GHL>CUkd*_4F|pdX-sABfK(Q5{^9smXHB%pJ@jtX>T>kSajG9 zslpu(odWSS=MH$qQ)llN@$Bcfn)Nff@D)3RLz5b+?F350jz4H?5MgIUxUO>oubNV0 zddb$#`}=^^YEyQ~!c%dHQgV9sX*4U7_r|&6N>qWFKX~>#n|}ZK&%(Y87}xHd84+yI zT_^Gw_t%+KLZ_o!>>zK)+Pqg8u)Nrh>oG#jNZV<*=I8IPl^uW@0ND|W0ADRDcgYz%P9zzd+*#{G zc5E`rmSA@4JVK6|SltD^2^^99AqWrBrLBqWgZS+kXQQQ_w{*#SZ`?$A|9Q~GmiY7* zMk1;PXG{Sxe8a|FW&6Fo17n)S1{U}1+ivTfDRYut z>`|j|so`fbfg#p<`=ywDJ|C=PL(Z$9uEEyIZst3wRM@EdXxRmt3P8e7~b_>Kie|J9tgw|jRKbsLE7Z@R`}ttLdB0TwH-0HWdl@YuW0cykv-@QN4-ID=_8#l1Us9vAPUKuuEh0~L9edVN zTFbQ#_uY&Au}JK4WLeEIPq3FMhFL;UlF!fU#n!HXzr&xrPs9JvO_H*ra%p;%XZeUfZFjodGTQ==9Z=S3QRo;;j`fYb`4u88hPZ27h3%sIR6V*Y7-xFwNI}9C>KzEg1-(f<%qzWcZkoJ2bkHR3ePl}lew@IZtalwA z`+FnFd&RfWH=Ql2M0!s|;Cg!Qo=RucH<<^x1FduR+BsJkH#Ar>ckCEiC@FyM6vqG# zVQI-3ZXI>wv~pIbeoqIkIb!)W^83ZQ9$;V$W~z6i@W-#5NP1njq>J_@*@)&zvqN&= zD(Ry*+W}8Uj1?*wsnxF|5Ony4&s3-3lXfua^jIl5AAA_)G0$W9e6hIe+;TU;hHRB1 z(OL8Ai<;M%;}w|u+9xMa?TGd+P)A|K_T>sD3JSN_JJDk;=-mw_b;~zumF<@d8h{o6 zSopo67a`gH{P}^SjaPNoy>uG3Jz~{;ReB~jUsaryWnE{N>_EX}op!J1-o=&S={|kk zwR#dg8nmg*ma+|LMH*MXQaRf5w7P5D*3DFj_k7+!FD%O1P;0>P(>ewa=DtguU1wkP zA-!)f+WUfS+ZzcW?S^?BG!7MIpjCnkn~fF7)WofGI*6H@UXoSTs1XSnuEHYERL-Vwn5u`)52d6d-{?`VnQbu7kd1yMs;91rED+-cGqgaAE3vNsVk!pK5TdGy3g#Zl}U!|H)y2FvBS>KF&wup zHP$$!gj-_`zR>>oK`y*XS!xYmwX=|jkP6Fr+)QL%$kmz*TS!R!4yuG6xr_TM#d{Pl z0;aC_vblH65dYkW$-~owMMpm;J>A^A9m3ZqlBW|Ay>&Wt9gZ4h3#|BZ6kLJz)G6BP z*~M!oN_hS?=2$%b8C%o%{P>#`|8!bPrK{1n?d!&QTWpwNJL; z2IlbsPK8?ClRo>TKf5RNvavbvp#h!8V1Ms*ch)p*n@5hY);W zU_IDcy$_e`&N$haTkLUmBKJZomFve5(F+p5;%LlV_`;Q;md{C}Wlp2AFYS8>48 z16f0`V33UII&w2Lrp}V{&`)Db4WkAFI$NQNd-y=0*{g6?;+^3m2Xe23O4om;Xf_py z&ALmWD!2Lh`6&+j*}0n5Z@z)oqIc( z^t+nAN?+Mn?oRYOT*;qgKhyW&>>BfSF7j&m`SV`}4{rqAtJ3+A+}f=fs~a+~rQU{F zZQNu85o@ukWgtANt+iJ_t1^s0GYN)siv^)VX%V6hZ&CX+d~n4aLkeTu!L5Q<%;&*m z%~@*Y`Ll74F;bm7*fsYY z*>1=1ZQ#~*jGoH4b_S!s)X(R)C|+|t1#ar1gu@5f6#Al%0iHX>xol<4P5u3tS8=ar z!+j*BCTfH+ZiiwsTqSOff=3+|Yj&1|MmY`U@jA24+;_9F{SAl^4Bm$CS-Y1=aM9c7{g&4-w@Yz~=|x$4{;8MUxncj@ujL8ZjnpNG=XmU4z z<Xtn{2UnJoso7!H0Ner!+5wt3Lny!%peZ`fj|gtndbY_kiPg=`T}z>D1?#~w&yJ9`wpZC>PF zqQn9Ca>SVI)za+Bl|w_@v|W0qfy(0Z^9Ox{Uh4?w4mx7;?au*(7Ir5TAPMHklud_u zX-!s}+-uKd81#b3tFj`{svFQ@t?l-hj=ZMTRVZc*REc!Vi)(I5g%wxm_xVGSUb0XQ zTqY(BDsCxHcRp?{qi7VJH~A!;_muRkG$%q6R|3&beFQ}eZuZLhRtW6b2e23IhRAK&RGSi{DK#|&PlU=dB- zNu!a&vOMki#F^5c{xB+%&b+N(k#g&elCQ3Ly0-80hpo;#(KafFCL9+pQRv<=0g}Qx z*l|qx)16BRq`j>cWH7iQRp7x`&i2}HK(+LZ2!11#LUJMxz( zsK4_5i)3zCX74MHZ>}UOpy|y)qorB__Bf3Aqik}QdHIsdq}fZ}siO7K9g8wH@4|_g zQ;VAwLCgm`frnE8)w5oR^R@+W?t9!ck@B8H9AVGgV7uFRvnQM~I#aNRlk!?ut>H&+ zZ)#q(^h7leBt+L{7LA`GVT_2 zWz0vGQX~m;!yD1U{ddWWWx=d$@=6_2qV(mvm(AoQ>btDFneR5Q)uaIIAuxAAwMnoy zE*JS!HqXLe;QRB_60P9_>+p6gTeD}&xZTI9ir9ZK* zM$QDAj_g6|aYjDlMhSqj1IkY0NGkgl@bINU9bQEM4!k*Z44YNx?dVyzu`%GzR)%OW zN-sUpx>`JP)^0KGD9zS)qGPT^Pr-o;N7}Jw#K?NxW!WtU(S{V}-Q(PPY>AF~gl=gy z7Xsj%b*#)&mwUm1G^-*d^d$&iG#1CH0~Tw7zAFn`Uu-W+KhF;ZMeXQT6^ZZ6Rqhd` zpg9)&pTyBf*&XqfZIafrpcUav59DYf``w$cY>~Q_Sy*A5(%viT87%O;FR7vTvcZ;eC$4>i#&Wii1mFB9~30$DA zF(wR-EZ*BR43AJXX~Zq);)gTOktc%h3NLVymkO3P2d}yZ^EnYvvt5^_`S-d+-{(@i zj9NJNf^(~__ICL5kGp3=|AbhXy*l%c^=Qzt_nPy}wVnDh^mte82$J{QB)OB@Ki4gHU8|O! zMQ7iWjRL_Cjfrd0ElM35e_E@$+Z6KX+Iyu#)|NoRTk!VBE{z%Fj$6?QJWz2aDotFh z<4O0}e<ZSL`yWF@k_N_ADIB8!n9xFMerp?d^p4slY zN8)Jqbw(4b!}=ChVhS;2!eOi3${rF;=S!Nm(k-SOwZO3U`TfOvMe;bQ+@A*6M2^0P ziid*cr3kQ0>+q#ebRZ$%(_E($O+U?l!XA{9#nS}_Uws6Q-A26t)l1tA(go(9n8;ou zMk~Mc{{8V+f4YDFkN1xlPl#du{Aa&Dh{>~JF1eLY3|+Xiu_)ARi)FQp^_ZGettqkd zGy))2z{%QB5H#c5Vx=0085#JoufqrtTxx@;h?YAG9s(|u_4dMtva(wG{J}DiH+CET zHph<9Su0APyLLJ7wjtMbucnasWYks4(axJ=)Z1{qpWDwQ`kEnHfP*N;V8Q(P3TODWRvXrkA+#a%Vi)vRYLP%_FEd0PMTua> zYumVV^(Zd{RrgBI*`;6>+;gmbMk3I66;f7!#0DPj=^Rz#c0`Qk2xO6SvwNBC z?8bwWz}SeLsOt)++BO@Z9Hif{bWJrHllHL>9fT93U*qEhmEHEq@jWdU%|{09Cuz_c zpnekGl><6w-ErWOl{~jh-<6NrDO{~@Xl*PliHI^yY^U^wkZr}<4D1q@gQmxU)qQ+a z^oh%SqSjF)gTFz!m!VWCy*vQ$B`~DV(R!t?2C{0z7@pBjkg_eOUV!XG!Y-VS9*zq;WKTGUWTV%%q-ODQ_u$^tJ9fxZVpvAzC5# zZm-Q>?ly?Z9HPnVv{Ob2t%=4l3!zx1>2_@)m7|NCxm+ww*@=>jV%FqfQOJNA`+L(N7${BZZ6}B#SH+}T zQ#HL5@tUWzL&u&mz-^Cy){$Q<9N3@ik3as^&vzaF_*Xxa=G0mVuG(#l;zzdyfEGe9 z-&!`^Z?~KS4bmBNkTAQMu606w*r*-w{fwT2>ua)Q1x=g$7cZ*r7qTsdv9s#f&Dk1t z{-xibTk0D~+^KC<5wo!`?EkYQoC9G*wU|vCv&BgwXz#jN#;bG`4)B|hO3m`KqjqS} zQQzFG1fBK$6k^k3Cs-sANG~8F%K1(RHLomMh7&A?$UXYH)+Qh2fnar)234mKi%YB6 zR$A{B$ePS~m}vpwM|O>!i~JFPbhxRr-p1Ez3sYqPJb4m+VI%y0`tIK&?40ZOo#ZFl z;v%U3chsNE3)1Oz%(~aH^u&lQ$v8^YYl75CCfEzL^{1TX_x5`6ZmzBL;wppCnufO<+9ieF8=o!U5`~@ z2Nm>|W#j}oGonQ#Ne& zoqIz;Ga00%W#{cYV5HuDj-$Ib($}}-ot+SWV0!IjO5g(rkG!$Z7-G#C&^DqwGR|h` z{k_EnL&I5~u@W+MDeWF0Pv$Gmy!F9-tJfF*7;_8r^`_us*ELitR!~fc*2d74H6=CA zVZAJfFr-9c#aVpWV-d`USGhcXiBS3DfA}x|nEuy)Z~x@?$G`cv|L#wJjDPq4{VTuv z0h{HzuZISm6BHH-rKyLzow18#xH5_HFB@@%$^pFNQBK1>!EO1P?ZxE6NmT6nNRe~h zNi?-!0vyp>cUEB}H;lj(sW|;5gzk_3_CNpa@8WNN{L7!OjrUJ}B~U^4Db)$=u6;LAl2OfR`jnwEBY5w}BE^fq)Nh-pX3Ech>S41P`^L)6wT% z;Zt6)f(r^O^^&ZKoSzhUE(Zw0pR7?q{cx7^*|{NI1|fBrW={^$Sm$M5a$?~lLv z@gINx4}bq3e)s$T{r>UC|N7$}?;rp4yFdK?$KTZd>kmKv$A7Rt|Lvdt{XhMOKZO1H z4}au;W&wu>y|LH&4pa1s#PyNlm`0+pS3jfoee&>I8|M@@rr~id`T=B*+m-)^M zl&@2hK@iv^V_GOCbG1&k9?1?*^9z$DFS$~fLNre1q=G`ncLxI36~ijCq`<-Deb?Pv zXO!Bs9TKC%@2bkT=QcYHPRlfcU0~EK!Ik?1j{{^3X=DP&?z_Xq95t{fF1r-(uTEx& zr9(6Zcsci3kZleaa0#k0qqH*vQ=V34RA`40nU(Vwz$E(%z>56^kiq@};9h?Le6GI$ z#MWN`CF?H$bj9+*poreG;+dF7m;O*Xcmwh&fll69YqqV79yD&3(o)S(NZNHd%^5in z@t0YB6Z}M9!X*+9z-?FW0r%^CCezdQUT4qVM|=4@>AkN5_d2v%DasOuhW9DvWk(xK zy67 z=rS&+wALzPtfL%w+sx2wjeef`IGBt6y$ZjEDlFVei674R^2$nbLQK)4?t9FjSRa!5+ZFVblqH|f$B#P zHpF|FGeYMB&Ht^H%gC&(HU{Ck>dlKOyTH`{|TGqJ?5?Q$NQfPuogvVA^ao7<28*MKi=0n)d_PzMXv$NoKD8pL`*(XJl*kR>k zcKLqm;Ezz+pNf(sJ zzEOb@GV~}Ue&!)Y5x$pQ9hW29s9<5;eNQ>e2D7iOyd(T&+*M}nb!{2Em{>@_J*9L2 zNJ@nd`naB+Nfu)eU$aR)N=9~QC06der=1#nu>;_ZV3I>i{1jDGN$y?_FQwF-B-p$2 zi#Yw>b_S)3;!zud#l%^9uAIr3y&=A;3QIcqk2~}U#JqjDP=n*1_8VbDshx@CH9ydF zZTjhD4|CEnYmGl@@1u}R1@p29h}$lccaq7Vvmk3?o!-TH;=&CI z9-}IYb3kdRMRaOg@5i%d!V$X{Phh~kh=M`V#vnui-ol&8rZ5b6x$iCezK+^jJSyd2 zS)O6u&+C`1&}SUvm>y@K(y8R%r_74hY$X_ub7o}$L#lSEy3n=dak)8{9qX}756HOW zXBb6q-`U01DqsNf%~-B)onQ-=pWtZUlOl=W<%P~4#AQ2z)d#G8ThDqo-v#U#UcDa< zc-d>)?@U5+AE1WzVWJ1*8h2oRGZ59R@-GRT#rKWSP6j*6Dg`p3S3P|UDK89G_1t#Z z4)r<~-}18>Nmc0_c?6Ncex^eyG4-emSm>dJ%PQeISy;FHtn}?a`|Ux|a0sk1O6Mxm z+vsDA)K#mG2PS#v$@@0@v+#amzE@!}P2-TYW|?jW4jdpk32tL0H=~R$$@OzKPbO~S z>SMPQ1=DkbBQ)ZRxqGU{sW0y+vrhhrb%HPCjt=XZSL7}dI_D>s?C01&J)YOUQ_0%*G3+fey?wASJDi`K9#7(HNEg;*U_<90*YZr1x0wIo#=| zMlsQ}L)6NotQn~MkVl(MY+_3U>B!o(%zk`1wr^YYYNzCefdXeh>{C)Ixl_4w%(t5K zKHms>Kd67)et;jRBrhYbfdRQiRr)LiY}-+u ztK6!fa9-w@33k4Fka{|PcmQVhV`r}T9a%DFaG+p(K$cQdc=q4eRqCO8CF>m*`L;q2 zSjC-`0vhYHV*t&eksutCr;yB9ZDMUiOWq8L4#6p|x!Yy*S8TkX*7-%ythT;J<)L|& zMU0U}tD-2UP7;_5A%4>ZO)vmJ0T#8M!s9+yNeHXEm`zAB(QFB}n5K&h;GTIB3)-_9 z2o#D4RWkzB^Wl!TmRG91>hJ_X*UH|t)P}jU6uxWglu)MU zyY(})_c<$h@`W^kf2zE^U3~?knx0;`MfHA%HAben{MJLtBxGtRX|PctgPc`cdDq%; zEmjtUw5UGz;6HrFP<=vnVl^&{fHHlJV|SY&UWa}2jL1taXcrtSPykk25m_($Zx^ok z7YD@lx(aQ!8t3hR!Ccr0?) zxowjPb__7EUHc)=NB5-%&`ViO;nji(;GWcwYt38A8B@lpZx3<`>zmV?;svQ^co}8k zvgJtKG{@rLE2vD8(R*ErDXjQYT1jnD5};Y%i|pDy_FlZpL`RVs+93W|SOp7uHU?_P zcEX96KSGXEsp|EPr{L-g+4V=ypVnlA&?txZ(zNh$@N;Cmgf}xD{HxW<7BmL+L_dup zTK1z0O;4XW4)wC&uFS`(E(^aHaQfQg`LZ-nq6AFG3X-g+0aJTmDH~nh6=9cAOUy>X z-{%T#t*Ci75(WfScfZd(q-~t__yyYeZNW)i$2qXy*?Z$))o5eoskOg9!UTkLHa3{_ zL%iUeJ)77Y1VVJ8Xh8U4GJ+_oYcxjLzK^jg)7@?5L?Ly+7QN+}EIy5!3UpGgs+G$9g;4uCGk)4AlTh!9mSd6O z;k+>M8kW80h=7rax}nh8yUFgPdKHzq3q!ve~8qg}u^X=^rf#w+gGcU|BIbq3N6FC)F(qny$LxEzML-R|N0T;gHC^{FWg@=amB1*$7%7ZzZQi0$w&WG9#Suyv5W&K_IJ=an6EFY*~H3n_RL;dr&_@`0{^E>qGPtZ zGvK~bqIQ}At+1sk_tNIK{**zIWSyBDmRwx?nB84SN43ra;C4>(1=42DQu@$2yy(G1 z1%9MMG$ZHH%>8tJ3Vo1^gnH`~qX7D1iSEpsz*m^-lEH`00ID&BnWb*0B2|nLtCv3E zL4l?r>t=&qT|%0brDf&ma^sdeq*Jm=IGu-CZ7&%wZa^xcZM(#VMr9f;d#U$5k%sB0 zM;e_^GAQ5=?wUYL-kp(1dt$UpJ zizq-Z7gnblBwy^teb={1tciak>OQipEthTS#)psWv_~N=9ifbvwlI&5x~UWng#uZ% zN?O@7H&eUXW0t`M@*du+Qu-?IHRV3~VoAWr><}5;n9k`ARVZCV2|7FG#K%eU z`>RW1S=eFy`bJRYOhTKD6qrfXMvK%zot{lbW9VA+ovbG?lv%vfPC34V^PhxfOR(@JlOEtK1#;D3F-~K3foZ zmz6ny;xfe|05?F$zav^X#IMTd{Td8%oZZ@G1cN>p#_icf8>cEoxTaiTpSAo>@c!YG zB$p)DCXJfDpOO~_>yc6_xq%*~HShEVh07QU38`F*P3s$R^hP}{8jsamJCej)Uep`B zY5s2tEuL;gTZ8b}9+z8_wut=(2`y~3gNZ5+l6BMD?mBbCmgIvX4#_=X40kw`+}=Z} z?!Gr=e}Df`_jq*nv5`@ab0)$_moeiiYs^JrnS!_rIqj+o>F^=Fk9;fVitgSFjFNIV zJ{0O0TRC`5aZI$+(k}ADH39#W#^`hJIzOC{qWomnG-T)mJHc zz3o^0;`zL~3kVcRw6VJ;fc;oTx@Qu*y=7SWfx${$bv1OjG*(abr{C~tt+VSxK`Jz5 zu8Yz4EN*Iqd8MInW{kh;wLUH`3?dy{pAOKPf_Bq%#?MiWW6`^RL)zNqhQ7Ju-UrwR zKzEf&|NYG6Woj40g=llyp?wSHH_EKJ1|)O$)Yyxg3Go1>dyPMP?zpvOJ*@3nW)s=1 zv%as)^2)*C1Xt5)Hh&vBHWUNlv`y-voM*@3eaN56LBbrn&U<%nJEiP%Vlz0Hb~mG- z*)I1D&U8e8-#dHds_^UHz6&-u3>!WRx)Y8j=j6FtpTUTSdk^d3 z=7Y8Sh4%CQ*F_SrB5hgSR&BC^s?q4SSc;j_-A5U^3{?dyXFU%c{i-&7CGCrCv_>6X zSh3rld1T(nuCfgZtfZq^^(2|AF(Q-@=4s`|P0YKU;m^JAvay@y>Ei@8-#f+~Z~1%y z^q%y3%IFH0?)e_Gfna=@cODSok}rFmE`qs{;Jg+4S^GM>Zcea_UmgUYt%7&68$xEl zrU?W6`5<>?iEsv#9nh_%70B9kaZT8(=X?`4I98ZfWzg*9`ek@!^4_t8DrT>D?qQO{ z>Ka@#bIslBBlFXHyscf=Y!7?^xME{MHBbwp#d2egxph4@&8c{p7T2A%I0d~8UG8SP zt3PEn->b|3D~FV+Z_($vWqDmWybdbhr`oKu500WrC{3;9MQ(B~SKlzQSF;`NnWaL{j3MAKaSr{47Ax8sUfYgt*nRnio5M+Y^l zSM7~1PS!HuERZ8x;Qe5@wtb-6v=)3Z#>lo!yv^E#*8~=&HTr%Cg<#}p8c&p72R~iA ztV-vu>KqgQvm)GDPz=ct8sb0*cCI zfc)3e_9*6X(VLWWy3M*5&Y5wDGB<+zdC5sR33+U>I_V}L?%P>^R_}LRL<5Hu#yIHY@Q-~8UDPY$OQ-2KdV zUKsuQXt8DQOZkM_G{yd1j!QY&IQ1m|@F9E1z8#Ulq+J+=VinBv;gi%p0*lxc3EZ7* ztv7228vjX}05EMv!!qHj>iCKmAGD4+lA%O)p9o%c`#$+bTn<&jw!=)%8&^{DvgB~co#t#^tn+-XYg zg%|16YWKWqPL6eo5sfX3+f=*Nc2CP~we&p?t0-(9$())B^wGs%hB zWeuNBD;)P>(-3S$vFqViayV_7(~2D?6~GUf?xW%=S7)iwT)5@kUXPJ?OMT&i5?aRM z?M6XZfHJYaw!It4Sxc@XW+ z87teH{3#|x&)v4$Wgh{Rt2Uy9a2K;zBt>(qyJsSnMAoG&)kY(}$j@b9wrAAS2KN{o zaVHnFFJ24E^@oHaX^Fu~zIV;~I>xKyWNDRP zS9i57}5|Xodx0-`_MnT6AW-IocX|n!)uxANG3AUM-kSuefwQV}!9ub{1`TMa6Fa%+*nPK|N1pqF zO63;bzc#g1JAqpz*@`p}Kcm5CH_O&k8}VvIi$0ok9ADdLDaT#U zcOW3tXQ7A3TTOO33^YLuWh_s6t5>x4$GPJm<%Bxor^XN?B8MY zFwA|mA`|5VU6*49;)%gRO8Z^FWv?9qK&FyR$0O_%jyp1Q!(<7V9drtNomHCe&E~H+ z8K*>6dB3_W@43)(@P+u*lhcQ`Is3fW1o5y1*kGQ^609MkuIr1}dBUyoysU%kRD$w1#o%u)yZkBW6D!M6?_j z#Sv_S?>VC?=|&0uZUkKHHPd-8dyfG1H3uO(-rF>=nm(+cm{(j=Am4?ov-8NpB7uUE)6Gta=7V#i)H;4RE;_w9RxN~{^RAe6n0 zZvn%8a`O)EL!^=4<4#Aq<-(>}*eJJJiBV~hmMh5>uTq|_QlS#8dI=&o zWDz4qXC=o$GE*Amow-Qwf|=M{0LSGjllhjM8>C;`JjwPJ&6j~_l4b0krD$JER8G$p zP$haJdthf)es`d^H(Qxn&OBpp##us$mA)aSGTGhf6^ zDF7;Zsr8UL-dJQbXe&8lCmoW-^4>dK$jv+ZNWIq~2Aw zf#`LvoLXra_VcbXb;s#`lTmj9!=xI={cDnw8>0lJ`qoEU<1vG$w(1)DpwU_wJ8n6k zAzq=Eq7d8~HKTvM}KtKJR9SKH0PV{>l zZiJQHjDUtzA^o^u%a-{D%2v@GRPL~KOIE+g63ldR5QB%z8?`qep2!e3d=DZ_6JfBH=l>%Nsp6>`J4JdC7sA z{?c8sn0bPd4C+zRCnc;A(DAI+>&vWciv8?@%10i32ti7Q#q3Esk}&*#dLQ^FofKtM8L6GQ$I4 zn)?hLoVLV*NRlqQ#zttNb^>hL8?@$m=KCoOz<&r5j=`-jQwO(_ersW6zt{v2y5rnb z77KWe`>U!0H&gG|4)cJJh?ec#ReV^}&3Hn)=%$MnZ>LQj*iXAc{q^}P-nO>Go7@|C z4q$P>^L`FQML7Rs?z^by#3@@9DKd4cGHX3}SaHUL+^*7qE|(-GB z^0<@3Jzis2-~+Gro(r@im=9AJB)cxWba-K2E!6nRf`7?OkIy5ZB=5{Rf~)bltv=Rc z-$WG3Q9_k@YZJ0}Rf{*k#ZVMr)AJ{ZyM~Ts3~%q-$}9zKF(R^kqNkLUvBH{ zc-KH?v|i$>(+7$(=VH`w_YzK!dtXLYog@W)Q8M|R~ z;!X)vZ0p4ufti7)W-uG$t;%p96KR336@=6<*2*{JS4e;(owt`vEcS2i&qB(8GSf@cIEs>jylmA5f)! zz;^lpVd)2)qaVqKP_xSdvOXZ<{D4c7 z=R&zJWl^f^+8~h^*>;29#%Yt>DSMF>xSx`DcarOHNv9LXrowd)pf2267-X+QYpv(a zH(Xy1$KRvx9r&26-<1a>5is2k7&$*6)%<`L^8;$j57;R`Aej7sBk}{9#}AkqKOkHD zfG_a_%EJ#>3qK$p{D3>~1Ny%Y82mmU;roC`?*l5l57_KJAf)?%Q|<#=xDS}!J|JiN zfM4wcinI?{&ORV2`+#fg1G=ye7{5Ls?fQUs>jQ?Y4@j;);Hmn6Rq6v`s1LZEKA>m% zfMMwaK9V=?8n1l^tw}o^1K}=CD4fZ%+F?Uc4p<}@*SC%Wtrn6fpyGhrv4Ql(<{`WU z9yNy>@XrZTN_Z$I%TXH*Pg z-o+Vq@lFk?0W^`RhXaqYC3O4i>ANXMkF(nltNjew3#G&MFGNS#SIw#+9#wR68DORJ^16W{h4c>(+jjN!pnkXCu zxLn&D$7xx%w*A+w-Fxz)3PSLGmUDx1cRoN4-wYr3v|vy*`eEaKgg}oMAO!2m?u!92 z4^)4suC${CzN?SkBpG4)!;|>jcBs8neb4e4+WU`wdx#1j?!?SVs@8HX+nX;lH6|3Y zdDxt?_RR{z4a%%Qw}8_^_h8wrYV-E!l_?V-6YmvRK3_=&)xg;mkW@dw(<*ysElN1kv5KXsQ^?@McPg!NgM_eAnr+}<4HD^XZi-Wca$G5YZrX(p%)KXZAA(Ouf{!nQU&=MLwl+B%8QN^x!=*)Y z+UIR*yymy8q2fnqbW%jR`M4s)q7MAG-L84Ip{g`-B-?omU^(r8bRsPW0z@C$-mKA7 zd9~i%#>%yg`yNos+#t}5XP-7(Z7?!#9MLX(`Xd0GAT%#1tF1DFS*>?I-nDn;il^|* z1P}Bq8d-#b-ON{Pm}C_@Q9@&~${~Y8Bq%1hs7g@z4<-lrWtwV)d5(b%`hXHZtEnQVPMX@TzCo=mT~;v2fYsv1h5=A zvcgTNmuo+z)DjGOusP8tzA0LQCH=R zeEEg03_#H|weUy`9fX`F){B1HXqmI5Y~KyX$VvC;=iMU~jN5}n$mdpOx$m=}ix6N$ zEhrlj9m6{=lv^r4OI_fm6Vl+s6LVNdb(u*lk3I!m9$;eSEeIsi`;~W;@3*C{(%n{f zZkRl@h}RJYd+b*WeP7D54>OQGp)FLXd(%gyAGsKCD!0ErMZgPnc$&;<*CP$W`spR) za9XXqfU77gnee^M2SptY{`)-;Shn=>^6+T!t-1 zX<$-ghdv=hx7t1P1z-62w-6C)0Bowp9!M8=PKc3;n<<76OAn|k)U7{&87&y^)c0nD|O5Z6A7Q!;zALn&Ul((%@6aUZ>#!jMtB zU|V1MV ze1CP1vdQ&YG`e`4hk@8Z{pxGIUyy5A6Ke=PNAhPk`1KHtbAQuLsQQm5HRigZJpCOq z#Tl}=L#(?>-TLaiH9?D=5NK*V)sAvk^*y;}hsq>ibM72`8Mopmf=0BcDK7D36yyZV zR`v^Y!(|wtMZXp^<|P`6$i(G^1|}tlHN-|e@28MAca@Qo!uMr-?%HY20_Ojn;Z;tV zjCGn5(7UQ_C;c)bUB3un_P~5b!_7%Du|>4dNtRx8ZT^E8|mGVBzQRQ7`K4SVxuEr zD?rXiZ$NguzNYqxI>-B?xOI#^t#*`!bqfLvKhV2M+v(N_4bO4jlJG|Cm6tUr^-eN< zWAK_vA?9qWt_RJbGY%H*CP_v!P@l6;eS!rHk!{bBYBY+rlJVy?E2|h80q%5qEO<_c zk|;(90wBH}UyJtb?nAlv`OryP{+*g)c5s%j5O9h+1VSS7Y*+ZyMHFyBzUQ69DU zfWmE$k5kJU)JEG(&$tK!)U8Kax3rS|6m;NQN_4T>Kb)GE%>}lTNyOZ4A?e zf>7V+p{y*IL1^$YCYS@LM9R2udI(s&t4ywkLES@*py!ySK_7cT3SQoO5M-s`bGa1Y zo8#4g&(f63gJ$w$KQ}=qjn_XLnjIb!>p=*)9Sss_%gWQ5$b6yk$AVxzwaszDBN&k& zMTPHS$ryR_bVRzbI3C+U)!BzIl03~R$iryTTL`HH9oRZbolF~F-Eyrq%04WuSs!?u zWbl(ZD!Fqysx{}Yy2WRyw^QsiU_%9mQw^<~=5`UUn?ZN0mvH*cwaN^n24hxzWjeyN z?pt5peU)7RY0N@Ch&jJw�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

Q>bHnoFd&9{r* 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 OGyfMuuPb~~APoRWq>|wP literal 0 HcmV?d00001 diff --git a/.yarnrc.yml b/.yarnrc.yml new file mode 100644 index 0000000..b6e0a72 --- /dev/null +++ b/.yarnrc.yml @@ -0,0 +1,2 @@ +nmMode: classic +nodeLinker: node-modules diff --git a/README.md b/README.md new file mode 100644 index 0000000..d25e172 --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ + +# Typescript module diff --git a/package.json b/package.json new file mode 100644 index 0000000..dd020ad --- /dev/null +++ b/package.json @@ -0,0 +1,8 @@ +{ + "name": "obsidian-testing-framework-parent", + "private": true, + "packageManager": "yarn@4.5.1", + "workspaces": [ + "./packages/*" + ] +} diff --git a/packages/obsidian-testing-framework/package.json b/packages/obsidian-testing-framework/package.json new file mode 100644 index 0000000..f083f1e --- /dev/null +++ b/packages/obsidian-testing-framework/package.json @@ -0,0 +1,43 @@ +{ + "name": "obsidian-testing-framework", + "packageManager": "yarn@4.5.1", + "dependencies": { + "@codemirror/language": "https://github.com/lishid/cm-language", + "@codemirror/state": "^6.0.1", + "@codemirror/view": "^6.0.1", + "asar": "^3.2.0", + "electron": "^33.0.2", + "playwright": "^1.48.1", + "tmp": "^0.2.3", + "typescript": "^5.6.3" + }, + "version": "", + "exports": { + ".": { + "types": "./lib/index.d.ts", + "default": "./lib/index.js" + }, + "./utils": { + "types": "./lib/util.d.ts", + "default": "./lib/util.js" + }, + "./fixture": { + "types": "./lib/fixtures.d.ts", + "default": "./lib/fixtures.js" + } + }, + "main": "./lib/index.js", + "typings": "./lib/index.d.ts", + "scripts": { + "build": "tsc", + "lint": "tslint -c tslint.json src/**/*.ts", + "prepublish": "npm run build" + }, + "devDependencies": { + "@playwright/test": "^1.48.1", + "@types/tmp": "^0", + "obsidian": "latest", + "vitest": "^2.1.3" + }, + "type": "module" +} diff --git a/packages/obsidian-testing-framework/src/fixtures.ts b/packages/obsidian-testing-framework/src/fixtures.ts new file mode 100644 index 0000000..1d4cf73 --- /dev/null +++ b/packages/obsidian-testing-framework/src/fixtures.ts @@ -0,0 +1,11 @@ +import { ElectronApplication, JSHandle, Page } from "playwright"; +import { ObsidianTestingConfig } from "./index.js"; +import { App } from "obsidian"; +// import { getFile } from "./util.js"; + +export interface ObsidianTestFixtures { + electronApp: ElectronApplication; + page: Page; + obsidian: ObsidianTestingConfig; + appHandle: JSHandle; +} diff --git a/packages/obsidian-testing-framework/src/index.ts b/packages/obsidian-testing-framework/src/index.ts new file mode 100644 index 0000000..afc5af0 --- /dev/null +++ b/packages/obsidian-testing-framework/src/index.ts @@ -0,0 +1,138 @@ +import { test as base } from "@playwright/test"; +import { _electron as electron } from "playwright"; +import { Fixtures } from "@playwright/test"; +import path from "path"; +import { ObsidianTestFixtures } from "./fixtures.js"; +import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs"; +import { getApp, waitForIndexingComplete } from "./util.js"; +import { execSync } from "child_process"; +import { randomBytes } from "crypto"; + +export interface ObsidianTestingConfig { + vault?: string; +} + +export function getExe(): string { + checkToy(); + if (process.platform == "win32") { + return path.join( + process.env.LOCALAPPDATA!, + "Obsidian", + "Resources", + "app.asar" + ); + } + + const possibleDirs = [ + "/opt/Obsidian", + "/usr/lib/Obsidian", + "/opt/obsidian", + "/usr/lib/obsidian", + "/var/lib/flatpak/app/md.obsidian.Obsidian/current/active/files", + "/snap/obsidian/current", + ]; + for (let i = 0; i < possibleDirs.length; i++) { + if (existsSync(possibleDirs[i])) { + console.log(execSync(`ls -l ${possibleDirs[i]}`).toString()); + return path.join(possibleDirs[i], "resources", "app.asar"); + } + } + return ""; +} + +function checkToy() { + if (process.platform == "darwin") { + throw new Error("use a non-toy operating system, dumbass"); + } +} + +function generateVaultConfig(vault: string) { + const vaultHash = randomBytes(16).toString("hex").toLocaleLowerCase(); + let configLocation; + checkToy(); + if (process.platform == "win32") { + configLocation = path.join(`${process.env.LOCALAPPDATA}`, "Obsidian"); + } else { + configLocation = path.join(`${process.env.XDG_CONFIG_HOME}`, "obsidian"); + try { + mkdirSync(configLocation, { recursive: true }); + } catch (e) {} + } + const obsidianConfigFile = path.join(configLocation, "obsidian.json"); + if (!existsSync(obsidianConfigFile)) { + writeFileSync(obsidianConfigFile, JSON.stringify({ vaults: {} })); + } + const json: { + vaults: { + [key: string]: { + path: string; + ts: number; + open?: boolean; + }; + }; + } = JSON.parse(readFileSync(obsidianConfigFile).toString()); + + if (!Object.values(json.vaults).some((a) => a.path === vault)) { + json.vaults[vaultHash] = { + path: vault, + ts: Date.now(), + }; + writeFileSync(obsidianConfigFile, JSON.stringify(json)); + writeFileSync(path.join(configLocation, `${vaultHash}.json`), "{}"); + return vaultHash; + } else { + return Object.entries(json.vaults).find(a => a[1].path === vault)![0]; + } +} + +const obsidianTestFixtures: Fixtures = { + electronApp: [ + async ({ obsidian: { vault } }, run) => { + process.env.ELECTRON_DISABLE_SECURITY_WARNINGS = "true"; + console.log("asar located at:", getExe()); + let uriArg = ""; + if (vault) { + let id = generateVaultConfig(vault); + if (!!id) { + uriArg = `obsidian://open?vault=${encodeURIComponent(id)}`; + } + } + + const electronApp = await electron.launch({ + timeout: 60000, + args: [getExe(), uriArg].filter((a) => !!a) as string[], + }); + electronApp.on("console", async (msg) => { + console.log( + ...(await Promise.all(msg.args().map((a) => a.jsonValue()))) + ); + }); + await electronApp.waitForEvent("window"); + await run(electronApp); + await electronApp.close(); + }, + { timeout: 60000 }, + ], + page: [ + async ({ electronApp }, run) => { + const windows = electronApp.windows(); + // console.log("windows", windows); + let page = windows[windows.length - 1]!; + await page.waitForLoadState("domcontentloaded"); + page = electronApp.windows()[electronApp.windows().length - 1]!; + await page.waitForEvent("load"); + await page.waitForLoadState("domcontentloaded"); + await waitForIndexingComplete(await getApp(page)); + page.on("console", async (msg) => { + console.log( + ...(await Promise.all(msg.args().map((a) => a.jsonValue()))) + ); + }); + await run(page); + }, + { timeout: 60000 }, + ], + obsidian: [{}, { option: true }], +}; +// @ts-ignore some error about a string type now having `undefined` as part of it's union +export const test = base.extend(obsidianTestFixtures); diff --git a/packages/obsidian-testing-framework/src/tester.ts.not b/packages/obsidian-testing-framework/src/tester.ts.not new file mode 100644 index 0000000..f9c0a70 --- /dev/null +++ b/packages/obsidian-testing-framework/src/tester.ts.not @@ -0,0 +1,114 @@ +import { + _electron, + _electron as electron, + ElectronApplication, + Page, +} from "playwright"; +import {expect} from "vitest" +import { App, TFile, Vault } from "obsidian"; +import { execSync } from "child_process"; +import path from "path"; +import { EOL } from "os"; +type RawOptions = NonNullable[0]>; +export type TestOptions = Omit & { + vault: string; +}; +export class ObsidianTester { + #loadPromise: Promise; + + public electronApp: ElectronApplication | null = null; + public page: Page; + public app: App; + + constructor(options: Partial) { + const args = [...(options.args || [])]; + if (options.vault) + args.push(`obsidian://open?vault=${encodeURI(options.vault)}`); + this.#loadPromise = new Promise((res, rej) => { + electron + .launch({ + ...options, + args, + executablePath: ObsidianTester.getExe(), + }) + .then((v) => { + this.postInit(v).then(() => { + res(); + }); + }) + .catch((e) => rej(e)); + }); + } + public get vault(): Vault { + return this.app.vault + } + + public async doWithApp( + callback: (app: App) => Promise + ): Promise { + await this.#loadPromise; + return await callback(this.app); + } + + public async doWithVault( + callback: (vault: Vault) => Promise + ): Promise { + await this.#loadPromise; + return await callback(this.app.vault); + } + + public async assertFileEquals(path: string, expectedContent: string, cached: boolean = true) { + await this.#loadPromise; + const fileContent = await this.readFile(path, cached); + + expect(fileContent).toEqual(this.normalizeEOL(expectedContent)); + } + public async assertLineEquals(path: string, lineNumber: number, expectedContent: string, cached: boolean = true) { + await this.#loadPromise; + const fileContent = await this.readFile(path, cached); + + expect(fileContent.split("\n")[lineNumber]).toEqual(this.normalizeEOL(expectedContent)); + } + + public async assertLinesEqual(filePath: string, start: number, end: number, expected: string, cached: boolean = true) { + await this.#loadPromise; + const fileContent = await this.readFile(filePath, cached); + const lines = fileContent.split("\n").slice(start, end); + const expectedLines = this.normalizeEOL(expected).split("\n"); + expect(lines.every((l, i) => l == expectedLines[i])).toEqual(true); + } + + public getFile(file: string): TFile { + let f = this.app.vault.getFileByPath(file); + if(!f) { + throw new Error("File does not exist in vault."); + } + return f; + } + + normalizeEOL(str: string): string { + return str.split(/\r\n|\r|\n/).join("\n"); + } + + async readFile(path: string, cached: boolean = true): Promise { + await this.#loadPromise; + const file = this.getFile(path); + return this.normalizeEOL(await (cached ? this.app.vault.cachedRead(file) : this.app.vault.read(file))); + } + + private async postInit(electronApp: ElectronApplication) { + this.electronApp = electronApp; + this.page = await this.electronApp.firstWindow(); + this.app = await this.page.evaluate("window.app"); + } + + public static getExe(): string { + if (process.platform == "win32") { + return path.join(process.env.LOCALAPPDATA!, "Obsidian", "Obsidian.exe"); + } + if (process.platform == "darwin") { + throw new Error("use a non-toy operating system, dumbass"); + } + return execSync("command -v obsidian").toString(); + } +} diff --git a/packages/obsidian-testing-framework/src/util.ts b/packages/obsidian-testing-framework/src/util.ts new file mode 100644 index 0000000..a36ed44 --- /dev/null +++ b/packages/obsidian-testing-framework/src/util.ts @@ -0,0 +1,99 @@ +import { App, TFile } from "obsidian"; +import { JSHandle, Page } from "playwright"; +import { expect } from "@playwright/test"; + +// type TestArgs = Parameters[2]>[0]; + +export async function assertFileEquals( + page: Page, + path: string, + expectedContent: string, + cached: boolean = true +) { + const fileContent = await readFile(page, path, cached); + + expect(fileContent).toEqual(normalizeEOL(expectedContent)); +} +export async function assertLineEquals( + page: Page, + path: string, + lineNumber: number, + expectedContent: string, + cached: boolean = true +) { + const fileContent = await readFile(page, path, cached); + + expect(fileContent.split("\n")[lineNumber]).toEqual( + normalizeEOL(expectedContent) + ); +} +export async function getApp(page: Page): Promise> { + return await page.evaluateHandle("window.app"); +} + +export async function assertLinesEqual( + page: Page, + filePath: string, + start: number, + end: number, + expected: string, + cached: boolean = true +) { + const fileContent = await readFile(page, filePath, cached); + const lines = fileContent.split("\n").slice(start, end); + const expectedLines = normalizeEOL(expected).split("\n"); + expect(lines.every((l, i) => l == expectedLines[i])).toEqual(true); +} + +export function getFile(app: App, file: string): TFile { + let f = app.vault.getFileByPath(file); + if (!f) { + throw new Error("File does not exist in vault."); + } + return f; +} + +function normalizeEOL(str: string): string { + return str.split(/\r\n|\r|\n/).join("\n"); +} + +export async function readFile( + app: Page, + path: string, + cached: boolean = true +): Promise { + return normalizeEOL( + await doWithApp(app, (a) => { + const file = getFile(a, path); + return cached ? a.vault.cachedRead(file) : a.vault.read(file); + }) + ); +} + +export async function doWithApp( + page: Page, + callback: (a: App) => T | Promise +): Promise { + const cbStr = callback.toString(); + return await page.evaluate(async (cb) => { + const func = new Function(`return (${cb})(window.app)`) + return await func(); + }, cbStr); +} + +export function waitForIndexingComplete(appHandle: JSHandle) { + return appHandle.evaluate(() => { + return new Promise((res2, rej2) => { + let resolved = false; + app.metadataCache.on("resolved", () => { + res2(null); + resolved = true; + }); + setTimeout(() => !resolved && rej2("timeout"), 10000); + }); + }); +} + +export const pageUtils = { + getFile, +} diff --git a/packages/obsidian-testing-framework/tsconfig.json b/packages/obsidian-testing-framework/tsconfig.json new file mode 100644 index 0000000..2856928 --- /dev/null +++ b/packages/obsidian-testing-framework/tsconfig.json @@ -0,0 +1,42 @@ +{ + "compilerOptions": { + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "Node", + "lib": [ + "es2015", + "DOM", + "ESNext.Disposable" + ], + + "outDir": "lib", + "baseUrl": ".", + "strict": true, + "alwaysStrict": true, + "strictFunctionTypes": true, + "strictNullChecks": true, + "strictPropertyInitialization": false, + + "forceConsistentCasingInFileNames": true, + "noImplicitAny": true, + "noImplicitReturns": true, + "noImplicitThis": true, + "noFallthroughCasesInSwitch": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "downlevelIteration": true, + "declaration": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "pretty": true, + "types": ["node"], + }, + "include": [ + "typings/**/*", + "src/**/*" + ], + "exclude": ["packages/test-project/**/*.ts"] +} diff --git a/packages/obsidian-testing-framework/typings/global.d.ts b/packages/obsidian-testing-framework/typings/global.d.ts new file mode 100644 index 0000000..7626241 --- /dev/null +++ b/packages/obsidian-testing-framework/typings/global.d.ts @@ -0,0 +1,6 @@ +import {App} from "obsidian"; +declare global { + var app: App; + var __callback: (app: App) => T; +} +export {} diff --git a/packages/test-project/.editorconfig b/packages/test-project/.editorconfig new file mode 100644 index 0000000..84b8a66 --- /dev/null +++ b/packages/test-project/.editorconfig @@ -0,0 +1,10 @@ +# top-most EditorConfig file +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +indent_style = tab +indent_size = 4 +tab_width = 4 diff --git a/packages/test-project/.eslintignore b/packages/test-project/.eslintignore new file mode 100644 index 0000000..e019f3c --- /dev/null +++ b/packages/test-project/.eslintignore @@ -0,0 +1,3 @@ +node_modules/ + +main.js diff --git a/packages/test-project/.eslintrc b/packages/test-project/.eslintrc new file mode 100644 index 0000000..0807290 --- /dev/null +++ b/packages/test-project/.eslintrc @@ -0,0 +1,23 @@ +{ + "root": true, + "parser": "@typescript-eslint/parser", + "env": { "node": true }, + "plugins": [ + "@typescript-eslint" + ], + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/eslint-recommended", + "plugin:@typescript-eslint/recommended" + ], + "parserOptions": { + "sourceType": "module" + }, + "rules": { + "no-unused-vars": "off", + "@typescript-eslint/no-unused-vars": ["error", { "args": "none" }], + "@typescript-eslint/ban-ts-comment": "off", + "no-prototype-builtins": "off", + "@typescript-eslint/no-empty-function": "off" + } + } \ No newline at end of file diff --git a/packages/test-project/.gitignore b/packages/test-project/.gitignore new file mode 100644 index 0000000..488a472 --- /dev/null +++ b/packages/test-project/.gitignore @@ -0,0 +1,26 @@ +# vscode +.vscode + +# Intellij +*.iml +.idea + +# npm +node_modules + +# Don't include the compiled main.js file in the repo. +# They should be uploaded to GitHub releases instead. +main.js + +# Exclude sourcemaps +*.map + +# obsidian +data.json + +# Exclude macOS Finder (System Explorer) View States +.DS_Store +/test-results/ +/playwright-report/ +/blob-report/ +/playwright/.cache/ diff --git a/packages/test-project/.npmrc b/packages/test-project/.npmrc new file mode 100644 index 0000000..b973752 --- /dev/null +++ b/packages/test-project/.npmrc @@ -0,0 +1 @@ +tag-version-prefix="" \ No newline at end of file diff --git a/packages/test-project/README.md b/packages/test-project/README.md new file mode 100644 index 0000000..578b2e2 --- /dev/null +++ b/packages/test-project/README.md @@ -0,0 +1,96 @@ +# Obsidian Sample Plugin + +This is a sample plugin for Obsidian (https://obsidian.md). + +This project uses TypeScript to provide type checking and documentation. +The repo depends on the latest plugin API (obsidian.d.ts) in TypeScript Definition format, which contains TSDoc comments describing what it does. + +**Note:** The Obsidian API is still in early alpha and is subject to change at any time! + +This sample plugin demonstrates some of the basic functionality the plugin API can do. +- Adds a ribbon icon, which shows a Notice when clicked. +- Adds a command "Open Sample Modal" which opens a Modal. +- Adds a plugin setting tab to the settings page. +- Registers a global click event and output 'click' to the console. +- Registers a global interval which logs 'setInterval' to the console. + +## First time developing plugins? + +Quick starting guide for new plugin devs: + +- Check if [someone already developed a plugin for what you want](https://obsidian.md/plugins)! There might be an existing plugin similar enough that you can partner up with. +- Make a copy of this repo as a template with the "Use this template" button (login to GitHub if you don't see it). +- Clone your repo to a local development folder. For convenience, you can place this folder in your `.obsidian/plugins/your-plugin-name` folder. +- Install NodeJS, then run `npm i` in the command line under your repo folder. +- Run `npm run dev` to compile your plugin from `main.ts` to `main.js`. +- Make changes to `main.ts` (or create new `.ts` files). Those changes should be automatically compiled into `main.js`. +- Reload Obsidian to load the new version of your plugin. +- Enable plugin in settings window. +- For updates to the Obsidian API run `npm update` in the command line under your repo folder. + +## Releasing new releases + +- Update your `manifest.json` with your new version number, such as `1.0.1`, and the minimum Obsidian version required for your latest release. +- Update your `versions.json` file with `"new-plugin-version": "minimum-obsidian-version"` so older versions of Obsidian can download an older version of your plugin that's compatible. +- Create new GitHub release using your new version number as the "Tag version". Use the exact version number, don't include a prefix `v`. See here for an example: https://github.com/obsidianmd/obsidian-sample-plugin/releases +- Upload the files `manifest.json`, `main.js`, `styles.css` as binary attachments. Note: The manifest.json file must be in two places, first the root path of your repository and also in the release. +- Publish the release. + +> You can simplify the version bump process by running `npm version patch`, `npm version minor` or `npm version major` after updating `minAppVersion` manually in `manifest.json`. +> The command will bump version in `manifest.json` and `package.json`, and add the entry for the new version to `versions.json` + +## Adding your plugin to the community plugin list + +- Check the [plugin guidelines](https://docs.obsidian.md/Plugins/Releasing/Plugin+guidelines). +- Publish an initial version. +- Make sure you have a `README.md` file in the root of your repo. +- Make a pull request at https://github.com/obsidianmd/obsidian-releases to add your plugin. + +## How to use + +- Clone this repo. +- Make sure your NodeJS is at least v16 (`node --version`). +- `npm i` or `yarn` to install dependencies. +- `npm run dev` to start compilation in watch mode. + +## Manually installing the plugin + +- Copy over `main.js`, `styles.css`, `manifest.json` to your vault `VaultFolder/.obsidian/plugins/your-plugin-id/`. + +## Improve code quality with eslint (optional) +- [ESLint](https://eslint.org/) is a tool that analyzes your code to quickly find problems. You can run ESLint against your plugin to find common bugs and ways to improve your code. +- To use eslint with this project, make sure to install eslint from terminal: + - `npm install -g eslint` +- To use eslint to analyze this project use this command: + - `eslint main.ts` + - eslint will then create a report with suggestions for code improvement by file and line number. +- If your source code is in a folder, such as `src`, you can use eslint with this command to analyze all files in that folder: + - `eslint .\src\` + +## Funding URL + +You can include funding URLs where people who use your plugin can financially support it. + +The simple way is to set the `fundingUrl` field to your link in your `manifest.json` file: + +```json +{ + "fundingUrl": "https://buymeacoffee.com" +} +``` + +If you have multiple URLs, you can also do: + +```json +{ + "fundingUrl": { + "Buy Me a Coffee": "https://buymeacoffee.com", + "GitHub Sponsor": "https://github.com/sponsors", + "Patreon": "https://www.patreon.com/" + } +} +``` + +## API Documentation + +See https://github.com/obsidianmd/obsidian-api diff --git a/packages/test-project/e2e/example.spec.ts b/packages/test-project/e2e/example.spec.ts new file mode 100644 index 0000000..354c479 --- /dev/null +++ b/packages/test-project/e2e/example.spec.ts @@ -0,0 +1,22 @@ +import { expect } from '@playwright/test'; +import {test} from "obsidian-testing-framework" +import {doWithApp, getApp} from "obsidian-testing-framework/utils"; +test('something', async ({ page }) => { + console.log(page.url()); + expect(/obsidian\.md/i.test(page.url())).toBeTruthy() +}); +test("idk", async({page}) => { + console.log("idk") + let what = await doWithApp(page,async (app) => { + console.log("hi", Object.keys(app), (app.metadataCache)); + let thing = app.metadataCache.getFirstLinkpathDest("Welcome", "/"); + console.log("THING", thing); + await new Promise(res => setTimeout(res, 5000)) + console.log(thing?.path); + const what = {...thing}; + delete what.parent; + delete what.vault; + return what; + }); + expect(what.basename).toEqual("Welcome") +}) diff --git a/packages/test-project/esbuild.config.mjs b/packages/test-project/esbuild.config.mjs new file mode 100644 index 0000000..a5de8b8 --- /dev/null +++ b/packages/test-project/esbuild.config.mjs @@ -0,0 +1,49 @@ +import esbuild from "esbuild"; +import process from "process"; +import builtins from "builtin-modules"; + +const banner = +`/* +THIS IS A GENERATED/BUNDLED FILE BY ESBUILD +if you want to view the source, please visit the github repository of this plugin +*/ +`; + +const prod = (process.argv[2] === "production"); + +const context = await esbuild.context({ + banner: { + js: banner, + }, + entryPoints: ["main.ts"], + bundle: true, + external: [ + "obsidian", + "electron", + "@codemirror/autocomplete", + "@codemirror/collab", + "@codemirror/commands", + "@codemirror/language", + "@codemirror/lint", + "@codemirror/search", + "@codemirror/state", + "@codemirror/view", + "@lezer/common", + "@lezer/highlight", + "@lezer/lr", + ...builtins], + format: "cjs", + target: "es2018", + logLevel: "info", + sourcemap: prod ? false : "inline", + treeShaking: true, + outfile: "main.js", + minify: prod, +}); + +if (prod) { + await context.rebuild(); + process.exit(0); +} else { + await context.watch(); +} diff --git a/packages/test-project/main.ts b/packages/test-project/main.ts new file mode 100644 index 0000000..f27ff6d --- /dev/null +++ b/packages/test-project/main.ts @@ -0,0 +1,134 @@ +import { App, Editor, MarkdownView, Modal, Notice, Plugin, PluginSettingTab, Setting } from 'obsidian'; + +// Remember to rename these classes and interfaces! + +interface MyPluginSettings { + mySetting: string; +} + +const DEFAULT_SETTINGS: MyPluginSettings = { + mySetting: 'default' +} + +export default class MyPlugin extends Plugin { + settings: MyPluginSettings; + + async onload() { + await this.loadSettings(); + + // This creates an icon in the left ribbon. + const ribbonIconEl = this.addRibbonIcon('dice', 'Sample Plugin', (evt: MouseEvent) => { + // Called when the user clicks the icon. + new Notice('This is a notice!', 0); + }); + // Perform additional things with the ribbon + ribbonIconEl.addClass('my-plugin-ribbon-class'); + + // This adds a status bar item to the bottom of the app. Does not work on mobile apps. + const statusBarItemEl = this.addStatusBarItem(); + statusBarItemEl.setText('Status Bar Text'); + + // This adds a simple command that can be triggered anywhere + this.addCommand({ + id: 'open-sample-modal-simple', + name: 'Open sample modal (simple)', + callback: () => { + new SampleModal(this.app).open(); + } + }); + // This adds an editor command that can perform some operation on the current editor instance + this.addCommand({ + id: 'sample-editor-command', + name: 'Sample editor command', + editorCallback: (editor: Editor, view: MarkdownView) => { + console.log(editor.getSelection()); + editor.replaceSelection('Sample Editor Command'); + } + }); + // This adds a complex command that can check whether the current state of the app allows execution of the command + this.addCommand({ + id: 'open-sample-modal-complex', + name: 'Open sample modal (complex)', + checkCallback: (checking: boolean) => { + // Conditions to check + const markdownView = this.app.workspace.getActiveViewOfType(MarkdownView); + if (markdownView) { + // If checking is true, we're simply "checking" if the command can be run. + // If checking is false, then we want to actually perform the operation. + if (!checking) { + new SampleModal(this.app).open(); + } + + // This command will only show up in Command Palette when the check function returns true + return true; + } + } + }); + + // This adds a settings tab so the user can configure various aspects of the plugin + this.addSettingTab(new SampleSettingTab(this.app, this)); + + // If the plugin hooks up any global DOM events (on parts of the app that doesn't belong to this plugin) + // Using this function will automatically remove the event listener when this plugin is disabled. + this.registerDomEvent(document, 'click', (evt: MouseEvent) => { + console.log('click', evt); + }); + + // When registering intervals, this function will automatically clear the interval when the plugin is disabled. + this.registerInterval(window.setInterval(() => console.log('setInterval'), 5 * 60 * 1000)); + } + + onunload() { + + } + + async loadSettings() { + this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData()); + } + + async saveSettings() { + await this.saveData(this.settings); + } +} + +class SampleModal extends Modal { + constructor(app: App) { + super(app); + } + + onOpen() { + const {contentEl} = this; + contentEl.setText('Woah!'); + } + + onClose() { + const {contentEl} = this; + contentEl.empty(); + } +} + +class SampleSettingTab extends PluginSettingTab { + plugin: MyPlugin; + + constructor(app: App, plugin: MyPlugin) { + super(app, plugin); + this.plugin = plugin; + } + + display(): void { + const {containerEl} = this; + + containerEl.empty(); + + new Setting(containerEl) + .setName('Setting #1') + .setDesc('It\'s a secret') + .addText(text => text + .setPlaceholder('Enter your secret') + .setValue(this.plugin.settings.mySetting) + .onChange(async (value) => { + this.plugin.settings.mySetting = value; + await this.plugin.saveSettings(); + })); + } +} diff --git a/packages/test-project/manifest.json b/packages/test-project/manifest.json new file mode 100644 index 0000000..dfa940e --- /dev/null +++ b/packages/test-project/manifest.json @@ -0,0 +1,11 @@ +{ + "id": "sample-plugin", + "name": "Sample Plugin", + "version": "1.0.0", + "minAppVersion": "0.15.0", + "description": "Demonstrates some of the capabilities of the Obsidian API.", + "author": "Obsidian", + "authorUrl": "https://obsidian.md", + "fundingUrl": "https://obsidian.md/pricing", + "isDesktopOnly": false +} diff --git a/packages/test-project/package.json b/packages/test-project/package.json new file mode 100644 index 0000000..4bf5bf6 --- /dev/null +++ b/packages/test-project/package.json @@ -0,0 +1,34 @@ +{ + "name": "obsidian-sample-plugin", + "version": "1.0.0", + "private": true, + "description": "This is a sample plugin for Obsidian (https://obsidian.md)", + "main": "main.js", + "scripts": { + "dev": "node esbuild.config.mjs", + "build": "tsc -noEmit -skipLibCheck && node esbuild.config.mjs production", + "version": "node version-bump.mjs && git add manifest.json versions.json", + "test": "xvfb-maybe playwright test" + }, + "keywords": [], + "author": "", + "license": "MIT", + "dependencies": { + "obsidian-testing-framework": "workspace:^" + }, + "devDependencies": { + "@playwright/test": "^1.48.1", + "@types/node": "^16.11.6", + "@typescript-eslint/eslint-plugin": "5.29.0", + "@typescript-eslint/parser": "5.29.0", + "builtin-modules": "3.3.0", + "esbuild": "0.17.3", + "obsidian": "latest", + "playwright": "^1.48.1", + "tslib": "2.4.0", + "typescript": "4.7.4", + "vitest": "^2.1.3", + "xvfb-maybe": "^0.2.1" + }, + "type": "module" +} diff --git a/packages/test-project/playwright.config.ts b/packages/test-project/playwright.config.ts new file mode 100644 index 0000000..6b2abb8 --- /dev/null +++ b/packages/test-project/playwright.config.ts @@ -0,0 +1,52 @@ +import { defineConfig, devices } from '@playwright/test'; +import {ObsidianTestFixtures} from "obsidian-testing-framework/fixture"; +import os from "os" +import path from 'path'; + +/** + * Read environment variables from file. + * https://github.com/motdotla/dotenv + */ +// import dotenv from 'dotenv'; +// import path from 'path'; +// dotenv.config({ path: path.resolve(__dirname, '.env') }); + +/** + * See https://playwright.dev/docs/test-configuration. + */ +export default defineConfig({ + testDir: './e2e', + + /* Run tests in files in parallel */ + fullyParallel: true, + /* Fail the build on CI if you accidentally left test.only in the source code. */ + forbidOnly: !!process.env.CI, + /* Retry on CI only */ + retries: 1, + /* Opt out of parallel tests on CI. */ + workers: 1, + /* Reporter to use. See https://playwright.dev/docs/test-reporters */ + reporter: 'html', + /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ + use: { + /* Base URL to use in actions like `await page.goto('/')`. */ + // baseURL: 'http://127.0.0.1:3000', + + /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ + trace: 'on-first-retry', + obsidian: { + vault: path.resolve(process.cwd(), "..", "..", "vault") + } + + }, + + /* Configure projects for major browsers */ + + + /* Run your local dev server before starting the tests */ + // webServer: { + // command: 'npm run start', + // url: 'http://127.0.0.1:3000', + // reuseExistingServer: !process.env.CI, + // }, +}); diff --git a/packages/test-project/tests-examples/demo-todo-app.spec.ts b/packages/test-project/tests-examples/demo-todo-app.spec.ts new file mode 100644 index 0000000..8641cb5 --- /dev/null +++ b/packages/test-project/tests-examples/demo-todo-app.spec.ts @@ -0,0 +1,437 @@ +import { test, expect, type Page } from '@playwright/test'; + +test.beforeEach(async ({ page }) => { + await page.goto('https://demo.playwright.dev/todomvc'); +}); + +const TODO_ITEMS = [ + 'buy some cheese', + 'feed the cat', + 'book a doctors appointment' +] as const; + +test.describe('New Todo', () => { + test('should allow me to add todo items', async ({ page }) => { + // create a new todo locator + const newTodo = page.getByPlaceholder('What needs to be done?'); + + // Create 1st todo. + await newTodo.fill(TODO_ITEMS[0]); + await newTodo.press('Enter'); + + // Make sure the list only has one todo item. + await expect(page.getByTestId('todo-title')).toHaveText([ + TODO_ITEMS[0] + ]); + + // Create 2nd todo. + await newTodo.fill(TODO_ITEMS[1]); + await newTodo.press('Enter'); + + // Make sure the list now has two todo items. + await expect(page.getByTestId('todo-title')).toHaveText([ + TODO_ITEMS[0], + TODO_ITEMS[1] + ]); + + await checkNumberOfTodosInLocalStorage(page, 2); + }); + + test('should clear text input field when an item is added', async ({ page }) => { + // create a new todo locator + const newTodo = page.getByPlaceholder('What needs to be done?'); + + // Create one todo item. + await newTodo.fill(TODO_ITEMS[0]); + await newTodo.press('Enter'); + + // Check that input is empty. + await expect(newTodo).toBeEmpty(); + await checkNumberOfTodosInLocalStorage(page, 1); + }); + + test('should append new items to the bottom of the list', async ({ page }) => { + // Create 3 items. + await createDefaultTodos(page); + + // create a todo count locator + const todoCount = page.getByTestId('todo-count') + + // Check test using different methods. + await expect(page.getByText('3 items left')).toBeVisible(); + await expect(todoCount).toHaveText('3 items left'); + await expect(todoCount).toContainText('3'); + await expect(todoCount).toHaveText(/3/); + + // Check all items in one call. + await expect(page.getByTestId('todo-title')).toHaveText(TODO_ITEMS); + await checkNumberOfTodosInLocalStorage(page, 3); + }); +}); + +test.describe('Mark all as completed', () => { + test.beforeEach(async ({ page }) => { + await createDefaultTodos(page); + await checkNumberOfTodosInLocalStorage(page, 3); + }); + + test.afterEach(async ({ page }) => { + await checkNumberOfTodosInLocalStorage(page, 3); + }); + + test('should allow me to mark all items as completed', async ({ page }) => { + // Complete all todos. + await page.getByLabel('Mark all as complete').check(); + + // Ensure all todos have 'completed' class. + await expect(page.getByTestId('todo-item')).toHaveClass(['completed', 'completed', 'completed']); + await checkNumberOfCompletedTodosInLocalStorage(page, 3); + }); + + test('should allow me to clear the complete state of all items', async ({ page }) => { + const toggleAll = page.getByLabel('Mark all as complete'); + // Check and then immediately uncheck. + await toggleAll.check(); + await toggleAll.uncheck(); + + // Should be no completed classes. + await expect(page.getByTestId('todo-item')).toHaveClass(['', '', '']); + }); + + test('complete all checkbox should update state when items are completed / cleared', async ({ page }) => { + const toggleAll = page.getByLabel('Mark all as complete'); + await toggleAll.check(); + await expect(toggleAll).toBeChecked(); + await checkNumberOfCompletedTodosInLocalStorage(page, 3); + + // Uncheck first todo. + const firstTodo = page.getByTestId('todo-item').nth(0); + await firstTodo.getByRole('checkbox').uncheck(); + + // Reuse toggleAll locator and make sure its not checked. + await expect(toggleAll).not.toBeChecked(); + + await firstTodo.getByRole('checkbox').check(); + await checkNumberOfCompletedTodosInLocalStorage(page, 3); + + // Assert the toggle all is checked again. + await expect(toggleAll).toBeChecked(); + }); +}); + +test.describe('Item', () => { + + test('should allow me to mark items as complete', async ({ page }) => { + // create a new todo locator + const newTodo = page.getByPlaceholder('What needs to be done?'); + + // Create two items. + for (const item of TODO_ITEMS.slice(0, 2)) { + await newTodo.fill(item); + await newTodo.press('Enter'); + } + + // Check first item. + const firstTodo = page.getByTestId('todo-item').nth(0); + await firstTodo.getByRole('checkbox').check(); + await expect(firstTodo).toHaveClass('completed'); + + // Check second item. + const secondTodo = page.getByTestId('todo-item').nth(1); + await expect(secondTodo).not.toHaveClass('completed'); + await secondTodo.getByRole('checkbox').check(); + + // Assert completed class. + await expect(firstTodo).toHaveClass('completed'); + await expect(secondTodo).toHaveClass('completed'); + }); + + test('should allow me to un-mark items as complete', async ({ page }) => { + // create a new todo locator + const newTodo = page.getByPlaceholder('What needs to be done?'); + + // Create two items. + for (const item of TODO_ITEMS.slice(0, 2)) { + await newTodo.fill(item); + await newTodo.press('Enter'); + } + + const firstTodo = page.getByTestId('todo-item').nth(0); + const secondTodo = page.getByTestId('todo-item').nth(1); + const firstTodoCheckbox = firstTodo.getByRole('checkbox'); + + await firstTodoCheckbox.check(); + await expect(firstTodo).toHaveClass('completed'); + await expect(secondTodo).not.toHaveClass('completed'); + await checkNumberOfCompletedTodosInLocalStorage(page, 1); + + await firstTodoCheckbox.uncheck(); + await expect(firstTodo).not.toHaveClass('completed'); + await expect(secondTodo).not.toHaveClass('completed'); + await checkNumberOfCompletedTodosInLocalStorage(page, 0); + }); + + test('should allow me to edit an item', async ({ page }) => { + await createDefaultTodos(page); + + const todoItems = page.getByTestId('todo-item'); + const secondTodo = todoItems.nth(1); + await secondTodo.dblclick(); + await expect(secondTodo.getByRole('textbox', { name: 'Edit' })).toHaveValue(TODO_ITEMS[1]); + await secondTodo.getByRole('textbox', { name: 'Edit' }).fill('buy some sausages'); + await secondTodo.getByRole('textbox', { name: 'Edit' }).press('Enter'); + + // Explicitly assert the new text value. + await expect(todoItems).toHaveText([ + TODO_ITEMS[0], + 'buy some sausages', + TODO_ITEMS[2] + ]); + await checkTodosInLocalStorage(page, 'buy some sausages'); + }); +}); + +test.describe('Editing', () => { + test.beforeEach(async ({ page }) => { + await createDefaultTodos(page); + await checkNumberOfTodosInLocalStorage(page, 3); + }); + + test('should hide other controls when editing', async ({ page }) => { + const todoItem = page.getByTestId('todo-item').nth(1); + await todoItem.dblclick(); + await expect(todoItem.getByRole('checkbox')).not.toBeVisible(); + await expect(todoItem.locator('label', { + hasText: TODO_ITEMS[1], + })).not.toBeVisible(); + await checkNumberOfTodosInLocalStorage(page, 3); + }); + + test('should save edits on blur', async ({ page }) => { + const todoItems = page.getByTestId('todo-item'); + await todoItems.nth(1).dblclick(); + await todoItems.nth(1).getByRole('textbox', { name: 'Edit' }).fill('buy some sausages'); + await todoItems.nth(1).getByRole('textbox', { name: 'Edit' }).dispatchEvent('blur'); + + await expect(todoItems).toHaveText([ + TODO_ITEMS[0], + 'buy some sausages', + TODO_ITEMS[2], + ]); + await checkTodosInLocalStorage(page, 'buy some sausages'); + }); + + test('should trim entered text', async ({ page }) => { + const todoItems = page.getByTestId('todo-item'); + await todoItems.nth(1).dblclick(); + await todoItems.nth(1).getByRole('textbox', { name: 'Edit' }).fill(' buy some sausages '); + await todoItems.nth(1).getByRole('textbox', { name: 'Edit' }).press('Enter'); + + await expect(todoItems).toHaveText([ + TODO_ITEMS[0], + 'buy some sausages', + TODO_ITEMS[2], + ]); + await checkTodosInLocalStorage(page, 'buy some sausages'); + }); + + test('should remove the item if an empty text string was entered', async ({ page }) => { + const todoItems = page.getByTestId('todo-item'); + await todoItems.nth(1).dblclick(); + await todoItems.nth(1).getByRole('textbox', { name: 'Edit' }).fill(''); + await todoItems.nth(1).getByRole('textbox', { name: 'Edit' }).press('Enter'); + + await expect(todoItems).toHaveText([ + TODO_ITEMS[0], + TODO_ITEMS[2], + ]); + }); + + test('should cancel edits on escape', async ({ page }) => { + const todoItems = page.getByTestId('todo-item'); + await todoItems.nth(1).dblclick(); + await todoItems.nth(1).getByRole('textbox', { name: 'Edit' }).fill('buy some sausages'); + await todoItems.nth(1).getByRole('textbox', { name: 'Edit' }).press('Escape'); + await expect(todoItems).toHaveText(TODO_ITEMS); + }); +}); + +test.describe('Counter', () => { + test('should display the current number of todo items', async ({ page }) => { + // create a new todo locator + const newTodo = page.getByPlaceholder('What needs to be done?'); + + // create a todo count locator + const todoCount = page.getByTestId('todo-count') + + await newTodo.fill(TODO_ITEMS[0]); + await newTodo.press('Enter'); + + await expect(todoCount).toContainText('1'); + + await newTodo.fill(TODO_ITEMS[1]); + await newTodo.press('Enter'); + await expect(todoCount).toContainText('2'); + + await checkNumberOfTodosInLocalStorage(page, 2); + }); +}); + +test.describe('Clear completed button', () => { + test.beforeEach(async ({ page }) => { + await createDefaultTodos(page); + }); + + test('should display the correct text', async ({ page }) => { + await page.locator('.todo-list li .toggle').first().check(); + await expect(page.getByRole('button', { name: 'Clear completed' })).toBeVisible(); + }); + + test('should remove completed items when clicked', async ({ page }) => { + const todoItems = page.getByTestId('todo-item'); + await todoItems.nth(1).getByRole('checkbox').check(); + await page.getByRole('button', { name: 'Clear completed' }).click(); + await expect(todoItems).toHaveCount(2); + await expect(todoItems).toHaveText([TODO_ITEMS[0], TODO_ITEMS[2]]); + }); + + test('should be hidden when there are no items that are completed', async ({ page }) => { + await page.locator('.todo-list li .toggle').first().check(); + await page.getByRole('button', { name: 'Clear completed' }).click(); + await expect(page.getByRole('button', { name: 'Clear completed' })).toBeHidden(); + }); +}); + +test.describe('Persistence', () => { + test('should persist its data', async ({ page }) => { + // create a new todo locator + const newTodo = page.getByPlaceholder('What needs to be done?'); + + for (const item of TODO_ITEMS.slice(0, 2)) { + await newTodo.fill(item); + await newTodo.press('Enter'); + } + + const todoItems = page.getByTestId('todo-item'); + const firstTodoCheck = todoItems.nth(0).getByRole('checkbox'); + await firstTodoCheck.check(); + await expect(todoItems).toHaveText([TODO_ITEMS[0], TODO_ITEMS[1]]); + await expect(firstTodoCheck).toBeChecked(); + await expect(todoItems).toHaveClass(['completed', '']); + + // Ensure there is 1 completed item. + await checkNumberOfCompletedTodosInLocalStorage(page, 1); + + // Now reload. + await page.reload(); + await expect(todoItems).toHaveText([TODO_ITEMS[0], TODO_ITEMS[1]]); + await expect(firstTodoCheck).toBeChecked(); + await expect(todoItems).toHaveClass(['completed', '']); + }); +}); + +test.describe('Routing', () => { + test.beforeEach(async ({ page }) => { + await createDefaultTodos(page); + // make sure the app had a chance to save updated todos in storage + // before navigating to a new view, otherwise the items can get lost :( + // in some frameworks like Durandal + await checkTodosInLocalStorage(page, TODO_ITEMS[0]); + }); + + test('should allow me to display active items', async ({ page }) => { + const todoItem = page.getByTestId('todo-item'); + await page.getByTestId('todo-item').nth(1).getByRole('checkbox').check(); + + await checkNumberOfCompletedTodosInLocalStorage(page, 1); + await page.getByRole('link', { name: 'Active' }).click(); + await expect(todoItem).toHaveCount(2); + await expect(todoItem).toHaveText([TODO_ITEMS[0], TODO_ITEMS[2]]); + }); + + test('should respect the back button', async ({ page }) => { + const todoItem = page.getByTestId('todo-item'); + await page.getByTestId('todo-item').nth(1).getByRole('checkbox').check(); + + await checkNumberOfCompletedTodosInLocalStorage(page, 1); + + await test.step('Showing all items', async () => { + await page.getByRole('link', { name: 'All' }).click(); + await expect(todoItem).toHaveCount(3); + }); + + await test.step('Showing active items', async () => { + await page.getByRole('link', { name: 'Active' }).click(); + }); + + await test.step('Showing completed items', async () => { + await page.getByRole('link', { name: 'Completed' }).click(); + }); + + await expect(todoItem).toHaveCount(1); + await page.goBack(); + await expect(todoItem).toHaveCount(2); + await page.goBack(); + await expect(todoItem).toHaveCount(3); + }); + + test('should allow me to display completed items', async ({ page }) => { + await page.getByTestId('todo-item').nth(1).getByRole('checkbox').check(); + await checkNumberOfCompletedTodosInLocalStorage(page, 1); + await page.getByRole('link', { name: 'Completed' }).click(); + await expect(page.getByTestId('todo-item')).toHaveCount(1); + }); + + test('should allow me to display all items', async ({ page }) => { + await page.getByTestId('todo-item').nth(1).getByRole('checkbox').check(); + await checkNumberOfCompletedTodosInLocalStorage(page, 1); + await page.getByRole('link', { name: 'Active' }).click(); + await page.getByRole('link', { name: 'Completed' }).click(); + await page.getByRole('link', { name: 'All' }).click(); + await expect(page.getByTestId('todo-item')).toHaveCount(3); + }); + + test('should highlight the currently applied filter', async ({ page }) => { + await expect(page.getByRole('link', { name: 'All' })).toHaveClass('selected'); + + //create locators for active and completed links + const activeLink = page.getByRole('link', { name: 'Active' }); + const completedLink = page.getByRole('link', { name: 'Completed' }); + await activeLink.click(); + + // Page change - active items. + await expect(activeLink).toHaveClass('selected'); + await completedLink.click(); + + // Page change - completed items. + await expect(completedLink).toHaveClass('selected'); + }); +}); + +async function createDefaultTodos(page: Page) { + // create a new todo locator + const newTodo = page.getByPlaceholder('What needs to be done?'); + + for (const item of TODO_ITEMS) { + await newTodo.fill(item); + await newTodo.press('Enter'); + } +} + +async function checkNumberOfTodosInLocalStorage(page: Page, expected: number) { + return await page.waitForFunction(e => { + return JSON.parse(localStorage['react-todos']).length === e; + }, expected); +} + +async function checkNumberOfCompletedTodosInLocalStorage(page: Page, expected: number) { + return await page.waitForFunction(e => { + return JSON.parse(localStorage['react-todos']).filter((todo: any) => todo.completed).length === e; + }, expected); +} + +async function checkTodosInLocalStorage(page: Page, title: string) { + return await page.waitForFunction(t => { + return JSON.parse(localStorage['react-todos']).map((todo: any) => todo.title).includes(t); + }, title); +} diff --git a/packages/test-project/tsconfig.json b/packages/test-project/tsconfig.json new file mode 100644 index 0000000..3a15554 --- /dev/null +++ b/packages/test-project/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "baseUrl": ".", + "inlineSourceMap": true, + "inlineSources": true, + "module": "Node16", + "target": "ES6", + "allowJs": true, + "noImplicitAny": true, + "moduleResolution": "Node16", + "importHelpers": true, + "isolatedModules": true, + "strictNullChecks": true, + "lib": [ + "DOM", + "ES5", + "ES6", + "ES7" + ], + }, + "include": [ + "**/*.ts" + ] +} diff --git a/packages/test-project/version-bump.mjs b/packages/test-project/version-bump.mjs new file mode 100644 index 0000000..d409fa0 --- /dev/null +++ b/packages/test-project/version-bump.mjs @@ -0,0 +1,14 @@ +import { readFileSync, writeFileSync } from "fs"; + +const targetVersion = process.env.npm_package_version; + +// read minAppVersion from manifest.json and bump version to target version +let manifest = JSON.parse(readFileSync("manifest.json", "utf8")); +const { minAppVersion } = manifest; +manifest.version = targetVersion; +writeFileSync("manifest.json", JSON.stringify(manifest, null, "\t")); + +// update versions.json with target version and minAppVersion from manifest.json +let versions = JSON.parse(readFileSync("versions.json", "utf8")); +versions[targetVersion] = minAppVersion; +writeFileSync("versions.json", JSON.stringify(versions, null, "\t")); diff --git a/packages/test-project/versions.json b/packages/test-project/versions.json new file mode 100644 index 0000000..26382a1 --- /dev/null +++ b/packages/test-project/versions.json @@ -0,0 +1,3 @@ +{ + "1.0.0": "0.15.0" +} diff --git a/vault/.obsidian/app.json b/vault/.obsidian/app.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/vault/.obsidian/app.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/vault/.obsidian/appearance.json b/vault/.obsidian/appearance.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/vault/.obsidian/appearance.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/vault/.obsidian/community-plugins.json b/vault/.obsidian/community-plugins.json new file mode 100644 index 0000000..447413f --- /dev/null +++ b/vault/.obsidian/community-plugins.json @@ -0,0 +1,3 @@ +[ + "obsidian-advanced-uri" +] \ No newline at end of file diff --git a/vault/.obsidian/core-plugins.json b/vault/.obsidian/core-plugins.json new file mode 100644 index 0000000..436f43c --- /dev/null +++ b/vault/.obsidian/core-plugins.json @@ -0,0 +1,30 @@ +{ + "file-explorer": true, + "global-search": true, + "switcher": true, + "graph": true, + "backlink": true, + "canvas": true, + "outgoing-link": true, + "tag-pane": true, + "properties": false, + "page-preview": true, + "daily-notes": true, + "templates": true, + "note-composer": true, + "command-palette": true, + "slash-command": false, + "editor-status": true, + "bookmarks": true, + "markdown-importer": false, + "zk-prefixer": false, + "random-note": false, + "outline": true, + "word-count": true, + "slides": false, + "audio-recorder": false, + "workspaces": false, + "file-recovery": true, + "publish": false, + "sync": false +} \ No newline at end of file diff --git a/vault/.obsidian/graph.json b/vault/.obsidian/graph.json new file mode 100644 index 0000000..e21a18d --- /dev/null +++ b/vault/.obsidian/graph.json @@ -0,0 +1,22 @@ +{ + "collapse-filter": true, + "search": "", + "showTags": false, + "showAttachments": false, + "hideUnresolved": false, + "showOrphans": true, + "collapse-color-groups": true, + "colorGroups": [], + "collapse-display": true, + "showArrow": false, + "textFadeMultiplier": 0, + "nodeSizeMultiplier": 1, + "lineSizeMultiplier": 1, + "collapse-forces": true, + "centerStrength": 0.518713248970312, + "repelStrength": 10, + "linkStrength": 1, + "linkDistance": 250, + "scale": 1, + "close": false +} \ No newline at end of file diff --git a/vault/.obsidian/plugins/.gitkeep b/vault/.obsidian/plugins/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/vault/.obsidian/workspace.json b/vault/.obsidian/workspace.json new file mode 100644 index 0000000..45ffbab --- /dev/null +++ b/vault/.obsidian/workspace.json @@ -0,0 +1,159 @@ +{ + "main": { + "id": "930871bd163b9a7a", + "type": "split", + "children": [ + { + "id": "634dfa4a86e61f7f", + "type": "tabs", + "children": [ + { + "id": "b123fea9f84365d8", + "type": "leaf", + "state": { + "type": "empty", + "state": {}, + "icon": "lucide-file", + "title": "New tab" + } + } + ] + } + ], + "direction": "vertical" + }, + "left": { + "id": "a21ebe5947a5c71f", + "type": "split", + "children": [ + { + "id": "32175daed5963aa7", + "type": "tabs", + "children": [ + { + "id": "868b1c060db3a110", + "type": "leaf", + "state": { + "type": "file-explorer", + "state": { + "sortOrder": "alphabetical" + }, + "icon": "lucide-folder-closed", + "title": "Files" + } + }, + { + "id": "4bc75e71b51e11b0", + "type": "leaf", + "state": { + "type": "search", + "state": { + "query": "", + "matchingCase": false, + "explainSearch": false, + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical" + }, + "icon": "lucide-search", + "title": "Search" + } + }, + { + "id": "6d851af11dfb13da", + "type": "leaf", + "state": { + "type": "bookmarks", + "state": {}, + "icon": "lucide-bookmark", + "title": "Bookmarks" + } + } + ] + } + ], + "direction": "horizontal", + "width": 300 + }, + "right": { + "id": "5d6a3e51ae6c758f", + "type": "split", + "children": [ + { + "id": "1c37035be69547e5", + "type": "tabs", + "children": [ + { + "id": "33ec4bd3963497ab", + "type": "leaf", + "state": { + "type": "backlink", + "state": { + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical", + "showSearch": false, + "searchQuery": "", + "backlinkCollapsed": false, + "unlinkedCollapsed": true + }, + "icon": "links-coming-in", + "title": "Backlinks" + } + }, + { + "id": "2487192d0b99fdd8", + "type": "leaf", + "state": { + "type": "outgoing-link", + "state": { + "linksCollapsed": false, + "unlinkedCollapsed": true + }, + "icon": "links-going-out", + "title": "Outgoing links" + } + }, + { + "id": "fec498f9a6d0f797", + "type": "leaf", + "state": { + "type": "tag", + "state": { + "sortOrder": "frequency", + "useHierarchy": true + }, + "icon": "lucide-tags", + "title": "Tags" + } + }, + { + "id": "5e98b7f33c5bb964", + "type": "leaf", + "state": { + "type": "outline", + "state": {}, + "icon": "lucide-list", + "title": "Outline" + } + } + ] + } + ], + "direction": "horizontal", + "width": 300, + "collapsed": true + }, + "left-ribbon": { + "hiddenItems": { + "switcher:Open quick switcher": false, + "graph:Open graph view": false, + "canvas:Create new canvas": false, + "daily-notes:Open today's daily note": false, + "templates:Insert template": false, + "command-palette:Open command palette": false + } + }, + "active": "b123fea9f84365d8", + "lastOpenFiles": [] +} \ No newline at end of file diff --git a/vault/Welcome.md b/vault/Welcome.md new file mode 100644 index 0000000..f9bca28 --- /dev/null +++ b/vault/Welcome.md @@ -0,0 +1,5 @@ +This is your new *vault*. + +Make a note of something, [[create a link]], or try [the Importer](https://help.obsidian.md/Plugins/Importer)! + +When you're ready, delete this note and make the vault your own. \ No newline at end of file diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..4edc161 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,3382 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10c0 + +"@codemirror/language@https://github.com/lishid/cm-language": + version: 6.10.1 + resolution: "@codemirror/language@https://github.com/lishid/cm-language.git#commit=2644bfc27afda707a7e1f3aedaf3ca7120f63cd9" + dependencies: + "@codemirror/state": "npm:^6.0.0" + "@codemirror/view": "npm:^6.23.0" + "@lezer/common": "npm:^1.1.0" + "@lezer/highlight": "npm:^1.0.0" + "@lezer/lr": "npm:^1.0.0" + style-mod: "npm:^4.0.0" + checksum: 10c0/03f95ccf8b575f71b71ba7acd9061b3dffdef915936051323a7e7a19d65922ede673f7fdfd2fef51b2667d42df3d01ca0193cb5837694b0b8e19712ac1218c95 + languageName: node + linkType: hard + +"@codemirror/state@npm:^6.0.0, @codemirror/state@npm:^6.0.1, @codemirror/state@npm:^6.4.0": + version: 6.4.1 + resolution: "@codemirror/state@npm:6.4.1" + checksum: 10c0/cdab74d0ca4e262531a257ac419c9c44124f3ace8b0ca1262598a9218fbb6fd8f0afeb4b5ed2f64552a9573a0fc5d55481d4b9b05e9505ef729f9bd0f9469423 + languageName: node + linkType: hard + +"@codemirror/view@npm:^6.0.1, @codemirror/view@npm:^6.23.0": + version: 6.34.1 + resolution: "@codemirror/view@npm:6.34.1" + dependencies: + "@codemirror/state": "npm:^6.4.0" + style-mod: "npm:^4.1.0" + w3c-keyname: "npm:^2.2.4" + checksum: 10c0/cbb562ee7d6a443214e7f7c9822e207b506ef41ce31f331374aa9065931da8b40d6284081e21076579c2e6ea7c2d7b4e7ddf4b12058a667841428d29c5ae9a3e + languageName: node + linkType: hard + +"@electron/get@npm:^2.0.0": + version: 2.0.3 + resolution: "@electron/get@npm:2.0.3" + dependencies: + debug: "npm:^4.1.1" + env-paths: "npm:^2.2.0" + fs-extra: "npm:^8.1.0" + global-agent: "npm:^3.0.0" + got: "npm:^11.8.5" + progress: "npm:^2.0.3" + semver: "npm:^6.2.0" + sumchecker: "npm:^3.0.1" + dependenciesMeta: + global-agent: + optional: true + checksum: 10c0/148957d531bac50c29541515f2483c3e5c9c6ba9f0269a5d536540d2b8d849188a89588f18901f3a84c2b4fd376d1e0c5ea2159eb2d17bda68558f57df19015e + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/aix-ppc64@npm:0.21.5" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.17.3": + version: 0.17.3 + resolution: "@esbuild/android-arm64@npm:0.17.3" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/android-arm64@npm:0.21.5" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.17.3": + version: 0.17.3 + resolution: "@esbuild/android-arm@npm:0.17.3" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/android-arm@npm:0.21.5" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.17.3": + version: 0.17.3 + resolution: "@esbuild/android-x64@npm:0.17.3" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/android-x64@npm:0.21.5" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.17.3": + version: 0.17.3 + resolution: "@esbuild/darwin-arm64@npm:0.17.3" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/darwin-arm64@npm:0.21.5" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.17.3": + version: 0.17.3 + resolution: "@esbuild/darwin-x64@npm:0.17.3" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/darwin-x64@npm:0.21.5" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.17.3": + version: 0.17.3 + resolution: "@esbuild/freebsd-arm64@npm:0.17.3" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/freebsd-arm64@npm:0.21.5" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.17.3": + version: 0.17.3 + resolution: "@esbuild/freebsd-x64@npm:0.17.3" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/freebsd-x64@npm:0.21.5" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.17.3": + version: 0.17.3 + resolution: "@esbuild/linux-arm64@npm:0.17.3" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-arm64@npm:0.21.5" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.17.3": + version: 0.17.3 + resolution: "@esbuild/linux-arm@npm:0.17.3" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-arm@npm:0.21.5" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.17.3": + version: 0.17.3 + resolution: "@esbuild/linux-ia32@npm:0.17.3" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-ia32@npm:0.21.5" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.17.3": + version: 0.17.3 + resolution: "@esbuild/linux-loong64@npm:0.17.3" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-loong64@npm:0.21.5" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.17.3": + version: 0.17.3 + resolution: "@esbuild/linux-mips64el@npm:0.17.3" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-mips64el@npm:0.21.5" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.17.3": + version: 0.17.3 + resolution: "@esbuild/linux-ppc64@npm:0.17.3" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-ppc64@npm:0.21.5" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.17.3": + version: 0.17.3 + resolution: "@esbuild/linux-riscv64@npm:0.17.3" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-riscv64@npm:0.21.5" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.17.3": + version: 0.17.3 + resolution: "@esbuild/linux-s390x@npm:0.17.3" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-s390x@npm:0.21.5" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.17.3": + version: 0.17.3 + resolution: "@esbuild/linux-x64@npm:0.17.3" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/linux-x64@npm:0.21.5" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.17.3": + version: 0.17.3 + resolution: "@esbuild/netbsd-x64@npm:0.17.3" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/netbsd-x64@npm:0.21.5" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.17.3": + version: 0.17.3 + resolution: "@esbuild/openbsd-x64@npm:0.17.3" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/openbsd-x64@npm:0.21.5" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.17.3": + version: 0.17.3 + resolution: "@esbuild/sunos-x64@npm:0.17.3" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/sunos-x64@npm:0.21.5" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.17.3": + version: 0.17.3 + resolution: "@esbuild/win32-arm64@npm:0.17.3" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/win32-arm64@npm:0.21.5" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.17.3": + version: 0.17.3 + resolution: "@esbuild/win32-ia32@npm:0.17.3" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/win32-ia32@npm:0.21.5" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.17.3": + version: 0.17.3 + resolution: "@esbuild/win32-x64@npm:0.17.3" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.21.5": + version: 0.21.5 + resolution: "@esbuild/win32-x64@npm:0.21.5" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" + dependencies: + string-width: "npm:^5.1.2" + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: "npm:^7.0.1" + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: "npm:^8.1.0" + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.5.0": + version: 1.5.0 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.0" + checksum: 10c0/2eb864f276eb1096c3c11da3e9bb518f6d9fc0023c78344cdc037abadc725172c70314bdb360f2d4b7bffec7f5d657ce006816bc5d4ecb35e61b66132db00c18 + languageName: node + linkType: hard + +"@lezer/common@npm:^1.0.0, @lezer/common@npm:^1.1.0": + version: 1.2.3 + resolution: "@lezer/common@npm:1.2.3" + checksum: 10c0/fe9f8e111080ef94037a34ca2af1221c8d01c1763ba5ecf708a286185c76119509a5d19d924c8842172716716ddce22d7834394670c4a9432f0ba9f3b7c0f50d + languageName: node + linkType: hard + +"@lezer/highlight@npm:^1.0.0": + version: 1.2.1 + resolution: "@lezer/highlight@npm:1.2.1" + dependencies: + "@lezer/common": "npm:^1.0.0" + checksum: 10c0/51b4c08596a0dfeec6a7b7ed90a7f2743ab42e7e8ff8b89707fd042860e4e133dbd8243639fcaf077305ae6c303aa74e69794015eb16cb34741f5ac6721f283c + languageName: node + linkType: hard + +"@lezer/lr@npm:^1.0.0": + version: 1.4.2 + resolution: "@lezer/lr@npm:1.4.2" + dependencies: + "@lezer/common": "npm:^1.0.0" + checksum: 10c0/22bb5d0d4b33d0de5eb0706b7e5b5f2d20f570e112d9110009bd35b62ff10f2eb4eff8da4cf373dd4ddf5e06a304120b8f039add7ed9997c981c13945d5329cd + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 + languageName: node + linkType: hard + +"@npmcli/agent@npm:^2.0.0": + version: 2.2.2 + resolution: "@npmcli/agent@npm:2.2.2" + dependencies: + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^10.0.1" + socks-proxy-agent: "npm:^8.0.3" + checksum: 10c0/325e0db7b287d4154ecd164c0815c08007abfb07653cc57bceded17bb7fd240998a3cbdbe87d700e30bef494885eccc725ab73b668020811d56623d145b524ae + languageName: node + linkType: hard + +"@npmcli/fs@npm:^3.1.0": + version: 3.1.1 + resolution: "@npmcli/fs@npm:3.1.1" + dependencies: + semver: "npm:^7.3.5" + checksum: 10c0/c37a5b4842bfdece3d14dfdb054f73fe15ed2d3da61b34ff76629fb5b1731647c49166fd2a8bf8b56fcfa51200382385ea8909a3cbecdad612310c114d3f6c99 + languageName: node + linkType: hard + +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd + languageName: node + linkType: hard + +"@playwright/test@npm:^1.48.1": + version: 1.48.1 + resolution: "@playwright/test@npm:1.48.1" + dependencies: + playwright: "npm:1.48.1" + bin: + playwright: cli.js + checksum: 10c0/32cedc3b2d375cb8f4a830bc820d7726b0235be7a6202e1d6ee46e739b83666271c47c100c11311cf5a916468c18e6a4dc526accf9ef090786e7614c2633b2b8 + languageName: node + linkType: hard + +"@rollup/rollup-android-arm-eabi@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.24.0" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-android-arm64@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-android-arm64@npm:4.24.0" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-arm64@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-darwin-arm64@npm:4.24.0" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-x64@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-darwin-x64@npm:4.24.0" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.24.0" + conditions: os=linux & cpu=arm & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-musleabihf@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.24.0" + conditions: os=linux & cpu=arm & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.24.0" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.24.0" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.24.0" + conditions: os=linux & cpu=ppc64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.24.0" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-s390x-gnu@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.24.0" + conditions: os=linux & cpu=s390x & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.24.0" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.24.0" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.24.0" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-ia32-msvc@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.24.0" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.24.0": + version: 4.24.0 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.24.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@sindresorhus/is@npm:^4.0.0": + version: 4.6.0 + resolution: "@sindresorhus/is@npm:4.6.0" + checksum: 10c0/33b6fb1d0834ec8dd7689ddc0e2781c2bfd8b9c4e4bacbcb14111e0ae00621f2c264b8a7d36541799d74888b5dccdf422a891a5cb5a709ace26325eedc81e22e + languageName: node + linkType: hard + +"@szmarczak/http-timer@npm:^4.0.5": + version: 4.0.6 + resolution: "@szmarczak/http-timer@npm:4.0.6" + dependencies: + defer-to-connect: "npm:^2.0.0" + checksum: 10c0/73946918c025339db68b09abd91fa3001e87fc749c619d2e9c2003a663039d4c3cb89836c98a96598b3d47dec2481284ba85355392644911f5ecd2336536697f + languageName: node + linkType: hard + +"@types/cacheable-request@npm:^6.0.1": + version: 6.0.3 + resolution: "@types/cacheable-request@npm:6.0.3" + dependencies: + "@types/http-cache-semantics": "npm:*" + "@types/keyv": "npm:^3.1.4" + "@types/node": "npm:*" + "@types/responselike": "npm:^1.0.0" + checksum: 10c0/10816a88e4e5b144d43c1d15a81003f86d649776c7f410c9b5e6579d0ad9d4ca71c541962fb403077388b446e41af7ae38d313e46692144985f006ac5e11fa03 + languageName: node + linkType: hard + +"@types/codemirror@npm:5.60.8": + version: 5.60.8 + resolution: "@types/codemirror@npm:5.60.8" + dependencies: + "@types/tern": "npm:*" + checksum: 10c0/cf72f1650f78902afadcdf4a1042f7f7cb7d1cc8d6c7135ac3d5e07e5314671c77d7f331001fd0a2dc9bf976b5ac0ce8f0c8922f4cafeb680ac20e68afa02c13 + languageName: node + linkType: hard + +"@types/estree@npm:*, @types/estree@npm:1.0.6, @types/estree@npm:^1.0.0": + version: 1.0.6 + resolution: "@types/estree@npm:1.0.6" + checksum: 10c0/cdfd751f6f9065442cd40957c07fd80361c962869aa853c1c2fd03e101af8b9389d8ff4955a43a6fcfa223dd387a089937f95be0f3eec21ca527039fd2d9859a + languageName: node + linkType: hard + +"@types/glob@npm:^7.1.1": + version: 7.2.0 + resolution: "@types/glob@npm:7.2.0" + dependencies: + "@types/minimatch": "npm:*" + "@types/node": "npm:*" + checksum: 10c0/a8eb5d5cb5c48fc58c7ca3ff1e1ddf771ee07ca5043da6e4871e6757b4472e2e73b4cfef2644c38983174a4bc728c73f8da02845c28a1212f98cabd293ecae98 + languageName: node + linkType: hard + +"@types/http-cache-semantics@npm:*": + version: 4.0.4 + resolution: "@types/http-cache-semantics@npm:4.0.4" + checksum: 10c0/51b72568b4b2863e0fe8d6ce8aad72a784b7510d72dc866215642da51d84945a9459fa89f49ec48f1e9a1752e6a78e85a4cda0ded06b1c73e727610c925f9ce6 + languageName: node + linkType: hard + +"@types/json-schema@npm:^7.0.9": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db + languageName: node + linkType: hard + +"@types/keyv@npm:^3.1.4": + version: 3.1.4 + resolution: "@types/keyv@npm:3.1.4" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/ff8f54fc49621210291f815fe5b15d809fd7d032941b3180743440bd507ecdf08b9e844625fa346af568c84bf34114eb378dcdc3e921a08ba1e2a08d7e3c809c + languageName: node + linkType: hard + +"@types/minimatch@npm:*": + version: 5.1.2 + resolution: "@types/minimatch@npm:5.1.2" + checksum: 10c0/83cf1c11748891b714e129de0585af4c55dd4c2cafb1f1d5233d79246e5e1e19d1b5ad9e8db449667b3ffa2b6c80125c429dbee1054e9efb45758dbc4e118562 + languageName: node + linkType: hard + +"@types/node@npm:*": + version: 22.7.8 + resolution: "@types/node@npm:22.7.8" + dependencies: + undici-types: "npm:~6.19.2" + checksum: 10c0/3d3b3a2ec5a57ca4fd37b34dce415620993ca5f87cea2c728ffe73aa31446dbfe19c53171c478447bd7d78011ef4845a46ab2f0dc38e699cc75b3d100a60c690 + languageName: node + linkType: hard + +"@types/node@npm:^16.11.6": + version: 16.18.114 + resolution: "@types/node@npm:16.18.114" + checksum: 10c0/38391d08cd795857a664c8c26e0c722d386255e5d19770faec9a9b475c27b5502aee8ba5b159052c840a6bff715ac27e7329ba4df360e56cf0354137024f1f1d + languageName: node + linkType: hard + +"@types/node@npm:^20.9.0": + version: 20.16.14 + resolution: "@types/node@npm:20.16.14" + dependencies: + undici-types: "npm:~6.19.2" + checksum: 10c0/297da38ff6668ecd672b17a100b715166cab33bc8d586521fa28b2d2fb47b04475e1ad9f55e8a436c31d72c1fefa7bd4485a8ad66d2adc9b4515d8a28937e8b9 + languageName: node + linkType: hard + +"@types/responselike@npm:^1.0.0": + version: 1.0.3 + resolution: "@types/responselike@npm:1.0.3" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/a58ba341cb9e7d74f71810a88862da7b2a6fa42e2a1fc0ce40498f6ea1d44382f0640117057da779f74c47039f7166bf48fad02dc876f94e005c7afa50f5e129 + languageName: node + linkType: hard + +"@types/tern@npm:*": + version: 0.23.9 + resolution: "@types/tern@npm:0.23.9" + dependencies: + "@types/estree": "npm:*" + checksum: 10c0/1d30ccfbb84362fe7a7edeea3ba5268f5a7a0965d504147c6b701092f0ea3f0833799ee753e2059a535ca06590f91dd2416e4bd94a6e8ad51eea127a0607c617 + languageName: node + linkType: hard + +"@types/tmp@npm:^0": + version: 0.2.6 + resolution: "@types/tmp@npm:0.2.6" + checksum: 10c0/a11bfa2cd8eaa6c5d62f62a3569192d7a2c28efdc5c17af0b0551db85816b2afc8156f3ca15ac76f0b142ae1403f04f44279871424233a1f3390b2e5fc828cd0 + languageName: node + linkType: hard + +"@types/yauzl@npm:^2.9.1": + version: 2.10.3 + resolution: "@types/yauzl@npm:2.10.3" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/f1b7c1b99fef9f2fe7f1985ef7426d0cebe48cd031f1780fcdc7451eec7e31ac97028f16f50121a59bcf53086a1fc8c856fd5b7d3e00970e43d92ae27d6b43dc + languageName: node + linkType: hard + +"@typescript-eslint/eslint-plugin@npm:5.29.0": + version: 5.29.0 + resolution: "@typescript-eslint/eslint-plugin@npm:5.29.0" + dependencies: + "@typescript-eslint/scope-manager": "npm:5.29.0" + "@typescript-eslint/type-utils": "npm:5.29.0" + "@typescript-eslint/utils": "npm:5.29.0" + debug: "npm:^4.3.4" + functional-red-black-tree: "npm:^1.0.1" + ignore: "npm:^5.2.0" + regexpp: "npm:^3.2.0" + semver: "npm:^7.3.7" + tsutils: "npm:^3.21.0" + peerDependencies: + "@typescript-eslint/parser": ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/2de03a6659d2fe43588939c9cfc5bfe2bc5c3e7874eeefd563a650a53388488cd4e16bdc3061e7665770440ce2b02813df854074caeffac1547a79de9d629bf0 + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:5.29.0": + version: 5.29.0 + resolution: "@typescript-eslint/parser@npm:5.29.0" + dependencies: + "@typescript-eslint/scope-manager": "npm:5.29.0" + "@typescript-eslint/types": "npm:5.29.0" + "@typescript-eslint/typescript-estree": "npm:5.29.0" + debug: "npm:^4.3.4" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/dbdf8a719081c38db4ba64162a977c613b0c1fcb6aa38d003726e267c373f33270d3881799992af73f43782504f452d600dcb3eaca3b62a870b0fd3c9b905bca + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:5.29.0": + version: 5.29.0 + resolution: "@typescript-eslint/scope-manager@npm:5.29.0" + dependencies: + "@typescript-eslint/types": "npm:5.29.0" + "@typescript-eslint/visitor-keys": "npm:5.29.0" + checksum: 10c0/6c8a566738101bc8ea51cd746836a947fee4d30fde015cbdcd7dbf51a1d77cc938a9804432e12041739a2349da847a6e1acd4d65f16902b39cbc0479a7afaf6b + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:5.29.0": + version: 5.29.0 + resolution: "@typescript-eslint/type-utils@npm:5.29.0" + dependencies: + "@typescript-eslint/utils": "npm:5.29.0" + debug: "npm:^4.3.4" + tsutils: "npm:^3.21.0" + peerDependencies: + eslint: "*" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/1b170a8b226014dc910def3e03ab1be11d48416158c9b7a3ffafc5d14a14d1427d1aa8f47346b67b8e89467ee2e800b56a807a3b66044c9b99798c41db1b7b0a + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:5.29.0": + version: 5.29.0 + resolution: "@typescript-eslint/types@npm:5.29.0" + checksum: 10c0/8679d269716931562808be47fe2971ba9561012060a965d2a006317be502b92126281039778fc88ba7f25d44cc0cee8974f9b4e40062355e554959464f97bebe + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:5.29.0": + version: 5.29.0 + resolution: "@typescript-eslint/typescript-estree@npm:5.29.0" + dependencies: + "@typescript-eslint/types": "npm:5.29.0" + "@typescript-eslint/visitor-keys": "npm:5.29.0" + debug: "npm:^4.3.4" + globby: "npm:^11.1.0" + is-glob: "npm:^4.0.3" + semver: "npm:^7.3.7" + tsutils: "npm:^3.21.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/b52c1c292f5cdd63b0fc29680c6dfbff23d38a5b1e7731c4f54256c4131b56c38eee5188a119311fe673403b0c974f0aed71652da0371b2078ff213313fd3bf7 + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:5.29.0": + version: 5.29.0 + resolution: "@typescript-eslint/utils@npm:5.29.0" + dependencies: + "@types/json-schema": "npm:^7.0.9" + "@typescript-eslint/scope-manager": "npm:5.29.0" + "@typescript-eslint/types": "npm:5.29.0" + "@typescript-eslint/typescript-estree": "npm:5.29.0" + eslint-scope: "npm:^5.1.1" + eslint-utils: "npm:^3.0.0" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 10c0/64c4bc04bc1830add706f939ec16ef12a923820bdff579beb42f3cf190b3422eae779f91c48080efb194d10900e9da395b13a6d185a73cfb0d78a2d3a3253f0a + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:5.29.0": + version: 5.29.0 + resolution: "@typescript-eslint/visitor-keys@npm:5.29.0" + dependencies: + "@typescript-eslint/types": "npm:5.29.0" + eslint-visitor-keys: "npm:^3.3.0" + checksum: 10c0/c8a90ad941d6c69c474202c7fce5f6dfb3c5dfa67eb6dd78fe67d386a6bfc99075d62b1dd1bf753d5a820b1e798a80c28b6a93621dcfaa98f56981593abadc05 + languageName: node + linkType: hard + +"@vitest/expect@npm:2.1.3": + version: 2.1.3 + resolution: "@vitest/expect@npm:2.1.3" + dependencies: + "@vitest/spy": "npm:2.1.3" + "@vitest/utils": "npm:2.1.3" + chai: "npm:^5.1.1" + tinyrainbow: "npm:^1.2.0" + checksum: 10c0/0837adcbb938feebcc083664afc5c4d12e42f1f2442b6f1bedc6b5650a8ff2448b1f10713b45afb099c839fb5cf766c971736267fa9b0fe2ac87f3e2d7f782c2 + languageName: node + linkType: hard + +"@vitest/mocker@npm:2.1.3": + version: 2.1.3 + resolution: "@vitest/mocker@npm:2.1.3" + dependencies: + "@vitest/spy": "npm:2.1.3" + estree-walker: "npm:^3.0.3" + magic-string: "npm:^0.30.11" + peerDependencies: + "@vitest/spy": 2.1.3 + msw: ^2.3.5 + vite: ^5.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + checksum: 10c0/03c80628d092244f21a0ba9041665fc75f987d0d11fab1ae0b7027ec21e503f65057e8c24b936602c5f852d83fbb183da13d05dba117c99785b41b3dafd105ce + languageName: node + linkType: hard + +"@vitest/pretty-format@npm:2.1.3, @vitest/pretty-format@npm:^2.1.3": + version: 2.1.3 + resolution: "@vitest/pretty-format@npm:2.1.3" + dependencies: + tinyrainbow: "npm:^1.2.0" + checksum: 10c0/5a6ee872a8adf5e2764f2b5b2276d8a2199be4ef14777ab693428caf359481851400af10b59721d4972289c955ffe7277954a662b04cfb10233824574c7074ba + languageName: node + linkType: hard + +"@vitest/runner@npm:2.1.3": + version: 2.1.3 + resolution: "@vitest/runner@npm:2.1.3" + dependencies: + "@vitest/utils": "npm:2.1.3" + pathe: "npm:^1.1.2" + checksum: 10c0/d5b077643265d10025e22fa64a0e54c3d4fddc23e05f9fcd143dbcc4080851b0df31985986e57890a974577a18d3af624758b6062801d7dd96f9b4f2eaf591f1 + languageName: node + linkType: hard + +"@vitest/snapshot@npm:2.1.3": + version: 2.1.3 + resolution: "@vitest/snapshot@npm:2.1.3" + dependencies: + "@vitest/pretty-format": "npm:2.1.3" + magic-string: "npm:^0.30.11" + pathe: "npm:^1.1.2" + checksum: 10c0/a3dcea6a5f7581b6a34dc3bf5f7bd42a05e2ccf6e1171d9f1b759688aebe650e6412564d066aeaa45e83ac549d453b6a3edcf774a8ac728c0c639f8dc919039f + languageName: node + linkType: hard + +"@vitest/spy@npm:2.1.3": + version: 2.1.3 + resolution: "@vitest/spy@npm:2.1.3" + dependencies: + tinyspy: "npm:^3.0.0" + checksum: 10c0/8d85a5c2848c5bd81892af989aebad65d0c7ae74094aa98ad4f35ecf80755259c7a748a8e7bf683b2906fac29a51fc0ffa82f8fc073b36dbd8a0418261fccdba + languageName: node + linkType: hard + +"@vitest/utils@npm:2.1.3": + version: 2.1.3 + resolution: "@vitest/utils@npm:2.1.3" + dependencies: + "@vitest/pretty-format": "npm:2.1.3" + loupe: "npm:^3.1.1" + tinyrainbow: "npm:^1.2.0" + checksum: 10c0/55a044e43b84c0f8f573d8578107f26440678b6f506c8d9fee88b7ef120d19efd27c9be77985c107113b0f3f3db298dcee57074e1c1c214bee7a097fd08a209b + languageName: node + linkType: hard + +"abbrev@npm:^2.0.0": + version: 2.0.0 + resolution: "abbrev@npm:2.0.0" + checksum: 10c0/f742a5a107473946f426c691c08daba61a1d15942616f300b5d32fd735be88fef5cba24201757b6c407fd564555fb48c751cfa33519b2605c8a7aadd22baf372 + languageName: node + linkType: hard + +"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0, agent-base@npm:^7.1.1": + version: 7.1.1 + resolution: "agent-base@npm:7.1.1" + dependencies: + debug: "npm:^4.3.4" + checksum: 10c0/e59ce7bed9c63bf071a30cc471f2933862044c97fd9958967bfe22521d7a0f601ce4ed5a8c011799d0c726ca70312142ae193bbebb60f576b52be19d4a363b50 + languageName: node + linkType: hard + +"aggregate-error@npm:^3.0.0": + version: 3.1.0 + resolution: "aggregate-error@npm:3.1.0" + dependencies: + clean-stack: "npm:^2.0.0" + indent-string: "npm:^4.0.0" + checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 + languageName: node + linkType: hard + +"ansi-regex@npm:^6.0.1": + version: 6.1.0 + resolution: "ansi-regex@npm:6.1.0" + checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: "npm:^2.0.1" + checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 + languageName: node + linkType: hard + +"ansi-styles@npm:^6.1.0": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c + languageName: node + linkType: hard + +"array-union@npm:^2.1.0": + version: 2.1.0 + resolution: "array-union@npm:2.1.0" + checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 + languageName: node + linkType: hard + +"asar@npm:^3.2.0": + version: 3.2.0 + resolution: "asar@npm:3.2.0" + dependencies: + "@types/glob": "npm:^7.1.1" + chromium-pickle-js: "npm:^0.2.0" + commander: "npm:^5.0.0" + glob: "npm:^7.1.6" + minimatch: "npm:^3.0.4" + dependenciesMeta: + "@types/glob": + optional: true + bin: + asar: bin/asar.js + checksum: 10c0/1eea9686e3df8102251b911951d374c4bb758ce2881471c94c3999f7c473c96be6036ac09aafbd9453ba43b901e96ad0082d7e1bafc12f6768571353297c516f + languageName: node + linkType: hard + +"assertion-error@npm:^2.0.1": + version: 2.0.1 + resolution: "assertion-error@npm:2.0.1" + checksum: 10c0/bbbcb117ac6480138f8c93cf7f535614282dea9dc828f540cdece85e3c665e8f78958b96afac52f29ff883c72638e6a87d469ecc9fe5bc902df03ed24a55dba8 + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee + languageName: node + linkType: hard + +"boolean@npm:^3.0.1": + version: 3.2.0 + resolution: "boolean@npm:3.2.0" + checksum: 10c0/6a0dc9668f6f3dda42a53c181fcbdad223169c8d87b6c4011b87a8b14a21770efb2934a778f063d7ece17280f8c06d313c87f7b834bb1dd526a867ffcd00febf + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: "npm:^1.0.0" + concat-map: "npm:0.0.1" + checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: "npm:^1.0.0" + checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f + languageName: node + linkType: hard + +"braces@npm:^3.0.3": + version: 3.0.3 + resolution: "braces@npm:3.0.3" + dependencies: + fill-range: "npm:^7.1.1" + checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 + languageName: node + linkType: hard + +"buffer-crc32@npm:~0.2.3": + version: 0.2.13 + resolution: "buffer-crc32@npm:0.2.13" + checksum: 10c0/cb0a8ddf5cf4f766466db63279e47761eb825693eeba6a5a95ee4ec8cb8f81ede70aa7f9d8aeec083e781d47154290eb5d4d26b3f7a465ec57fb9e7d59c47150 + languageName: node + linkType: hard + +"builtin-modules@npm:3.3.0": + version: 3.3.0 + resolution: "builtin-modules@npm:3.3.0" + checksum: 10c0/2cb3448b4f7306dc853632a4fcddc95e8d4e4b9868c139400027b71938fc6806d4ff44007deffb362ac85724bd40c2c6452fb6a0aa4531650eeddb98d8e5ee8a + languageName: node + linkType: hard + +"cac@npm:^6.7.14": + version: 6.7.14 + resolution: "cac@npm:6.7.14" + checksum: 10c0/4ee06aaa7bab8981f0d54e5f5f9d4adcd64058e9697563ce336d8a3878ed018ee18ebe5359b2430eceae87e0758e62ea2019c3f52ae6e211b1bd2e133856cd10 + languageName: node + linkType: hard + +"cacache@npm:^18.0.0": + version: 18.0.4 + resolution: "cacache@npm:18.0.4" + dependencies: + "@npmcli/fs": "npm:^3.1.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^10.2.2" + lru-cache: "npm:^10.0.1" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^2.0.1" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + p-map: "npm:^4.0.0" + ssri: "npm:^10.0.0" + tar: "npm:^6.1.11" + unique-filename: "npm:^3.0.0" + checksum: 10c0/6c055bafed9de4f3dcc64ac3dc7dd24e863210902b7c470eb9ce55a806309b3efff78033e3d8b4f7dcc5d467f2db43c6a2857aaaf26f0094b8a351d44c42179f + languageName: node + linkType: hard + +"cacheable-lookup@npm:^5.0.3": + version: 5.0.4 + resolution: "cacheable-lookup@npm:5.0.4" + checksum: 10c0/a6547fb4954b318aa831cbdd2f7b376824bc784fb1fa67610e4147099e3074726072d9af89f12efb69121415a0e1f2918a8ddd4aafcbcf4e91fbeef4a59cd42c + languageName: node + linkType: hard + +"cacheable-request@npm:^7.0.2": + version: 7.0.4 + resolution: "cacheable-request@npm:7.0.4" + dependencies: + clone-response: "npm:^1.0.2" + get-stream: "npm:^5.1.0" + http-cache-semantics: "npm:^4.0.0" + keyv: "npm:^4.0.0" + lowercase-keys: "npm:^2.0.0" + normalize-url: "npm:^6.0.1" + responselike: "npm:^2.0.0" + checksum: 10c0/0834a7d17ae71a177bc34eab06de112a43f9b5ad05ebe929bec983d890a7d9f2bc5f1aa8bb67ea2b65e07a3bc74bea35fa62dd36dbac52876afe36fdcf83da41 + languageName: node + linkType: hard + +"chai@npm:^5.1.1": + version: 5.1.1 + resolution: "chai@npm:5.1.1" + dependencies: + assertion-error: "npm:^2.0.1" + check-error: "npm:^2.1.1" + deep-eql: "npm:^5.0.1" + loupe: "npm:^3.1.0" + pathval: "npm:^2.0.0" + checksum: 10c0/e7f00e5881e3d5224f08fe63966ed6566bd9fdde175863c7c16dd5240416de9b34c4a0dd925f4fd64ad56256ca6507d32cf6131c49e1db65c62578eb31d4566c + languageName: node + linkType: hard + +"check-error@npm:^2.1.1": + version: 2.1.1 + resolution: "check-error@npm:2.1.1" + checksum: 10c0/979f13eccab306cf1785fa10941a590b4e7ea9916ea2a4f8c87f0316fc3eab07eabefb6e587424ef0f88cbcd3805791f172ea739863ca3d7ce2afc54641c7f0e + languageName: node + linkType: hard + +"chownr@npm:^2.0.0": + version: 2.0.0 + resolution: "chownr@npm:2.0.0" + checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 + languageName: node + linkType: hard + +"chromium-pickle-js@npm:^0.2.0": + version: 0.2.0 + resolution: "chromium-pickle-js@npm:0.2.0" + checksum: 10c0/0a95bd280acdf05b0e08fa1a0e1db58c815dd24e92d639add8f494d23a8a49c26e4829721224d68f2f0e57a69047714db29bcff6deb5d029332321223416cb29 + languageName: node + linkType: hard + +"clean-stack@npm:^2.0.0": + version: 2.2.0 + resolution: "clean-stack@npm:2.2.0" + checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 + languageName: node + linkType: hard + +"clone-response@npm:^1.0.2": + version: 1.0.3 + resolution: "clone-response@npm:1.0.3" + dependencies: + mimic-response: "npm:^1.0.0" + checksum: 10c0/06a2b611824efb128810708baee3bd169ec9a1bf5976a5258cd7eb3f7db25f00166c6eee5961f075c7e38e194f373d4fdf86b8166ad5b9c7e82bbd2e333a6087 + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: "npm:~1.1.4" + checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 + languageName: node + linkType: hard + +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 + languageName: node + linkType: hard + +"commander@npm:^5.0.0": + version: 5.1.0 + resolution: "commander@npm:5.1.0" + checksum: 10c0/da9d71dbe4ce039faf1fe9eac3771dca8c11d66963341f62602f7b66e36d2a3f8883407af4f9a37b1db1a55c59c0c1325f186425764c2e963dc1d67aec2a4b6d + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.0": + version: 7.0.3 + resolution: "cross-spawn@npm:7.0.3" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750 + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.4, debug@npm:^4.3.6": + version: 4.3.7 + resolution: "debug@npm:4.3.7" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/1471db19c3b06d485a622d62f65947a19a23fbd0dd73f7fd3eafb697eec5360cde447fb075919987899b1a2096e85d35d4eb5a4de09a57600ac9cf7e6c8e768b + languageName: node + linkType: hard + +"debug@npm:^2.2.0": + version: 2.6.9 + resolution: "debug@npm:2.6.9" + dependencies: + ms: "npm:2.0.0" + checksum: 10c0/121908fb839f7801180b69a7e218a40b5a0b718813b886b7d6bdb82001b931c938e2941d1e4450f33a1b1df1da653f5f7a0440c197f29fbf8a6e9d45ff6ef589 + languageName: node + linkType: hard + +"decompress-response@npm:^6.0.0": + version: 6.0.0 + resolution: "decompress-response@npm:6.0.0" + dependencies: + mimic-response: "npm:^3.1.0" + checksum: 10c0/bd89d23141b96d80577e70c54fb226b2f40e74a6817652b80a116d7befb8758261ad073a8895648a29cc0a5947021ab66705cb542fa9c143c82022b27c5b175e + languageName: node + linkType: hard + +"deep-eql@npm:^5.0.1": + version: 5.0.2 + resolution: "deep-eql@npm:5.0.2" + checksum: 10c0/7102cf3b7bb719c6b9c0db2e19bf0aa9318d141581befe8c7ce8ccd39af9eaa4346e5e05adef7f9bd7015da0f13a3a25dcfe306ef79dc8668aedbecb658dd247 + languageName: node + linkType: hard + +"defer-to-connect@npm:^2.0.0": + version: 2.0.1 + resolution: "defer-to-connect@npm:2.0.1" + checksum: 10c0/625ce28e1b5ad10cf77057b9a6a727bf84780c17660f6644dab61dd34c23de3001f03cedc401f7d30a4ed9965c2e8a7336e220a329146f2cf85d4eddea429782 + languageName: node + linkType: hard + +"define-data-property@npm:^1.0.1": + version: 1.1.4 + resolution: "define-data-property@npm:1.1.4" + dependencies: + es-define-property: "npm:^1.0.0" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.0.1" + checksum: 10c0/dea0606d1483eb9db8d930d4eac62ca0fa16738b0b3e07046cddfacf7d8c868bbe13fa0cb263eb91c7d0d527960dc3f2f2471a69ed7816210307f6744fe62e37 + languageName: node + linkType: hard + +"define-properties@npm:^1.2.1": + version: 1.2.1 + resolution: "define-properties@npm:1.2.1" + dependencies: + define-data-property: "npm:^1.0.1" + has-property-descriptors: "npm:^1.0.0" + object-keys: "npm:^1.1.1" + checksum: 10c0/88a152319ffe1396ccc6ded510a3896e77efac7a1bfbaa174a7b00414a1747377e0bb525d303794a47cf30e805c2ec84e575758512c6e44a993076d29fd4e6c3 + languageName: node + linkType: hard + +"detect-node@npm:^2.0.4": + version: 2.1.0 + resolution: "detect-node@npm:2.1.0" + checksum: 10c0/f039f601790f2e9d4654e499913259a798b1f5246ae24f86ab5e8bd4aaf3bce50484234c494f11fb00aecb0c6e2733aa7b1cf3f530865640b65fbbd65b2c4e09 + languageName: node + linkType: hard + +"dir-glob@npm:^3.0.1": + version: 3.0.1 + resolution: "dir-glob@npm:3.0.1" + dependencies: + path-type: "npm:^4.0.0" + checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c + languageName: node + linkType: hard + +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 + languageName: node + linkType: hard + +"electron@npm:^33.0.2": + version: 33.0.2 + resolution: "electron@npm:33.0.2" + dependencies: + "@electron/get": "npm:^2.0.0" + "@types/node": "npm:^20.9.0" + extract-zip: "npm:^2.0.1" + bin: + electron: cli.js + checksum: 10c0/a7f8b810412e1cc5430edca1b07eeebe75d91d82405adb7ca83d585caf9d72893db7eba0eb88ddc2a0e7e013add1d464a2663afdc3542693d62e1aac5cbfa626 + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 + languageName: node + linkType: hard + +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 + languageName: node + linkType: hard + +"encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: "npm:^0.6.2" + checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 + languageName: node + linkType: hard + +"end-of-stream@npm:^1.1.0": + version: 1.4.4 + resolution: "end-of-stream@npm:1.4.4" + dependencies: + once: "npm:^1.4.0" + checksum: 10c0/870b423afb2d54bb8d243c63e07c170409d41e20b47eeef0727547aea5740bd6717aca45597a9f2745525667a6b804c1e7bede41f856818faee5806dd9ff3975 + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 + languageName: node + linkType: hard + +"es-define-property@npm:^1.0.0": + version: 1.0.0 + resolution: "es-define-property@npm:1.0.0" + dependencies: + get-intrinsic: "npm:^1.2.4" + checksum: 10c0/6bf3191feb7ea2ebda48b577f69bdfac7a2b3c9bcf97307f55fd6ef1bbca0b49f0c219a935aca506c993d8c5d8bddd937766cb760cd5e5a1071351f2df9f9aa4 + languageName: node + linkType: hard + +"es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 + languageName: node + linkType: hard + +"es6-error@npm:^4.1.1": + version: 4.1.1 + resolution: "es6-error@npm:4.1.1" + checksum: 10c0/357663fb1e845c047d548c3d30f86e005db71e122678f4184ced0693f634688c3f3ef2d7de7d4af732f734de01f528b05954e270f06aa7d133679fb9fe6600ef + languageName: node + linkType: hard + +"esbuild@npm:0.17.3": + version: 0.17.3 + resolution: "esbuild@npm:0.17.3" + dependencies: + "@esbuild/android-arm": "npm:0.17.3" + "@esbuild/android-arm64": "npm:0.17.3" + "@esbuild/android-x64": "npm:0.17.3" + "@esbuild/darwin-arm64": "npm:0.17.3" + "@esbuild/darwin-x64": "npm:0.17.3" + "@esbuild/freebsd-arm64": "npm:0.17.3" + "@esbuild/freebsd-x64": "npm:0.17.3" + "@esbuild/linux-arm": "npm:0.17.3" + "@esbuild/linux-arm64": "npm:0.17.3" + "@esbuild/linux-ia32": "npm:0.17.3" + "@esbuild/linux-loong64": "npm:0.17.3" + "@esbuild/linux-mips64el": "npm:0.17.3" + "@esbuild/linux-ppc64": "npm:0.17.3" + "@esbuild/linux-riscv64": "npm:0.17.3" + "@esbuild/linux-s390x": "npm:0.17.3" + "@esbuild/linux-x64": "npm:0.17.3" + "@esbuild/netbsd-x64": "npm:0.17.3" + "@esbuild/openbsd-x64": "npm:0.17.3" + "@esbuild/sunos-x64": "npm:0.17.3" + "@esbuild/win32-arm64": "npm:0.17.3" + "@esbuild/win32-ia32": "npm:0.17.3" + "@esbuild/win32-x64": "npm:0.17.3" + dependenciesMeta: + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/0b17e66f68c6cc0665cc47fdc03d5189d27ba6aeca15513d777b09053c3ce2565417841f706db3c7ce34653d57f82d8168c10ffb569eb2dd7926aed8d628f8e2 + languageName: node + linkType: hard + +"esbuild@npm:^0.21.3": + version: 0.21.5 + resolution: "esbuild@npm:0.21.5" + dependencies: + "@esbuild/aix-ppc64": "npm:0.21.5" + "@esbuild/android-arm": "npm:0.21.5" + "@esbuild/android-arm64": "npm:0.21.5" + "@esbuild/android-x64": "npm:0.21.5" + "@esbuild/darwin-arm64": "npm:0.21.5" + "@esbuild/darwin-x64": "npm:0.21.5" + "@esbuild/freebsd-arm64": "npm:0.21.5" + "@esbuild/freebsd-x64": "npm:0.21.5" + "@esbuild/linux-arm": "npm:0.21.5" + "@esbuild/linux-arm64": "npm:0.21.5" + "@esbuild/linux-ia32": "npm:0.21.5" + "@esbuild/linux-loong64": "npm:0.21.5" + "@esbuild/linux-mips64el": "npm:0.21.5" + "@esbuild/linux-ppc64": "npm:0.21.5" + "@esbuild/linux-riscv64": "npm:0.21.5" + "@esbuild/linux-s390x": "npm:0.21.5" + "@esbuild/linux-x64": "npm:0.21.5" + "@esbuild/netbsd-x64": "npm:0.21.5" + "@esbuild/openbsd-x64": "npm:0.21.5" + "@esbuild/sunos-x64": "npm:0.21.5" + "@esbuild/win32-arm64": "npm:0.21.5" + "@esbuild/win32-ia32": "npm:0.21.5" + "@esbuild/win32-x64": "npm:0.21.5" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/fa08508adf683c3f399e8a014a6382a6b65542213431e26206c0720e536b31c09b50798747c2a105a4bbba1d9767b8d3615a74c2f7bf1ddf6d836cd11eb672de + languageName: node + linkType: hard + +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 + languageName: node + linkType: hard + +"eslint-scope@npm:^5.1.1": + version: 5.1.1 + resolution: "eslint-scope@npm:5.1.1" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^4.1.1" + checksum: 10c0/d30ef9dc1c1cbdece34db1539a4933fe3f9b14e1ffb27ecc85987902ee663ad7c9473bbd49a9a03195a373741e62e2f807c4938992e019b511993d163450e70a + languageName: node + linkType: hard + +"eslint-utils@npm:^3.0.0": + version: 3.0.0 + resolution: "eslint-utils@npm:3.0.0" + dependencies: + eslint-visitor-keys: "npm:^2.0.0" + peerDependencies: + eslint: ">=5" + checksum: 10c0/45aa2b63667a8d9b474c98c28af908d0a592bed1a4568f3145cd49fb5d9510f545327ec95561625290313fe126e6d7bdfe3fdbdb6f432689fab6b9497d3bfb52 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^2.0.0": + version: 2.1.0 + resolution: "eslint-visitor-keys@npm:2.1.0" + checksum: 10c0/9f0e3a2db751d84067d15977ac4b4472efd6b303e369e6ff241a99feac04da758f46d5add022c33d06b53596038dbae4b4aceb27c7e68b8dfc1055b35e495787 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^3.3.0": + version: 3.4.3 + resolution: "eslint-visitor-keys@npm:3.4.3" + checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 + languageName: node + linkType: hard + +"esrecurse@npm:^4.3.0": + version: 4.3.0 + resolution: "esrecurse@npm:4.3.0" + dependencies: + estraverse: "npm:^5.2.0" + checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5 + languageName: node + linkType: hard + +"estraverse@npm:^4.1.1": + version: 4.3.0 + resolution: "estraverse@npm:4.3.0" + checksum: 10c0/9cb46463ef8a8a4905d3708a652d60122a0c20bb58dec7e0e12ab0e7235123d74214fc0141d743c381813e1b992767e2708194f6f6e0f9fd00c1b4e0887b8b6d + languageName: node + linkType: hard + +"estraverse@npm:^5.2.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 + languageName: node + linkType: hard + +"estree-walker@npm:^3.0.3": + version: 3.0.3 + resolution: "estree-walker@npm:3.0.3" + dependencies: + "@types/estree": "npm:^1.0.0" + checksum: 10c0/c12e3c2b2642d2bcae7d5aa495c60fa2f299160946535763969a1c83fc74518ffa9c2cd3a8b69ac56aea547df6a8aac25f729a342992ef0bbac5f1c73e78995d + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.1 + resolution: "exponential-backoff@npm:3.1.1" + checksum: 10c0/160456d2d647e6019640bd07111634d8c353038d9fa40176afb7cd49b0548bdae83b56d05e907c2cce2300b81cae35d800ef92fefb9d0208e190fa3b7d6bb579 + languageName: node + linkType: hard + +"extract-zip@npm:^2.0.1": + version: 2.0.1 + resolution: "extract-zip@npm:2.0.1" + dependencies: + "@types/yauzl": "npm:^2.9.1" + debug: "npm:^4.1.1" + get-stream: "npm:^5.1.0" + yauzl: "npm:^2.10.0" + dependenciesMeta: + "@types/yauzl": + optional: true + bin: + extract-zip: cli.js + checksum: 10c0/9afbd46854aa15a857ae0341a63a92743a7b89c8779102c3b4ffc207516b2019337353962309f85c66ee3d9092202a83cdc26dbf449a11981272038443974aee + languageName: node + linkType: hard + +"fast-glob@npm:^3.2.9": + version: 3.3.2 + resolution: "fast-glob@npm:3.3.2" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.4" + checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.17.1 + resolution: "fastq@npm:1.17.1" + dependencies: + reusify: "npm:^1.0.4" + checksum: 10c0/1095f16cea45fb3beff558bb3afa74ca7a9250f5a670b65db7ed585f92b4b48381445cd328b3d87323da81e43232b5d5978a8201bde84e0cd514310f1ea6da34 + languageName: node + linkType: hard + +"fd-slicer@npm:~1.1.0": + version: 1.1.0 + resolution: "fd-slicer@npm:1.1.0" + dependencies: + pend: "npm:~1.2.0" + checksum: 10c0/304dd70270298e3ffe3bcc05e6f7ade2511acc278bc52d025f8918b48b6aa3b77f10361bddfadfe2a28163f7af7adbdce96f4d22c31b2f648ba2901f0c5fc20e + languageName: node + linkType: hard + +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 + languageName: node + linkType: hard + +"foreground-child@npm:^3.1.0": + version: 3.3.0 + resolution: "foreground-child@npm:3.3.0" + dependencies: + cross-spawn: "npm:^7.0.0" + signal-exit: "npm:^4.0.1" + checksum: 10c0/028f1d41000553fcfa6c4bb5c372963bf3d9bf0b1f25a87d1a6253014343fb69dfb1b42d9625d7cf44c8ba429940f3d0ff718b62105d4d4a4f6ef8ca0a53faa2 + languageName: node + linkType: hard + +"fs-extra@npm:^8.1.0": + version: 8.1.0 + resolution: "fs-extra@npm:8.1.0" + dependencies: + graceful-fs: "npm:^4.2.0" + jsonfile: "npm:^4.0.0" + universalify: "npm:^0.1.0" + checksum: 10c0/259f7b814d9e50d686899550c4f9ded85c46c643f7fe19be69504888e007fcbc08f306fae8ec495b8b998635e997c9e3e175ff2eeed230524ef1c1684cc96423 + languageName: node + linkType: hard + +"fs-minipass@npm:^2.0.0": + version: 2.1.0 + resolution: "fs-minipass@npm:2.1.0" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 + languageName: node + linkType: hard + +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 + languageName: node + linkType: hard + +"fsevents@npm:2.3.2": + version: 2.3.2 + resolution: "fsevents@npm:2.3.2" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/be78a3efa3e181cda3cf7a4637cb527bcebb0bd0ea0440105a3bb45b86f9245b307dc10a2507e8f4498a7d4ec349d1910f4d73e4d4495b16103106e07eee735b + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A2.3.2#optional!builtin": + version: 2.3.2 + resolution: "fsevents@patch:fsevents@npm%3A2.3.2#optional!builtin::version=2.3.2&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 + languageName: node + linkType: hard + +"functional-red-black-tree@npm:^1.0.1": + version: 1.0.1 + resolution: "functional-red-black-tree@npm:1.0.1" + checksum: 10c0/5959eed0375803d9924f47688479bb017e0c6816a0e5ac151e22ba6bfe1d12c41de2f339188885e0aa8eeea2072dad509d8e4448467e816bde0a2ca86a0670d3 + languageName: node + linkType: hard + +"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.4": + version: 1.2.4 + resolution: "get-intrinsic@npm:1.2.4" + dependencies: + es-errors: "npm:^1.3.0" + function-bind: "npm:^1.1.2" + has-proto: "npm:^1.0.1" + has-symbols: "npm:^1.0.3" + hasown: "npm:^2.0.0" + checksum: 10c0/0a9b82c16696ed6da5e39b1267104475c47e3a9bdbe8b509dfe1710946e38a87be70d759f4bb3cda042d76a41ef47fe769660f3b7c0d1f68750299344ffb15b7 + languageName: node + linkType: hard + +"get-stream@npm:^5.1.0": + version: 5.2.0 + resolution: "get-stream@npm:5.2.0" + dependencies: + pump: "npm:^3.0.0" + checksum: 10c0/43797ffd815fbb26685bf188c8cfebecb8af87b3925091dd7b9a9c915993293d78e3c9e1bce125928ff92f2d0796f3889b92b5ec6d58d1041b574682132e0a80 + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: "npm:^4.0.1" + checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee + languageName: node + linkType: hard + +"glob@npm:^10.2.2, glob@npm:^10.3.10": + version: 10.4.5 + resolution: "glob@npm:10.4.5" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^3.1.2" + minimatch: "npm:^9.0.4" + minipass: "npm:^7.1.2" + package-json-from-dist: "npm:^1.0.0" + path-scurry: "npm:^1.11.1" + bin: + glob: dist/esm/bin.mjs + checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e + languageName: node + linkType: hard + +"glob@npm:^7.1.6": + version: 7.2.3 + resolution: "glob@npm:7.2.3" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^3.1.1" + once: "npm:^1.3.0" + path-is-absolute: "npm:^1.0.0" + checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe + languageName: node + linkType: hard + +"global-agent@npm:^3.0.0": + version: 3.0.0 + resolution: "global-agent@npm:3.0.0" + dependencies: + boolean: "npm:^3.0.1" + es6-error: "npm:^4.1.1" + matcher: "npm:^3.0.0" + roarr: "npm:^2.15.3" + semver: "npm:^7.3.2" + serialize-error: "npm:^7.0.1" + checksum: 10c0/bb8750d026b25da437072762fd739098bad92ff72f66483c3929db4579e072f5523960f7e7fd70ee0d75db48898067b5dc1c9c1d17888128cff008fcc34d1bd3 + languageName: node + linkType: hard + +"globalthis@npm:^1.0.1": + version: 1.0.4 + resolution: "globalthis@npm:1.0.4" + dependencies: + define-properties: "npm:^1.2.1" + gopd: "npm:^1.0.1" + checksum: 10c0/9d156f313af79d80b1566b93e19285f481c591ad6d0d319b4be5e03750d004dde40a39a0f26f7e635f9007a3600802f53ecd85a759b86f109e80a5f705e01846 + languageName: node + linkType: hard + +"globby@npm:^11.1.0": + version: 11.1.0 + resolution: "globby@npm:11.1.0" + dependencies: + array-union: "npm:^2.1.0" + dir-glob: "npm:^3.0.1" + fast-glob: "npm:^3.2.9" + ignore: "npm:^5.2.0" + merge2: "npm:^1.4.1" + slash: "npm:^3.0.0" + checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 + languageName: node + linkType: hard + +"gopd@npm:^1.0.1": + version: 1.0.1 + resolution: "gopd@npm:1.0.1" + dependencies: + get-intrinsic: "npm:^1.1.3" + checksum: 10c0/505c05487f7944c552cee72087bf1567debb470d4355b1335f2c262d218ebbff805cd3715448fe29b4b380bae6912561d0467233e4165830efd28da241418c63 + languageName: node + linkType: hard + +"got@npm:^11.8.5": + version: 11.8.6 + resolution: "got@npm:11.8.6" + dependencies: + "@sindresorhus/is": "npm:^4.0.0" + "@szmarczak/http-timer": "npm:^4.0.5" + "@types/cacheable-request": "npm:^6.0.1" + "@types/responselike": "npm:^1.0.0" + cacheable-lookup: "npm:^5.0.3" + cacheable-request: "npm:^7.0.2" + decompress-response: "npm:^6.0.0" + http2-wrapper: "npm:^1.0.0-beta.5.2" + lowercase-keys: "npm:^2.0.0" + p-cancelable: "npm:^2.0.0" + responselike: "npm:^2.0.0" + checksum: 10c0/754dd44877e5cf6183f1e989ff01c648d9a4719e357457bd4c78943911168881f1cfb7b2cb15d885e2105b3ad313adb8f017a67265dd7ade771afdb261ee8cb1 + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"has-property-descriptors@npm:^1.0.0": + version: 1.0.2 + resolution: "has-property-descriptors@npm:1.0.2" + dependencies: + es-define-property: "npm:^1.0.0" + checksum: 10c0/253c1f59e80bb476cf0dde8ff5284505d90c3bdb762983c3514d36414290475fe3fd6f574929d84de2a8eec00d35cf07cb6776205ff32efd7c50719125f00236 + languageName: node + linkType: hard + +"has-proto@npm:^1.0.1": + version: 1.0.3 + resolution: "has-proto@npm:1.0.3" + checksum: 10c0/35a6989f81e9f8022c2f4027f8b48a552de714938765d019dbea6bb547bd49ce5010a3c7c32ec6ddac6e48fc546166a3583b128f5a7add8b058a6d8b4afec205 + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.3": + version: 1.0.3 + resolution: "has-symbols@npm:1.0.3" + checksum: 10c0/e6922b4345a3f37069cdfe8600febbca791c94988c01af3394d86ca3360b4b93928bbf395859158f88099cb10b19d98e3bbab7c9ff2c1bd09cf665ee90afa2c3 + languageName: node + linkType: hard + +"hasown@npm:^2.0.0": + version: 2.0.2 + resolution: "hasown@npm:2.0.2" + dependencies: + function-bind: "npm:^1.1.2" + checksum: 10c0/3769d434703b8ac66b209a4cca0737519925bbdb61dd887f93a16372b14694c63ff4e797686d87c90f08168e81082248b9b028bad60d4da9e0d1148766f56eb9 + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.0.0, http-cache-semantics@npm:^4.1.1": + version: 4.1.1 + resolution: "http-cache-semantics@npm:4.1.1" + checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc + languageName: node + linkType: hard + +"http-proxy-agent@npm:^7.0.0": + version: 7.0.2 + resolution: "http-proxy-agent@npm:7.0.2" + dependencies: + agent-base: "npm:^7.1.0" + debug: "npm:^4.3.4" + checksum: 10c0/4207b06a4580fb85dd6dff521f0abf6db517489e70863dca1a0291daa7f2d3d2d6015a57bd702af068ea5cf9f1f6ff72314f5f5b4228d299c0904135d2aef921 + languageName: node + linkType: hard + +"http2-wrapper@npm:^1.0.0-beta.5.2": + version: 1.0.3 + resolution: "http2-wrapper@npm:1.0.3" + dependencies: + quick-lru: "npm:^5.1.1" + resolve-alpn: "npm:^1.0.0" + checksum: 10c0/6a9b72a033e9812e1476b9d776ce2f387bc94bc46c88aea0d5dab6bd47d0a539b8178830e77054dd26d1142c866d515a28a4dc7c3ff4232c88ff2ebe4f5d12d1 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^7.0.1": + version: 7.0.5 + resolution: "https-proxy-agent@npm:7.0.5" + dependencies: + agent-base: "npm:^7.0.2" + debug: "npm:4" + checksum: 10c0/2490e3acec397abeb88807db52cac59102d5ed758feee6df6112ab3ccd8325e8a1ce8bce6f4b66e5470eca102d31e425ace904242e4fa28dbe0c59c4bafa7b2c + languageName: node + linkType: hard + +"iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3.0.0" + checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 + languageName: node + linkType: hard + +"ignore@npm:^5.2.0": + version: 5.3.2 + resolution: "ignore@npm:5.3.2" + checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 + languageName: node + linkType: hard + +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: "npm:^1.3.0" + wrappy: "npm:1" + checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 + languageName: node + linkType: hard + +"inherits@npm:2": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 + languageName: node + linkType: hard + +"ip-address@npm:^9.0.5": + version: 9.0.5 + resolution: "ip-address@npm:9.0.5" + dependencies: + jsbn: "npm:1.1.0" + sprintf-js: "npm:^1.1.3" + checksum: 10c0/331cd07fafcb3b24100613e4b53e1a2b4feab11e671e655d46dc09ee233da5011284d09ca40c4ecbdfe1d0004f462958675c224a804259f2f78d2465a87824bc + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc + languageName: node + linkType: hard + +"is-glob@npm:^4.0.1, is-glob@npm:^4.0.3": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: "npm:^2.1.1" + checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a + languageName: node + linkType: hard + +"is-lambda@npm:^1.0.1": + version: 1.0.1 + resolution: "is-lambda@npm:1.0.1" + checksum: 10c0/85fee098ae62ba6f1e24cf22678805473c7afd0fb3978a3aa260e354cb7bcb3a5806cf0a98403188465efedec41ab4348e8e4e79305d409601323855b3839d4d + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 + languageName: node + linkType: hard + +"jackspeak@npm:^3.1.2": + version: 3.4.3 + resolution: "jackspeak@npm:3.4.3" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9 + languageName: node + linkType: hard + +"jsbn@npm:1.1.0": + version: 1.1.0 + resolution: "jsbn@npm:1.1.0" + checksum: 10c0/4f907fb78d7b712e11dea8c165fe0921f81a657d3443dde75359ed52eb2b5d33ce6773d97985a089f09a65edd80b11cb75c767b57ba47391fee4c969f7215c96 + languageName: node + linkType: hard + +"json-buffer@npm:3.0.1": + version: 3.0.1 + resolution: "json-buffer@npm:3.0.1" + checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 + languageName: node + linkType: hard + +"json-stringify-safe@npm:^5.0.1": + version: 5.0.1 + resolution: "json-stringify-safe@npm:5.0.1" + checksum: 10c0/7dbf35cd0411d1d648dceb6d59ce5857ec939e52e4afc37601aa3da611f0987d5cee5b38d58329ceddf3ed48bd7215229c8d52059ab01f2444a338bf24ed0f37 + languageName: node + linkType: hard + +"jsonfile@npm:^4.0.0": + version: 4.0.0 + resolution: "jsonfile@npm:4.0.0" + dependencies: + graceful-fs: "npm:^4.1.6" + dependenciesMeta: + graceful-fs: + optional: true + checksum: 10c0/7dc94b628d57a66b71fb1b79510d460d662eb975b5f876d723f81549c2e9cd316d58a2ddf742b2b93a4fa6b17b2accaf1a738a0e2ea114bdfb13a32e5377e480 + languageName: node + linkType: hard + +"keyv@npm:^4.0.0": + version: 4.5.4 + resolution: "keyv@npm:4.5.4" + dependencies: + json-buffer: "npm:3.0.1" + checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e + languageName: node + linkType: hard + +"loupe@npm:^3.1.0, loupe@npm:^3.1.1": + version: 3.1.2 + resolution: "loupe@npm:3.1.2" + checksum: 10c0/b13c02e3ddd6a9d5f8bf84133b3242de556512d824dddeea71cce2dbd6579c8f4d672381c4e742d45cf4423d0701765b4a6e5fbc24701def16bc2b40f8daa96a + languageName: node + linkType: hard + +"lowercase-keys@npm:^2.0.0": + version: 2.0.0 + resolution: "lowercase-keys@npm:2.0.0" + checksum: 10c0/f82a2b3568910509da4b7906362efa40f5b54ea14c2584778ddb313226f9cbf21020a5db35f9b9a0e95847a9b781d548601f31793d736b22a2b8ae8eb9ab1082 + languageName: node + linkType: hard + +"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": + version: 10.4.3 + resolution: "lru-cache@npm:10.4.3" + checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb + languageName: node + linkType: hard + +"magic-string@npm:^0.30.11": + version: 0.30.12 + resolution: "magic-string@npm:0.30.12" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.0" + checksum: 10c0/469f457d18af37dfcca8617086ea8a65bcd8b60ba8a1182cb024ce43e470ace3c9d1cb6bee58d3b311768fb16bc27bd50bdeebcaa63dadd0fd46cac4d2e11d5f + languageName: node + linkType: hard + +"make-fetch-happen@npm:^13.0.0": + version: 13.0.1 + resolution: "make-fetch-happen@npm:13.0.1" + dependencies: + "@npmcli/agent": "npm:^2.0.0" + cacache: "npm:^18.0.0" + http-cache-semantics: "npm:^4.1.1" + is-lambda: "npm:^1.0.1" + minipass: "npm:^7.0.2" + minipass-fetch: "npm:^3.0.0" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^0.6.3" + proc-log: "npm:^4.2.0" + promise-retry: "npm:^2.0.1" + ssri: "npm:^10.0.0" + checksum: 10c0/df5f4dbb6d98153b751bccf4dc4cc500de85a96a9331db9805596c46aa9f99d9555983954e6c1266d9f981ae37a9e4647f42b9a4bb5466f867f4012e582c9e7e + languageName: node + linkType: hard + +"matcher@npm:^3.0.0": + version: 3.0.0 + resolution: "matcher@npm:3.0.0" + dependencies: + escape-string-regexp: "npm:^4.0.0" + checksum: 10c0/2edf24194a2879690bcdb29985fc6bc0d003df44e04df21ebcac721fa6ce2f6201c579866bb92f9380bffe946f11ecd8cd31f34117fb67ebf8aca604918e127e + languageName: node + linkType: hard + +"merge2@npm:^1.3.0, merge2@npm:^1.4.1": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb + languageName: node + linkType: hard + +"micromatch@npm:^4.0.4": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" + dependencies: + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 + languageName: node + linkType: hard + +"mimic-response@npm:^1.0.0": + version: 1.0.1 + resolution: "mimic-response@npm:1.0.1" + checksum: 10c0/c5381a5eae997f1c3b5e90ca7f209ed58c3615caeee850e85329c598f0c000ae7bec40196580eef1781c60c709f47258131dab237cad8786f8f56750594f27fa + languageName: node + linkType: hard + +"mimic-response@npm:^3.1.0": + version: 3.1.0 + resolution: "mimic-response@npm:3.1.0" + checksum: 10c0/0d6f07ce6e03e9e4445bee655202153bdb8a98d67ee8dc965ac140900d7a2688343e6b4c9a72cfc9ef2f7944dfd76eef4ab2482eb7b293a68b84916bac735362 + languageName: node + linkType: hard + +"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 + languageName: node + linkType: hard + +"minimatch@npm:^9.0.4": + version: 9.0.5 + resolution: "minimatch@npm:9.0.5" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed + languageName: node + linkType: hard + +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e + languageName: node + linkType: hard + +"minipass-fetch@npm:^3.0.0": + version: 3.0.5 + resolution: "minipass-fetch@npm:3.0.5" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^7.0.3" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^2.1.2" + dependenciesMeta: + encoding: + optional: true + checksum: 10c0/9d702d57f556274286fdd97e406fc38a2f5c8d15e158b498d7393b1105974b21249289ec571fa2b51e038a4872bfc82710111cf75fae98c662f3d6f95e72152b + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb + languageName: node + linkType: hard + +"minipass@npm:^3.0.0": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c + languageName: node + linkType: hard + +"minipass@npm:^5.0.0": + version: 5.0.0 + resolution: "minipass@npm:5.0.0" + checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.1.2": + version: 7.1.2 + resolution: "minipass@npm:7.1.2" + checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 + languageName: node + linkType: hard + +"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": + version: 2.1.2 + resolution: "minizlib@npm:2.1.2" + dependencies: + minipass: "npm:^3.0.0" + yallist: "npm:^4.0.0" + checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 + languageName: node + linkType: hard + +"mkdirp@npm:^1.0.3": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf + languageName: node + linkType: hard + +"moment@npm:2.29.4": + version: 2.29.4 + resolution: "moment@npm:2.29.4" + checksum: 10c0/844c6f3ce42862ac9467c8ca4f5e48a00750078682cc5bda1bc0e50cc7ca88e2115a0f932d65a06e4a90e26cb78892be9b3ca3dd6546ca2c4d994cebb787fc2b + languageName: node + linkType: hard + +"ms@npm:2.0.0": + version: 2.0.0 + resolution: "ms@npm:2.0.0" + checksum: 10c0/f8fda810b39fd7255bbdc451c46286e549794fcc700dc9cd1d25658bbc4dc2563a5de6fe7c60f798a16a60c6ceb53f033cb353f493f0cf63e5199b702943159d + languageName: node + linkType: hard + +"ms@npm:^2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 + languageName: node + linkType: hard + +"nanoid@npm:^3.3.7": + version: 3.3.7 + resolution: "nanoid@npm:3.3.7" + bin: + nanoid: bin/nanoid.cjs + checksum: 10c0/e3fb661aa083454f40500473bb69eedb85dc160e763150b9a2c567c7e9ff560ce028a9f833123b618a6ea742e311138b591910e795614a629029e86e180660f3 + languageName: node + linkType: hard + +"negotiator@npm:^0.6.3": + version: 0.6.4 + resolution: "negotiator@npm:0.6.4" + checksum: 10c0/3e677139c7fb7628a6f36335bf11a885a62c21d5390204590a1a214a5631fcbe5ea74ef6a610b60afe84b4d975cbe0566a23f20ee17c77c73e74b80032108dea + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 10.2.0 + resolution: "node-gyp@npm:10.2.0" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + glob: "npm:^10.3.10" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^13.0.0" + nopt: "npm:^7.0.0" + proc-log: "npm:^4.1.0" + semver: "npm:^7.3.5" + tar: "npm:^6.2.1" + which: "npm:^4.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/00630d67dbd09a45aee0a5d55c05e3916ca9e6d427ee4f7bc392d2d3dc5fad7449b21fc098dd38260a53d9dcc9c879b36704a1994235d4707e7271af7e9a835b + languageName: node + linkType: hard + +"nopt@npm:^7.0.0": + version: 7.2.1 + resolution: "nopt@npm:7.2.1" + dependencies: + abbrev: "npm:^2.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/a069c7c736767121242037a22a788863accfa932ab285a1eb569eb8cd534b09d17206f68c37f096ae785647435e0c5a5a0a67b42ec743e481a455e5ae6a6df81 + languageName: node + linkType: hard + +"normalize-url@npm:^6.0.1": + version: 6.1.0 + resolution: "normalize-url@npm:6.1.0" + checksum: 10c0/95d948f9bdd2cfde91aa786d1816ae40f8262946e13700bf6628105994fe0ff361662c20af3961161c38a119dc977adeb41fc0b41b1745eb77edaaf9cb22db23 + languageName: node + linkType: hard + +"object-keys@npm:^1.1.1": + version: 1.1.1 + resolution: "object-keys@npm:1.1.1" + checksum: 10c0/b11f7ccdbc6d406d1f186cdadb9d54738e347b2692a14439ca5ac70c225fa6db46db809711b78589866d47b25fc3e8dee0b4c722ac751e11180f9380e3d8601d + languageName: node + linkType: hard + +"obsidian-sample-plugin@workspace:packages/test-project": + version: 0.0.0-use.local + resolution: "obsidian-sample-plugin@workspace:packages/test-project" + dependencies: + "@playwright/test": "npm:^1.48.1" + "@types/node": "npm:^16.11.6" + "@typescript-eslint/eslint-plugin": "npm:5.29.0" + "@typescript-eslint/parser": "npm:5.29.0" + builtin-modules: "npm:3.3.0" + esbuild: "npm:0.17.3" + obsidian: "npm:latest" + obsidian-testing-framework: "workspace:^" + playwright: "npm:^1.48.1" + tslib: "npm:2.4.0" + typescript: "npm:4.7.4" + vitest: "npm:^2.1.3" + xvfb-maybe: "npm:^0.2.1" + languageName: unknown + linkType: soft + +"obsidian-testing-framework-parent@workspace:.": + version: 0.0.0-use.local + resolution: "obsidian-testing-framework-parent@workspace:." + languageName: unknown + linkType: soft + +"obsidian-testing-framework@workspace:^, obsidian-testing-framework@workspace:packages/obsidian-testing-framework": + version: 0.0.0-use.local + resolution: "obsidian-testing-framework@workspace:packages/obsidian-testing-framework" + dependencies: + "@codemirror/language": "https://github.com/lishid/cm-language" + "@codemirror/state": "npm:^6.0.1" + "@codemirror/view": "npm:^6.0.1" + "@playwright/test": "npm:^1.48.1" + "@types/tmp": "npm:^0" + asar: "npm:^3.2.0" + electron: "npm:^33.0.2" + obsidian: "npm:latest" + playwright: "npm:^1.48.1" + tmp: "npm:^0.2.3" + typescript: "npm:^5.6.3" + vitest: "npm:^2.1.3" + languageName: unknown + linkType: soft + +"obsidian@npm:latest": + version: 1.7.2 + resolution: "obsidian@npm:1.7.2" + dependencies: + "@types/codemirror": "npm:5.60.8" + moment: "npm:2.29.4" + peerDependencies: + "@codemirror/state": ^6.0.0 + "@codemirror/view": ^6.0.0 + checksum: 10c0/7ad1e97e0a21e5011640a8c02bdd74844ccf22d12c84ad8fcd653bc11cde47422e7dce38142d4659f8bca5f2043ce7f849e750765ac8052fed8770d37cbf39a6 + languageName: node + linkType: hard + +"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: "npm:1" + checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 + languageName: node + linkType: hard + +"p-cancelable@npm:^2.0.0": + version: 2.1.1 + resolution: "p-cancelable@npm:2.1.1" + checksum: 10c0/8c6dc1f8dd4154fd8b96a10e55a3a832684c4365fb9108056d89e79fbf21a2465027c04a59d0d797b5ffe10b54a61a32043af287d5c4860f1e996cbdbc847f01 + languageName: node + linkType: hard + +"p-map@npm:^4.0.0": + version: 4.0.0 + resolution: "p-map@npm:4.0.0" + dependencies: + aggregate-error: "npm:^3.0.0" + checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 + languageName: node + linkType: hard + +"package-json-from-dist@npm:^1.0.0": + version: 1.0.1 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b + languageName: node + linkType: hard + +"path-is-absolute@npm:^1.0.0": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 + languageName: node + linkType: hard + +"path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"path-scurry@npm:^1.11.1": + version: 1.11.1 + resolution: "path-scurry@npm:1.11.1" + dependencies: + lru-cache: "npm:^10.2.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d + languageName: node + linkType: hard + +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c + languageName: node + linkType: hard + +"pathe@npm:^1.1.2": + version: 1.1.2 + resolution: "pathe@npm:1.1.2" + checksum: 10c0/64ee0a4e587fb0f208d9777a6c56e4f9050039268faaaaecd50e959ef01bf847b7872785c36483fa5cdcdbdfdb31fef2ff222684d4fc21c330ab60395c681897 + languageName: node + linkType: hard + +"pathval@npm:^2.0.0": + version: 2.0.0 + resolution: "pathval@npm:2.0.0" + checksum: 10c0/602e4ee347fba8a599115af2ccd8179836a63c925c23e04bd056d0674a64b39e3a081b643cc7bc0b84390517df2d800a46fcc5598d42c155fe4977095c2f77c5 + languageName: node + linkType: hard + +"pend@npm:~1.2.0": + version: 1.2.0 + resolution: "pend@npm:1.2.0" + checksum: 10c0/8a87e63f7a4afcfb0f9f77b39bb92374afc723418b9cb716ee4257689224171002e07768eeade4ecd0e86f1fa3d8f022994219fb45634f2dbd78c6803e452458 + languageName: node + linkType: hard + +"picocolors@npm:^1.1.0": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 + languageName: node + linkType: hard + +"picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be + languageName: node + linkType: hard + +"playwright-core@npm:1.48.1": + version: 1.48.1 + resolution: "playwright-core@npm:1.48.1" + bin: + playwright-core: cli.js + checksum: 10c0/2f75532b9b7dfa0e586f5660ac1d8ea729bbdbd28dd2c0711e7cfc1adfe5cf7448d7f15a018ec9851a8f50c0743c3990cb9df23064bed603627baeac4dce3915 + languageName: node + linkType: hard + +"playwright@npm:1.48.1, playwright@npm:^1.48.1": + version: 1.48.1 + resolution: "playwright@npm:1.48.1" + dependencies: + fsevents: "npm:2.3.2" + playwright-core: "npm:1.48.1" + dependenciesMeta: + fsevents: + optional: true + bin: + playwright: cli.js + checksum: 10c0/96280ae656226e52015c0c69c4c19e9f594c19353a79012a19bd7b7175d7b409c1aed289a629df49ef897a57ccd24668ad15b86c283db10f76212a4db90a94ac + languageName: node + linkType: hard + +"postcss@npm:^8.4.43": + version: 8.4.47 + resolution: "postcss@npm:8.4.47" + dependencies: + nanoid: "npm:^3.3.7" + picocolors: "npm:^1.1.0" + source-map-js: "npm:^1.2.1" + checksum: 10c0/929f68b5081b7202709456532cee2a145c1843d391508c5a09de2517e8c4791638f71dd63b1898dba6712f8839d7a6da046c72a5e44c162e908f5911f57b5f44 + languageName: node + linkType: hard + +"proc-log@npm:^4.1.0, proc-log@npm:^4.2.0": + version: 4.2.0 + resolution: "proc-log@npm:4.2.0" + checksum: 10c0/17db4757c2a5c44c1e545170e6c70a26f7de58feb985091fb1763f5081cab3d01b181fb2dd240c9f4a4255a1d9227d163d5771b7e69c9e49a561692db865efb9 + languageName: node + linkType: hard + +"progress@npm:^2.0.3": + version: 2.0.3 + resolution: "progress@npm:2.0.3" + checksum: 10c0/1697e07cb1068055dbe9fe858d242368ff5d2073639e652b75a7eb1f2a1a8d4afd404d719de23c7b48481a6aa0040686310e2dac2f53d776daa2176d3f96369c + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: "npm:^2.0.2" + retry: "npm:^0.12.0" + checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 + languageName: node + linkType: hard + +"pump@npm:^3.0.0": + version: 3.0.2 + resolution: "pump@npm:3.0.2" + dependencies: + end-of-stream: "npm:^1.1.0" + once: "npm:^1.3.1" + checksum: 10c0/5ad655cb2a7738b4bcf6406b24ad0970d680649d996b55ad20d1be8e0c02394034e4c45ff7cd105d87f1e9b96a0e3d06fd28e11fae8875da26e7f7a8e2c9726f + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 + languageName: node + linkType: hard + +"quick-lru@npm:^5.1.1": + version: 5.1.1 + resolution: "quick-lru@npm:5.1.1" + checksum: 10c0/a24cba5da8cec30d70d2484be37622580f64765fb6390a928b17f60cd69e8dbd32a954b3ff9176fa1b86d86ff2ba05252fae55dc4d40d0291c60412b0ad096da + languageName: node + linkType: hard + +"regexpp@npm:^3.2.0": + version: 3.2.0 + resolution: "regexpp@npm:3.2.0" + checksum: 10c0/d1da82385c8754a1681416b90b9cca0e21b4a2babef159099b88f640637d789c69011d0bc94705dacab85b81133e929d027d85210e8b8b03f8035164dbc14710 + languageName: node + linkType: hard + +"resolve-alpn@npm:^1.0.0": + version: 1.2.1 + resolution: "resolve-alpn@npm:1.2.1" + checksum: 10c0/b70b29c1843bc39781ef946c8cd4482e6d425976599c0f9c138cec8209e4e0736161bf39319b01676a847000085dfdaf63583c6fb4427bf751a10635bd2aa0c4 + languageName: node + linkType: hard + +"responselike@npm:^2.0.0": + version: 2.0.1 + resolution: "responselike@npm:2.0.1" + dependencies: + lowercase-keys: "npm:^2.0.0" + checksum: 10c0/360b6deb5f101a9f8a4174f7837c523c3ec78b7ca8a7c1d45a1062b303659308a23757e318b1e91ed8684ad1205721142dd664d94771cd63499353fd4ee732b5 + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.0.4 + resolution: "reusify@npm:1.0.4" + checksum: 10c0/c19ef26e4e188f408922c46f7ff480d38e8dfc55d448310dfb518736b23ed2c4f547fb64a6ed5bdba92cd7e7ddc889d36ff78f794816d5e71498d645ef476107 + languageName: node + linkType: hard + +"roarr@npm:^2.15.3": + version: 2.15.4 + resolution: "roarr@npm:2.15.4" + dependencies: + boolean: "npm:^3.0.1" + detect-node: "npm:^2.0.4" + globalthis: "npm:^1.0.1" + json-stringify-safe: "npm:^5.0.1" + semver-compare: "npm:^1.0.0" + sprintf-js: "npm:^1.1.2" + checksum: 10c0/7d01d4c14513c461778dd673a8f9e53255221f8d04173aafeb8e11b23d8b659bb83f1c90cfe81af7f9c213b8084b404b918108fd792bda76678f555340cc64ec + languageName: node + linkType: hard + +"rollup@npm:^4.20.0": + version: 4.24.0 + resolution: "rollup@npm:4.24.0" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.24.0" + "@rollup/rollup-android-arm64": "npm:4.24.0" + "@rollup/rollup-darwin-arm64": "npm:4.24.0" + "@rollup/rollup-darwin-x64": "npm:4.24.0" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.24.0" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.24.0" + "@rollup/rollup-linux-arm64-gnu": "npm:4.24.0" + "@rollup/rollup-linux-arm64-musl": "npm:4.24.0" + "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.24.0" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.24.0" + "@rollup/rollup-linux-s390x-gnu": "npm:4.24.0" + "@rollup/rollup-linux-x64-gnu": "npm:4.24.0" + "@rollup/rollup-linux-x64-musl": "npm:4.24.0" + "@rollup/rollup-win32-arm64-msvc": "npm:4.24.0" + "@rollup/rollup-win32-ia32-msvc": "npm:4.24.0" + "@rollup/rollup-win32-x64-msvc": "npm:4.24.0" + "@types/estree": "npm:1.0.6" + fsevents: "npm:~2.3.2" + dependenciesMeta: + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm-musleabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-powerpc64le-gnu": + optional: true + "@rollup/rollup-linux-riscv64-gnu": + optional: true + "@rollup/rollup-linux-s390x-gnu": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-ia32-msvc": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: 10c0/77fb549c1de8afd1142d2da765adbb0cdab9f13c47df5217f00b5cf40b74219caa48c6ba2157f6249313ee81b6fa4c4fa8b3d2a0347ad6220739e00e580a808d + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: "npm:^1.2.2" + checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 + languageName: node + linkType: hard + +"semver-compare@npm:^1.0.0": + version: 1.0.0 + resolution: "semver-compare@npm:1.0.0" + checksum: 10c0/9ef4d8b81847556f0865f46ddc4d276bace118c7cb46811867af82e837b7fc473911981d5a0abc561fa2db487065572217e5b06e18701c4281bcdd2a1affaff1 + languageName: node + linkType: hard + +"semver@npm:^6.2.0": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d + languageName: node + linkType: hard + +"semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.3.7": + version: 7.6.3 + resolution: "semver@npm:7.6.3" + bin: + semver: bin/semver.js + checksum: 10c0/88f33e148b210c153873cb08cfe1e281d518aaa9a666d4d148add6560db5cd3c582f3a08ccb91f38d5f379ead256da9931234ed122057f40bb5766e65e58adaf + languageName: node + linkType: hard + +"serialize-error@npm:^7.0.1": + version: 7.0.1 + resolution: "serialize-error@npm:7.0.1" + dependencies: + type-fest: "npm:^0.13.1" + checksum: 10c0/7982937d578cd901276c8ab3e2c6ed8a4c174137730f1fb0402d005af209a0e84d04acc874e317c936724c7b5b26c7a96ff7e4b8d11a469f4924a4b0ea814c05 + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"siginfo@npm:^2.0.0": + version: 2.0.0 + resolution: "siginfo@npm:2.0.0" + checksum: 10c0/3def8f8e516fbb34cb6ae415b07ccc5d9c018d85b4b8611e3dc6f8be6d1899f693a4382913c9ed51a06babb5201639d76453ab297d1c54a456544acf5c892e34 + languageName: node + linkType: hard + +"signal-exit@npm:^4.0.1": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 + languageName: node + linkType: hard + +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^8.0.3": + version: 8.0.4 + resolution: "socks-proxy-agent@npm:8.0.4" + dependencies: + agent-base: "npm:^7.1.1" + debug: "npm:^4.3.4" + socks: "npm:^2.8.3" + checksum: 10c0/345593bb21b95b0508e63e703c84da11549f0a2657d6b4e3ee3612c312cb3a907eac10e53b23ede3557c6601d63252103494caa306b66560f43af7b98f53957a + languageName: node + linkType: hard + +"socks@npm:^2.8.3": + version: 2.8.3 + resolution: "socks@npm:2.8.3" + dependencies: + ip-address: "npm:^9.0.5" + smart-buffer: "npm:^4.2.0" + checksum: 10c0/d54a52bf9325165770b674a67241143a3d8b4e4c8884560c4e0e078aace2a728dffc7f70150660f51b85797c4e1a3b82f9b7aa25e0a0ceae1a243365da5c51a7 + languageName: node + linkType: hard + +"source-map-js@npm:^1.2.1": + version: 1.2.1 + resolution: "source-map-js@npm:1.2.1" + checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf + languageName: node + linkType: hard + +"sprintf-js@npm:^1.1.2, sprintf-js@npm:^1.1.3": + version: 1.1.3 + resolution: "sprintf-js@npm:1.1.3" + checksum: 10c0/09270dc4f30d479e666aee820eacd9e464215cdff53848b443964202bf4051490538e5dd1b42e1a65cf7296916ca17640aebf63dae9812749c7542ee5f288dec + languageName: node + linkType: hard + +"ssri@npm:^10.0.0": + version: 10.0.6 + resolution: "ssri@npm:10.0.6" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/e5a1e23a4057a86a97971465418f22ea89bd439ac36ade88812dd920e4e61873e8abd6a9b72a03a67ef50faa00a2daf1ab745c5a15b46d03e0544a0296354227 + languageName: node + linkType: hard + +"stackback@npm:0.0.2": + version: 0.0.2 + resolution: "stackback@npm:0.0.2" + checksum: 10c0/89a1416668f950236dd5ac9f9a6b2588e1b9b62b1b6ad8dff1bfc5d1a15dbf0aafc9b52d2226d00c28dffff212da464eaeebfc6b7578b9d180cef3e3782c5983 + languageName: node + linkType: hard + +"std-env@npm:^3.7.0": + version: 3.7.0 + resolution: "std-env@npm:3.7.0" + checksum: 10c0/60edf2d130a4feb7002974af3d5a5f3343558d1ccf8d9b9934d225c638606884db4a20d2fe6440a09605bca282af6b042ae8070a10490c0800d69e82e478f41e + languageName: node + linkType: hard + +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: "npm:^8.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b + languageName: node + linkType: hard + +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" + dependencies: + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^9.2.2" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca + languageName: node + linkType: hard + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: "npm:^5.0.1" + checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 + languageName: node + linkType: hard + +"strip-ansi@npm:^7.0.1": + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" + dependencies: + ansi-regex: "npm:^6.0.1" + checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 + languageName: node + linkType: hard + +"style-mod@npm:^4.0.0, style-mod@npm:^4.1.0": + version: 4.1.2 + resolution: "style-mod@npm:4.1.2" + checksum: 10c0/ad4d870b3642b0e42ecc7be0e106dd14b7af11985e34fee8de34e5e38c3214bfc96fa7055acea86d75a3a59ddea3f6a8c6641001a66494d7df72d09685e3fadb + languageName: node + linkType: hard + +"sumchecker@npm:^3.0.1": + version: 3.0.1 + resolution: "sumchecker@npm:3.0.1" + dependencies: + debug: "npm:^4.1.0" + checksum: 10c0/43c387be9dfe22dbeaf39dfa4ffb279847aeb37a42a8988c0b066f548bbd209aa8c65e03da29f2b29be1a66b577801bf89fff0007df4183db2f286263a9569e5 + languageName: node + linkType: hard + +"tar@npm:^6.1.11, tar@npm:^6.2.1": + version: 6.2.1 + resolution: "tar@npm:6.2.1" + dependencies: + chownr: "npm:^2.0.0" + fs-minipass: "npm:^2.0.0" + minipass: "npm:^5.0.0" + minizlib: "npm:^2.1.1" + mkdirp: "npm:^1.0.3" + yallist: "npm:^4.0.0" + checksum: 10c0/a5eca3eb50bc11552d453488344e6507156b9193efd7635e98e867fab275d527af53d8866e2370cd09dfe74378a18111622ace35af6a608e5223a7d27fe99537 + languageName: node + linkType: hard + +"tinybench@npm:^2.9.0": + version: 2.9.0 + resolution: "tinybench@npm:2.9.0" + checksum: 10c0/c3500b0f60d2eb8db65250afe750b66d51623057ee88720b7f064894a6cb7eb93360ca824a60a31ab16dab30c7b1f06efe0795b352e37914a9d4bad86386a20c + languageName: node + linkType: hard + +"tinyexec@npm:^0.3.0": + version: 0.3.1 + resolution: "tinyexec@npm:0.3.1" + checksum: 10c0/11e7a7c5d8b3bddf8b5cbe82a9290d70a6fad84d528421d5d18297f165723cb53d2e737d8f58dcce5ca56f2e4aa2d060f02510b1f8971784f97eb3e9aec28f09 + languageName: node + linkType: hard + +"tinypool@npm:^1.0.0": + version: 1.0.1 + resolution: "tinypool@npm:1.0.1" + checksum: 10c0/90939d6a03f1519c61007bf416632dc1f0b9c1a9dd673c179ccd9e36a408437384f984fc86555a5d040d45b595abc299c3bb39d354439e98a090766b5952e73d + languageName: node + linkType: hard + +"tinyrainbow@npm:^1.2.0": + version: 1.2.0 + resolution: "tinyrainbow@npm:1.2.0" + checksum: 10c0/7f78a4b997e5ba0f5ecb75e7ed786f30bab9063716e7dff24dd84013fb338802e43d176cb21ed12480561f5649a82184cf31efb296601a29d38145b1cdb4c192 + languageName: node + linkType: hard + +"tinyspy@npm:^3.0.0": + version: 3.0.2 + resolution: "tinyspy@npm:3.0.2" + checksum: 10c0/55ffad24e346622b59292e097c2ee30a63919d5acb7ceca87fc0d1c223090089890587b426e20054733f97a58f20af2c349fb7cc193697203868ab7ba00bcea0 + languageName: node + linkType: hard + +"tmp@npm:^0.2.3": + version: 0.2.3 + resolution: "tmp@npm:0.2.3" + checksum: 10c0/3e809d9c2f46817475b452725c2aaa5d11985cf18d32a7a970ff25b568438e2c076c2e8609224feef3b7923fa9749b74428e3e634f6b8e520c534eef2fd24125 + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: "npm:^7.0.0" + checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 + languageName: node + linkType: hard + +"tslib@npm:2.4.0": + version: 2.4.0 + resolution: "tslib@npm:2.4.0" + checksum: 10c0/eb19bda3ae545b03caea6a244b34593468e23d53b26bf8649fbc20fce43e9b21a71127fd6d2b9662c0fe48ee6ff668ead48fd00d3b88b2b716b1c12edae25b5d + languageName: node + linkType: hard + +"tslib@npm:^1.8.1": + version: 1.14.1 + resolution: "tslib@npm:1.14.1" + checksum: 10c0/69ae09c49eea644bc5ebe1bca4fa4cc2c82b7b3e02f43b84bd891504edf66dbc6b2ec0eef31a957042de2269139e4acff911e6d186a258fb14069cd7f6febce2 + languageName: node + linkType: hard + +"tsutils@npm:^3.21.0": + version: 3.21.0 + resolution: "tsutils@npm:3.21.0" + dependencies: + tslib: "npm:^1.8.1" + peerDependencies: + typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + checksum: 10c0/02f19e458ec78ead8fffbf711f834ad8ecd2cc6ade4ec0320790713dccc0a412b99e7fd907c4cda2a1dc602c75db6f12e0108e87a5afad4b2f9e90a24cabd5a2 + languageName: node + linkType: hard + +"type-fest@npm:^0.13.1": + version: 0.13.1 + resolution: "type-fest@npm:0.13.1" + checksum: 10c0/0c0fa07ae53d4e776cf4dac30d25ad799443e9eef9226f9fddbb69242db86b08584084a99885cfa5a9dfe4c063ebdc9aa7b69da348e735baede8d43f1aeae93b + languageName: node + linkType: hard + +"typescript@npm:4.7.4": + version: 4.7.4 + resolution: "typescript@npm:4.7.4" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/8c1c4007b6ce5b24c49f0e89173ab9e82687cc6ae54418d1140bb63b82d6598d085ac0f993fe3d3d1fbf87a2c76f1f81d394dc76315bc72c7a9f8561c5d8d205 + languageName: node + linkType: hard + +"typescript@npm:^5.6.3": + version: 5.6.3 + resolution: "typescript@npm:5.6.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/44f61d3fb15c35359bc60399cb8127c30bae554cd555b8e2b46d68fa79d680354b83320ad419ff1b81a0bdf324197b29affe6cc28988cd6a74d4ac60c94f9799 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A4.7.4#optional!builtin": + version: 4.7.4 + resolution: "typescript@patch:typescript@npm%3A4.7.4#optional!builtin::version=4.7.4&hash=65a307" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/2eb6e31b04fabec84a4d07b5d567deb5ef0a2971d89d9adb16895f148f7d8508adfb12074abc2efc6966805d3664e68ab67925060e5b0ebd8da616db4b151906 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A^5.6.3#optional!builtin": + version: 5.6.3 + resolution: "typescript@patch:typescript@npm%3A5.6.3#optional!builtin::version=5.6.3&hash=8c6c40" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/7c9d2e07c81226d60435939618c91ec2ff0b75fbfa106eec3430f0fcf93a584bc6c73176676f532d78c3594fe28a54b36eb40b3d75593071a7ec91301533ace7 + languageName: node + linkType: hard + +"undici-types@npm:~6.19.2": + version: 6.19.8 + resolution: "undici-types@npm:6.19.8" + checksum: 10c0/078afa5990fba110f6824823ace86073b4638f1d5112ee26e790155f481f2a868cc3e0615505b6f4282bdf74a3d8caad715fd809e870c2bb0704e3ea6082f344 + languageName: node + linkType: hard + +"unique-filename@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-filename@npm:3.0.0" + dependencies: + unique-slug: "npm:^4.0.0" + checksum: 10c0/6363e40b2fa758eb5ec5e21b3c7fb83e5da8dcfbd866cc0c199d5534c42f03b9ea9ab069769cc388e1d7ab93b4eeef28ef506ab5f18d910ef29617715101884f + languageName: node + linkType: hard + +"unique-slug@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-slug@npm:4.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10c0/cb811d9d54eb5821b81b18205750be84cb015c20a4a44280794e915f5a0a70223ce39066781a354e872df3572e8155c228f43ff0cce94c7cbf4da2cc7cbdd635 + languageName: node + linkType: hard + +"universalify@npm:^0.1.0": + version: 0.1.2 + resolution: "universalify@npm:0.1.2" + checksum: 10c0/e70e0339f6b36f34c9816f6bf9662372bd241714dc77508d231d08386d94f2c4aa1ba1318614f92015f40d45aae1b9075cd30bd490efbe39387b60a76ca3f045 + languageName: node + linkType: hard + +"vite-node@npm:2.1.3": + version: 2.1.3 + resolution: "vite-node@npm:2.1.3" + dependencies: + cac: "npm:^6.7.14" + debug: "npm:^4.3.6" + pathe: "npm:^1.1.2" + vite: "npm:^5.0.0" + bin: + vite-node: vite-node.mjs + checksum: 10c0/1b06139880a8170651e025e8c35aa92a917f8ec8f24507cda5bf4be09843f6447e1f494932a8d7eb98124f1c8c9fee02283ef318ddd57e2b861d2d85a409a206 + languageName: node + linkType: hard + +"vite@npm:^5.0.0": + version: 5.4.9 + resolution: "vite@npm:5.4.9" + dependencies: + esbuild: "npm:^0.21.3" + fsevents: "npm:~2.3.3" + postcss: "npm:^8.4.43" + rollup: "npm:^4.20.0" + peerDependencies: + "@types/node": ^18.0.0 || >=20.0.0 + less: "*" + lightningcss: ^1.21.0 + sass: "*" + sass-embedded: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + bin: + vite: bin/vite.js + checksum: 10c0/e9c59f2c639047e37c79bbbb151c7a55a3dc27932957cf4cf0447ee0bdcc1ddfd9b1fb3ba0465371c01ba3616d62561327855794c2d652213c3a10a32e6d369d + languageName: node + linkType: hard + +"vitest@npm:^2.1.3": + version: 2.1.3 + resolution: "vitest@npm:2.1.3" + dependencies: + "@vitest/expect": "npm:2.1.3" + "@vitest/mocker": "npm:2.1.3" + "@vitest/pretty-format": "npm:^2.1.3" + "@vitest/runner": "npm:2.1.3" + "@vitest/snapshot": "npm:2.1.3" + "@vitest/spy": "npm:2.1.3" + "@vitest/utils": "npm:2.1.3" + chai: "npm:^5.1.1" + debug: "npm:^4.3.6" + magic-string: "npm:^0.30.11" + pathe: "npm:^1.1.2" + std-env: "npm:^3.7.0" + tinybench: "npm:^2.9.0" + tinyexec: "npm:^0.3.0" + tinypool: "npm:^1.0.0" + tinyrainbow: "npm:^1.2.0" + vite: "npm:^5.0.0" + vite-node: "npm:2.1.3" + why-is-node-running: "npm:^2.3.0" + peerDependencies: + "@edge-runtime/vm": "*" + "@types/node": ^18.0.0 || >=20.0.0 + "@vitest/browser": 2.1.3 + "@vitest/ui": 2.1.3 + happy-dom: "*" + jsdom: "*" + peerDependenciesMeta: + "@edge-runtime/vm": + optional: true + "@types/node": + optional: true + "@vitest/browser": + optional: true + "@vitest/ui": + optional: true + happy-dom: + optional: true + jsdom: + optional: true + bin: + vitest: vitest.mjs + checksum: 10c0/7688fdce37205e7f3b448039df216e103e3a52994af0201993e22decbb558d129a734001b991f3c3d80bf4a4ef91ca6a5665a7395d5b051249da60a0016eda36 + languageName: node + linkType: hard + +"w3c-keyname@npm:^2.2.4": + version: 2.2.8 + resolution: "w3c-keyname@npm:2.2.8" + checksum: 10c0/37cf335c90efff31672ebb345577d681e2177f7ff9006a9ad47c68c5a9d265ba4a7b39d6c2599ceea639ca9315584ce4bd9c9fbf7a7217bfb7a599e71943c4c4 + languageName: node + linkType: hard + +"which@npm:^1.2.4": + version: 1.3.1 + resolution: "which@npm:1.3.1" + dependencies: + isexe: "npm:^2.0.0" + bin: + which: ./bin/which + checksum: 10c0/e945a8b6bbf6821aaaef7f6e0c309d4b615ef35699576d5489b4261da9539f70393c6b2ce700ee4321c18f914ebe5644bc4631b15466ffbaad37d83151f6af59 + languageName: node + linkType: hard + +"which@npm:^2.0.1": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard + +"which@npm:^4.0.0": + version: 4.0.0 + resolution: "which@npm:4.0.0" + dependencies: + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 10c0/449fa5c44ed120ccecfe18c433296a4978a7583bf2391c50abce13f76878d2476defde04d0f79db8165bdf432853c1f8389d0485ca6e8ebce3bbcded513d5e6a + languageName: node + linkType: hard + +"why-is-node-running@npm:^2.3.0": + version: 2.3.0 + resolution: "why-is-node-running@npm:2.3.0" + dependencies: + siginfo: "npm:^2.0.0" + stackback: "npm:0.0.2" + bin: + why-is-node-running: cli.js + checksum: 10c0/1cde0b01b827d2cf4cb11db962f3958b9175d5d9e7ac7361d1a7b0e2dc6069a263e69118bd974c4f6d0a890ef4eedfe34cf3d5167ec14203dbc9a18620537054 + languageName: node + linkType: hard + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da + languageName: node + linkType: hard + +"wrap-ansi@npm:^8.1.0": + version: 8.1.0 + resolution: "wrap-ansi@npm:8.1.0" + dependencies: + ansi-styles: "npm:^6.1.0" + string-width: "npm:^5.0.1" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 + languageName: node + linkType: hard + +"xvfb-maybe@npm:^0.2.1": + version: 0.2.1 + resolution: "xvfb-maybe@npm:0.2.1" + dependencies: + debug: "npm:^2.2.0" + which: "npm:^1.2.4" + bin: + xvfb-maybe: ./src/xvfb-maybe.js + checksum: 10c0/ade3f7ef7ab465607484f8d78214bb4db806dcda1b54f0eded504c696eea65586f0a1be43c1e922cf1d4aecef019015ca0cd69c72d24f83685f776b5ee4d7bca + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a + languageName: node + linkType: hard + +"yauzl@npm:^2.10.0": + version: 2.10.0 + resolution: "yauzl@npm:2.10.0" + dependencies: + buffer-crc32: "npm:~0.2.3" + fd-slicer: "npm:~1.1.0" + checksum: 10c0/f265002af7541b9ec3589a27f5fb8f11cf348b53cc15e2751272e3c062cd73f3e715bc72d43257de71bbaecae446c3f1b14af7559e8ab0261625375541816422 + languageName: node + linkType: hard