From 9e08a4c86e7530a499b0190bca02c492a3258228 Mon Sep 17 00:00:00 2001 From: David Anson Date: Fri, 2 Jan 2026 15:39:46 -0800 Subject: [PATCH] Remove https://github.com/mochajs/mocha from README/Examples and test repos because it no longer uses markdownlint. --- README.md | 3 --- test/markdownlint-test-repos-small.mjs | 18 ------------------ test/markdownlint-test-repos.mjs | 7 +++---- .../markdownlint-test-repos-small.mjs.md | 6 ------ .../markdownlint-test-repos-small.mjs.snap | Bin 7056 -> 7044 bytes 5 files changed, 3 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 69afa8c8..22623f7e 100644 --- a/README.md +++ b/README.md @@ -1058,7 +1058,6 @@ following projects or one of the tools in the [Related section](#related): - [Garden React Components][garden] ([Search repository][garden-search]) - [MDN Web Docs][mdn] ([Search repository][mdn-search]) - [MkDocs][mkdocs] ([Search repository][mkdocs-search]) -- [Mocha][mocha] ([Search repository][mocha-search]) - [Pi-hole documentation][pi-hole] ([Search repository][pi-hole-search]) - [Reactable][reactable] ([Search repository][reactable-search]) - [V8][v8] ([Search repository][v8-search]) @@ -1091,8 +1090,6 @@ For more advanced integration scenarios: [mdn-search]: https://github.com/mdn/content/search?q=markdownlint [mkdocs]: https://www.mkdocs.org/ [mkdocs-search]: https://github.com/mkdocs/mkdocs/search?q=markdownlint -[mocha]: https://mochajs.org/ -[mocha-search]: https://github.com/mochajs/mocha/search?q=markdownlint [pi-hole]: https://docs.pi-hole.net [pi-hole-search]: https://github.com/pi-hole/docs/search?q=markdownlint [reactable]: https://glittershark.github.io/reactable/ diff --git a/test/markdownlint-test-repos-small.mjs b/test/markdownlint-test-repos-small.mjs index 541654ef..0882177c 100644 --- a/test/markdownlint-test-repos-small.mjs +++ b/test/markdownlint-test-repos-small.mjs @@ -50,24 +50,6 @@ test("https://github.com/mkdocs/mkdocs", (t) => { return lintTestRepo(t, globPatterns, configPath); }); -test("https://github.com/mochajs/mocha", (t) => { - const rootDir = "./test-repos/mochajs-mocha"; - const globPatterns = [ - join(rootDir, "*.md"), - join(rootDir, "docs/**/*.md"), - join(rootDir, ".github/*.md"), - join(rootDir, "lib/**/*.md"), - join(rootDir, "test/**/*.md"), - join(rootDir, "example/**/*.md"), - ...excludeGlobs( - rootDir, - "CHANGELOG.md" - ) - ]; - const configPath = join(rootDir, ".markdownlint.json"); - return lintTestRepo(t, globPatterns, configPath); -}); - test("https://github.com/pi-hole/docs", (t) => { const rootDir = "./test-repos/pi-hole-docs"; const globPatterns = [ join(rootDir, "**/*.md") ]; diff --git a/test/markdownlint-test-repos.mjs b/test/markdownlint-test-repos.mjs index 13b54c20..c29ce938 100644 --- a/test/markdownlint-test-repos.mjs +++ b/test/markdownlint-test-repos.mjs @@ -16,7 +16,7 @@ import { markdownlintParallel } from "./markdownlint-test-parallel.mjs"; * * @param {import("ava").ExecutionContext} t Test instance. * @param {string[]} globPatterns Array of files to in/exclude. - * @param {string} configPath Path to config file. + * @param {string} [configPath] Path to config file. * @param {Configuration} [configOverrides] Configuration overrides. * @param {boolean} [parallel] True to lint in parallel. * @returns {Promise} Test result. @@ -30,9 +30,8 @@ export function lintTestRepo(t, globPatterns, configPath, configOverrides, paral const yamlParse = (/** @type {string} */ yaml) => jsYaml.load(yaml); return Promise.all([ globby(globPatterns), - readConfig(configPath, [ jsoncParse, yamlParse ]) - ]).then((globbyAndReadConfigResults) => { - const [ files, rawConfig ] = globbyAndReadConfigResults; + configPath ? readConfig(configPath, [ jsoncParse, yamlParse ]) : {} + ]).then(([ files, rawConfig ]) => { // eslint-disable-next-line no-console console.log(`${t.title}: Linting ${files.length} files...`); const cookedConfig = Object.fromEntries( diff --git a/test/snapshots/markdownlint-test-repos-small.mjs.md b/test/snapshots/markdownlint-test-repos-small.mjs.md index 6b8eeed9..e45f3b99 100644 --- a/test/snapshots/markdownlint-test-repos-small.mjs.md +++ b/test/snapshots/markdownlint-test-repos-small.mjs.md @@ -337,12 +337,6 @@ Generated by [AVA](https://avajs.dev). ## https://github.com/mkdocs/mkdocs -> Expected linting violations - - '' - -## https://github.com/mochajs/mocha - > Expected linting violations '' diff --git a/test/snapshots/markdownlint-test-repos-small.mjs.snap b/test/snapshots/markdownlint-test-repos-small.mjs.snap index dff51f4eaf8c5f168629c324575e7ffc29fbaa32..90a21ea916c2bfb79ad6eb3d9ae74189cbd34c45 100644 GIT binary patch literal 7044 zcmZWtbyQT{*9M7EkuHZCQW_NLln&{Jp?joTNu?Wv0cj9$kdkf&M5JpFVPJ@%yQTAo zzTbb}UF)uA@3Wt0pL_PXYoB$mw7xXGj*F$6r-Q2(z0b?XSQz#=v{w_BZR6SjgJ6{u z0cNGgWz_z@yp4+K9A#B++Q6XLhZz4Ztlb=R!fZ=mZy*&mrk@r)l3TL}@}5j26L^DU zdo?4m9S@I&`|NthVp-R&DP;rwShN{Rrsqh}E3gf`V@yA~e4$})-pj{Z{~zB8f_R^39I6n#lHk$CQ{~(81BkA2X`Rw8SVPlYE0w+_afbP&E=OGLt`ds%pm^ z8f3#HA!MU*VM9tGFzjBa8gs#u5_V~lV(f150i7RYmsO(~jFcR58umV;JJT8(w*fC- zu{z+mRlTrSsKXH6FrvoF#402IG0eh0w<+Y+bm*f(IC^*95HEucwkwD z|Jkbi%W7 z3;|g-^|=SfP{e%1bB7=|>yvWshdI*J6~lr|hP`hJp-7rQxWttI=~n&@Gz;c0!DOY- ze_0N}8*fdwQTZurae9xwJigYn zvGRb8K|$fAm6CS`kykk{eIRBkr6i4s4YM{gftEI3t`$Wd#|Mba^vWj(UTqO|nV;vI z*O)wS&djw+JSFeE4(F)H#ZIjkM=PDWTtoEHPvDp~C)|iF@Mj|s>5mjNE_VlQ=568O zzDy9H?pob}fVS_bHGkFjlcM0k%Gs;I{qQvmuiZ20!Tm@We#GxNLKd!RA7m8lDRzU=X^Yb0{Ea&4le&YbHj(-F}hrc;9=ReGzpXXPYp&v&k z8TbVv6e?l93|AuOf5on{bf;JUvPkE;oc?3um|p!u-2cOnHq=t6pq~I7YkKSP{XCiT z54ffNKH*Ffk_zi@HqiStP~8Oe)FM&M81?(VRGgNhdkK~hjSSrhAm4fZJ2*z>fkq(W znd?GVt`os4aGNv{fpp_lKE9b6p`Yv~QC(-*CO6_<^!9$9=0jk}y&>Un_JhG8)Lz(K9lUn4x|!KM@rS;)sSgMfdVIr+R!wa@cL@bB)0(p^m5 zzZ5f1xDh-Af(~WKhW}V#cmu6*KC8I%eHC}ZC>%yTsOu)mHl+#w8wsDpsF}76ZSWJ2 z*jS~w4>*c^ zr-V=)1HK>`7)~6XmbgcDKzzJD@zt;NbI}h1Er^l3eTX z(**b9THj^WhfEJRNzTv#S8E4#6v(kBbC;^`g}#>B{7ezIeVtm<#$TCMA4BEINWA=b zF--lbXz`nv`(`bd|AKM?kV_$?eEn*KQ*MwT$CT427}G9f)Il|DXPGRx*T`Iox`WaCaNY!w_+Q_WZwtK>Mrwv>f9=QYHzrd#P>w5%jqp zYcS-|2T6cS_-?sb$wAYH!fes+T+LUiv7{qvd1 zyDNZ3(6QWIz)2UY)NSqEb<4B4Yn`4Y|5Nilc(A^1|Eh9$JO^_sTg4Onj76nb12&co zo6;?Bz9mQmQ@zQzvrYl|Pf6~+i$07w6Q-LHrr*4}cnn%_?|oBW&Ky_YreBaIbxtH? zvjx04q>dC-Yut6K)7s1onThwZ^Q|8Tgb{*95lxB1)LyB>_!Wx$h&^l19G>cK@n1f` z-PbHfO4K_wqfG_YROEv3ADC{+-h;wm_Fdt=JI>(4xvoU)PQM3zQLuEiC@%XUiDFOM z5s5neM&mKX0%rvi{~6zJdhXPP_h#>YeiMg*iDtIRoB=<}BU_fHggChKx>z^KM?97T z0{M2rnTY7!?>~Jkt^A)?2c}P9s_rl-InmCMF*ZCRrMBaRbndWlr^AaTF3hxH-M@;- zjYHMd-ps~9c=rc)IAElrJlHD8&{vxu^6Mlp_7kZ^b25+M@ipL-jz+CZdN$|ELHVE$ z<6P`wulFVxk9&Xm{D9QIJMHB=h2U^ZiWhP zVp7e%#Pl~E*xy!75tm4;G_y&?P(V@%wc&1b1;rjQIAd`d8fhkLvD->$;fn+HyBn3e z=Cn`zE&Z>Jx7N$dkrG86muMEk&AW?I9JnI98+iFa33>(lU2Xw_%u4De+Bae1G@#kMiN zpI)Vu#-!3#rK=K0VGoqGsAC3tyA=VolMbdhw&H8ORSCF_{bI0m7i7*kZ)7p_K-Sf6 z;)|%tc~PQuHakyT^>=o56W%#D_5vAMfn8~~+asUvy*7^`I4yTUAG?3SR1q>v-dInX z`$(v?Y&WJIOMRy_VQbr*xpzvcDi+hD8T0(G=i~nVPe{HrU28LS$pF)|#Pvn#Oe_h8 zg6gUJ^0_!#1jEgAt1)BdWMb8!wJRj168tT4*&mO9VdOuQDw%%^ooiH-?Oy9#wVT9M z>-MDMh1S%_S41j2ye!1t<^kd5)=sfSaMjSj`ZAOFD7&$kCj+|eHLIJnKApT2wV7z| zf_`OB)VlZsgn#F1Z`eLyC=c>12T29I4IG(&m`nVbCs>wewZC8S7#O&+?u4a3iSgD{Asy03O&)eho~Wt6{A7%dlQ8bv1; z($UKA0ZYku(iUBw8iwDXi73=`xJCvj7KEVPj`g}ii@3v!W=AHgOa*`rDqmNHFhOmW zn*{NPLft80L*H=H9keG#H{KJ!XqLOm?iU}P>^{!y3iw1!@(0Ssh_JUw56!DUs<~&{ zqyvG-wS2aSkPs!K=E-e1eSA)5O;q&HwEU9JT!qurr47tOnZ4c==8jO!SBN z{U1GN7Ry&vhggX7Z?>(T9o-^F4L$#@M3a0>S!FDWaba*^rEAqtR ztOaH0#C7@>?;O+Vn!(|E5ks*35j8p_-nFa8*J8P~>QG|pyvl!$VaLq(VGFVzH{ajX z5u*iZDhl%M#f!P>ILB$(wFltE;PY?=U!PY?dyKmvroS4EskKU@3nTOhO}>_bLvhi+ zD)dIl)HZ!lm5vlo*_E4{vRzAok_n>+v=kBO)#i9HRlM|B0!TW+VRvFSX9#eCM<=4ULy@v4iV!kYV4VdLwjVoAqTU`R&Jf zz04g?S};u5z((SD*z0*bBZ)RbXs|FGv0EwS5f+B#JfC9 zeqYx89Ig^czbw)W{*F>6zy3NaX&Y(w$)fxNk|9$us#=@w;ES|Zg_=&OuD4kmfvzzK zEEd=kPfYQ%Po8m1NHlEms*%^b>1R{!8duXL;|1ZE?g4ZSk{H{sK$AdlvK*?zDqOymm9(B$fN*4*Yup&#W$_HwXj^WBPYu zm_~~T_G`#rSJ8ZIXL_8G*7#>3otI8Grw4mmM>8IKohy?nV}baiZ3(wprKBO-I}xMG zx#rmKG<8O3cZ%F89FV~~}U(VNDw-1=Zn zDCI5nxAA;*8GUuT@q%55hxCN);VhEv-NSE7OTHrP@$^!4Ig^n?EaBg^9uXT$Z;z?0 z^9I9{vrY(XD?v=qUGl)aT^1%v=);%6`9IL+(qlDj5T>aO*Zp*K1M zx>n5MKa@`%G(w+KJTRwP#x7gRBeREdgt&|Ka~3{XHMVKVc`#XW1XYN2IN4=I{hDFA zViNsaUOr$3wl($|?nzH(PV;2l?p2I zVXT}oe7|AhYl0_5>N=-ei5$7fgiF~m>m$&joEk)A6`@~aD=$>X%@{LI=x0l>9f!jQ6$cZqRs_Q5u<6@YP}9`13P*qt}s}#@e=Jwor@PZSCTN zT-Dp_KhDPYgMG@HN0Ut!R<%O+x2qa=Sq6plB^Pe|NmLNw(p0__k`W+1T#oqKuC zZ&Jz6#OlY0X!WUpYe}cU2-SCOY^Mz>IjhPttG}a!)uZCp6d9YG$%O}X7#(bsk{1hB zY|D0OL4k}P`Fi}AOOW2m0?r3t`?D&5ae9|JTqh_?%gTBIWnC8T<4`_Q>`yP>JHs7? zSkWk@1j_af;TMeM1tl*y@XvhkEIvH%h7OxwPp;*>l(sh{wq|}F8}Fd9=Bbxf|Hb>G zhD~LA-Sp^jMkpc8we6*6&4E8qtHB{@rvcRk{&j}pOrstLNqXE4PiC%wG0JgsvZlA9 z9SPA~-n>4c#9t)?0(73Cx^|A1`$vN_O>ca`PD1=QsPf)rQO|i^k77tKbdj0;0UeIB zcV&obpS)d>{60*q(P6K2Y!U%uOyATSRyHa|sTlv_&jn08k8Cw7??Cdd#uS!^*BD11 z&TPr*|H3yOhZ}mcanhpM4cI7`=HD;BAkCfXXSnLWycO=yllxOW4X|3IJKH&~%| zc#Ka*!dt7K2CbWG)R@M~W`{#;>eu`SBCu2gRd943X@DKqNK0i8n=|=^h%!mwtfR_O z!Bl+B?bzY!UR;xaI@Mi2ewpsNO_9c1SeyBEi_h$NWH4CN<=R~Gw+H;($z91ys%s3G zOJo#~qE){0G-kcUK2|v8rV-#jYDPQMCG-2HYbR)|XPiulHFgk*~_KS zE$eVdR4U~)!TDU~xM`=$Uw=yKa+{daH$YfULx3fjcv6}-HRU! z64#x2yJjhJjM#Lf|KTFn_!#*{x>9(Z`BKa)A<35pZ`3~UD8Wm)M&J0#kpxI{{}xNaiwYII%&1DXPBl)E%wsLHN*K;}X&;jUiT;Uh>JPoJ_Wf#|J&hCVE80v1*S7 zwToUm%g0`%g!#*e?T^vb0JK`>rtH9LbS{s6>Z-)v$NW-5 z)xN6CZ++gqDXfbwD;z?qH_By^4ylU+@<$rla|{!DgZ#(0%sMQjiN9?depk$x?o4L6 zHWYjDO(ZS>Vak@bz2XBWee+81Obq&}TfS-zERREBHu9e@Rx@QTeP_FX36r`?CFOM7 zILT@8>ClIaAju;5L}A^`KYwlimUpau;}k1c zo!)Nvadl(3Z1swDkxJ#ci;a&yW#_I{iniKbxlN$ts;3^|!|j~$mzf{WTZ$Lqq7T2l z{aKlv5fi@L!f!|EPp?9h%4Z%3Ui-Ao+kf#+gM+V?L47<2Ws?fd8kuEFWR>#{+ES4R zW?E4UvP**X>^9Bdp(6@@pe@mXjm<$Npo+yayhwZH0uxs<(>G47Y?^Xzs0z@=^>&oVN(qTQjHOnfDahBuHlnR5#lJSd0c!c>?ix!7K_e(-t!SA>wkfO zw&`F*JD>9Hfm^CC1LwYs{(NY88^GutsOBihH?;#X6r(%+Tm^9bB|17k_Rl-(f&$3m zncFgU_tq{8;fH$F;To>PsP)p0yUUI9-9@4OMDvb7gOSbf26MD<%Um;+{=08I>Di-+ z69_Q{gOPDIg6XNK+l%dB(YO9}zIEm!H0h?Yw6H7rA z7D&&Frq>ykfYg$skeI5sW%IB8h#_e$1ravHs?b=zW2;~pUH9`ST|+jKv+5|AZe{mc zh^{neE9;bAS(~VQV^cL>V2LY#fx&994wpEIU||UFse5LQ$y*yEzd$`7`3esSeSZOU z6op!(3(ChMaX>zn<0TDok+8N-2nnD530=KgXpC;_g=ga^nrv`O7dB!$O7leKE_Ni3 zyk+E5wiIhQfHCs$R_&tsvr6x_2YXE{zU$xb%OVB?ss&U|3ekz*4WohRieM+QFltAR zzBu$j_0Ccc=H1feWc&BVepw?`o|p<*OP#>P{1nK`)DGNzUmD3zHtMwQ6dzSneOFK5 zA@mp0+Z{Ej5AAR*QopCGA6bD+PdeL&#>rv_-+X?m51CB?zGBeTk^`SM{!y^Ou%OuMJr1=TfiX8aT$c?evG89z zWMe+le`FkIR#7hY`>{L{cZ2_K_`)C$e33Fo!t=n^e)RfREua`;r2053$K*RN;iISv zk=Mcrg(eR@ob^_|zFjjq849`>Qn&)T8uS8XGHuGNu`<mZ5*XC`)^a96KqN z+Cl7j`M%!O13Fda0?fpZNB=~cK?(IzJzHDel^Ls32A(|D_{bs4uVqp`@_=>|Fb^f9 zp&)dsu@&o*;VhCp`#noJ$HO6G7gjQnfjnBme@O~GTLzRRac1_tJD}U;G#r;16?;p& zle1^p(7M6t!CDJQng$pO1-uspV0aT?Y>CeX8GvVoZZUF4L{Wgc%bhF??*hq literal 7056 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