[READ-ONLY] Mirror of https://github.com/vitest-dev/vitest. Next generation testing framework powered by Vite. vitest.dev
test testing-tools vite
12

Configure Feed

Select the types of activity you want to include in your feed.

fix(ui): a11y + codemirror scrolls + minor addons (#1103)

authored by

Joaquín Sánchez and committed by
GitHub
(Apr 5, 2022, 9:22 PM +0800) a1188b5e 0d2413f5

+185 -252
+101 -218
pnpm-lock.yaml
··· 437 437 solid-js: 1.3.13 438 438 devDependencies: 439 439 jsdom: 19.0.0 440 - solid-start: 0.1.0-alpha.73_solid-js@1.3.13+vite@2.8.6 440 + solid-start: 0.1.0-alpha.74_solid-js@1.3.13+vite@2.8.6 441 441 solid-testing-library: 0.3.0_solid-js@1.3.13 442 442 vitest: link:../../packages/vitest 443 443 ··· 7117 7117 source-map: 0.6.1 7118 7118 dev: true 7119 7119 7120 + /@types/which/2.0.1: 7121 + resolution: {integrity: sha512-Jjakcv8Roqtio6w1gr0D7y6twbhx6gGgFGF5BLwajPpnOIOxFkakFhCq+LmyyeAz7BX6ULrjBOxdKaCDy+4+dQ==} 7122 + dev: true 7123 + 7120 7124 /@types/ws/8.5.3: 7121 7125 resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==} 7122 7126 dependencies: ··· 9064 9068 supports-color: 7.2.0 9065 9069 dev: true 9066 9070 9071 + /chalk/5.0.1: 9072 + resolution: {integrity: sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==} 9073 + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 9074 + dev: true 9075 + 9067 9076 /character-entities-legacy/1.1.4: 9068 9077 resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} 9069 9078 dev: true ··· 10629 10638 resolution: {integrity: sha512-EmTr31wppcaIAgblChZiuN/l9Y7DPyw8Xtbg7fIVngn6zMW+IEBJDJngeKC3x6wr0V/vcA2wqeFnaw1bFJbDdA==} 10630 10639 dev: true 10631 10640 10632 - /esbuild-android-64/0.14.28: 10633 - resolution: {integrity: sha512-A52C3zq+9tNwCqZ+4kVLBxnk/WnrYM8P2+QNvNE9B6d2OVPs214lp3g6UyO+dKDhUdefhfPCuwkP8j2A/+szNA==} 10634 - engines: {node: '>=12'} 10635 - cpu: [x64] 10636 - os: [android] 10637 - requiresBuild: true 10638 - dev: true 10639 - optional: true 10640 - 10641 10641 /esbuild-android-64/0.14.30: 10642 10642 resolution: {integrity: sha512-vdJ7t8A8msPfKpYUGUV/KaTQRiZ0vDa2XSTlzXVkGGVHLKPeb85PBUtYJcEgw3htW3IdX5i1t1IMdQCwJJgNAg==} 10643 10643 engines: {node: '>=12'} ··· 10661 10661 cpu: [arm64] 10662 10662 os: [android] 10663 10663 requiresBuild: true 10664 - optional: true 10665 - 10666 - /esbuild-android-arm64/0.14.28: 10667 - resolution: {integrity: sha512-sm0fDEGElZhMC3HLZeECI2juE4aG7uPfMBMqNUhy9CeX399Pz8rC6e78OXMXInGjSdEAwQmCOHmfsP7uv3Q8rA==} 10668 - engines: {node: '>=12'} 10669 - cpu: [arm64] 10670 - os: [android] 10671 - requiresBuild: true 10672 - dev: true 10673 10664 optional: true 10674 10665 10675 10666 /esbuild-android-arm64/0.14.30: ··· 10705 10696 requiresBuild: true 10706 10697 optional: true 10707 10698 10708 - /esbuild-darwin-64/0.14.28: 10709 - resolution: {integrity: sha512-nzDd7mQ44FvsFHtOafZdBgn3Li5SMsnMnoz1J2MM37xJmR3wGNTFph88KypjHgWqwbxCI7MXS1U+sN4qDeeW6Q==} 10710 - engines: {node: '>=12'} 10711 - cpu: [x64] 10712 - os: [darwin] 10713 - requiresBuild: true 10714 - dev: true 10715 - optional: true 10716 - 10717 10699 /esbuild-darwin-64/0.14.30: 10718 10700 resolution: {integrity: sha512-VRaOXMMrsG5n53pl4qFZQdXy2+E0NoLP/QH3aDUI0+bQP+ZHDmbINKcDy2IX7GVFI9kqPS18iJNAs5a6/G2LZg==} 10719 10701 engines: {node: '>=12'} ··· 10745 10727 cpu: [arm64] 10746 10728 os: [darwin] 10747 10729 requiresBuild: true 10748 - optional: true 10749 - 10750 - /esbuild-darwin-arm64/0.14.28: 10751 - resolution: {integrity: sha512-XEq/bLR/glsUl+uGrBimQzOVs/CmwI833fXUhP9xrLI3IJ+rKyrZ5IA8u+1crOEf1LoTn8tV+hInmX6rGjbScw==} 10752 - engines: {node: '>=12'} 10753 - cpu: [arm64] 10754 - os: [darwin] 10755 - requiresBuild: true 10756 - dev: true 10757 10730 optional: true 10758 10731 10759 10732 /esbuild-darwin-arm64/0.14.30: ··· 10789 10762 requiresBuild: true 10790 10763 optional: true 10791 10764 10792 - /esbuild-freebsd-64/0.14.28: 10793 - resolution: {integrity: sha512-rTKLgUj/HEcPeE5XZ7IZwWpFx7IWMfprN7QRk/TUJE1s1Ipb58esboIesUpjirJz/BwrgHq+FDG9ChAI8dZAtQ==} 10794 - engines: {node: '>=12'} 10795 - cpu: [x64] 10796 - os: [freebsd] 10797 - requiresBuild: true 10798 - dev: true 10799 - optional: true 10800 - 10801 10765 /esbuild-freebsd-64/0.14.30: 10802 10766 resolution: {integrity: sha512-mec1jENcImVVagddZlGWsdAUwBnzR5cgnhzCxv+9fSMxKbx1uZYLLUAnLPp8m/i934zrumR1xGjJ5VoWdPlI2w==} 10803 10767 engines: {node: '>=12'} ··· 10829 10793 cpu: [arm64] 10830 10794 os: [freebsd] 10831 10795 requiresBuild: true 10832 - optional: true 10833 - 10834 - /esbuild-freebsd-arm64/0.14.28: 10835 - resolution: {integrity: sha512-sBffxD1UMOsB7aWMoExmipycjcy3HJGwmqE4GQZUTZvdiH4GhjgUiVdtPyt7kSCdL40JqnWQJ4b1l8Y51oCF4Q==} 10836 - engines: {node: '>=12'} 10837 - cpu: [arm64] 10838 - os: [freebsd] 10839 - requiresBuild: true 10840 - dev: true 10841 10796 optional: true 10842 10797 10843 10798 /esbuild-freebsd-arm64/0.14.30: ··· 10873 10828 requiresBuild: true 10874 10829 optional: true 10875 10830 10876 - /esbuild-linux-32/0.14.28: 10877 - resolution: {integrity: sha512-+Wxidh3fBEQ9kHcCsD4etlBTMb1n6QY2uXv3rFhVn88CY/JP782MhA57/ipLMY4kOLeSKEuFGN4rtjHuhmRMig==} 10878 - engines: {node: '>=12'} 10879 - cpu: [ia32] 10880 - os: [linux] 10881 - requiresBuild: true 10882 - dev: true 10883 - optional: true 10884 - 10885 10831 /esbuild-linux-32/0.14.30: 10886 10832 resolution: {integrity: sha512-liIONVT4F2kZmOMwtwASqZ8WkIjb5HHBR9HUffdHiuotSTF3CyZO+EJf+Og+SYYuuVIvt0qHNSFjBA/iSESteQ==} 10887 10833 engines: {node: '>=12'} ··· 10913 10859 cpu: [x64] 10914 10860 os: [linux] 10915 10861 requiresBuild: true 10916 - optional: true 10917 - 10918 - /esbuild-linux-64/0.14.28: 10919 - resolution: {integrity: sha512-7+xgsC4LvR6cnzaBdiljNnPDjbkwzahogN+S9uy9AoYw7ZjPnnXc6sjQAVCbqGb7MEgrWdpa6u/Tao79i4lWxg==} 10920 - engines: {node: '>=12'} 10921 - cpu: [x64] 10922 - os: [linux] 10923 - requiresBuild: true 10924 - dev: true 10925 10862 optional: true 10926 10863 10927 10864 /esbuild-linux-64/0.14.30: ··· 10957 10894 requiresBuild: true 10958 10895 optional: true 10959 10896 10960 - /esbuild-linux-arm/0.14.28: 10961 - resolution: {integrity: sha512-L5isjmlLbh9E0WVllXiVETbScgMbth/+XkXQii1WwgO1RvLIfaGrVFz8d2n6EH/ImtgYxPYGx+OcvIKQBc91Rg==} 10962 - engines: {node: '>=12'} 10963 - cpu: [arm] 10964 - os: [linux] 10965 - requiresBuild: true 10966 - dev: true 10967 - optional: true 10968 - 10969 10897 /esbuild-linux-arm/0.14.30: 10970 10898 resolution: {integrity: sha512-97T+bbXnpqf7mfIG49UR7ZSJFGgvc22byn74qw3Kx2GDCBSQoVFjyWuKOHGXp8nXk3XYrdFF+mQ8yQ7aNsgQvg==} 10971 10899 engines: {node: '>=12'} ··· 10997 10925 cpu: [arm64] 10998 10926 os: [linux] 10999 10927 requiresBuild: true 11000 - optional: true 11001 - 11002 - /esbuild-linux-arm64/0.14.28: 11003 - resolution: {integrity: sha512-EjRHgwg+kgXABzyoPGPOPg4d5wZqRnZ/ZAxBDzLY+i6DS8OUfTSlZHWIOZzU4XF7125WxRBg9ULbrFJBl+57Eg==} 11004 - engines: {node: '>=12'} 11005 - cpu: [arm64] 11006 - os: [linux] 11007 - requiresBuild: true 11008 - dev: true 11009 10928 optional: true 11010 10929 11011 10930 /esbuild-linux-arm64/0.14.30: ··· 11041 10960 requiresBuild: true 11042 10961 optional: true 11043 10962 11044 - /esbuild-linux-mips64le/0.14.28: 11045 - resolution: {integrity: sha512-krx9SSg7yfiUKk64EmjefOyiEF6nv2bRE4um/LiTaQ6Y/6FP4UF3/Ou/AxZVyR154uSRq63xejcAsmswXAYRsw==} 11046 - engines: {node: '>=12'} 11047 - cpu: [mips64el] 11048 - os: [linux] 11049 - requiresBuild: true 11050 - dev: true 11051 - optional: true 11052 - 11053 10963 /esbuild-linux-mips64le/0.14.30: 11054 10964 resolution: {integrity: sha512-fLUzTFZ7uknC0aPTk7/lM7NmaG/9ZqE3SaHEphcaM009SZK/mDOvZugWi1ss6WGNhk13dUrhkfHcc4FSb9hYhg==} 11055 10965 engines: {node: '>=12'} ··· 11083 10993 requiresBuild: true 11084 10994 optional: true 11085 10995 11086 - /esbuild-linux-ppc64le/0.14.28: 11087 - resolution: {integrity: sha512-LD0Xxu9g+DNuhsEBV5QuVZ4uKVBMup0xPIruLweuAf9/mHXFnaCuNXUBF5t0DxKl7GQ5MSioKtnb92oMo+QXEw==} 11088 - engines: {node: '>=12'} 11089 - cpu: [ppc64] 11090 - os: [linux] 11091 - requiresBuild: true 11092 - dev: true 11093 - optional: true 11094 - 11095 10996 /esbuild-linux-ppc64le/0.14.30: 11096 10997 resolution: {integrity: sha512-2Oudm2WEfj0dNU9bzIl5L/LrsMEmHWsOsYgJJqu8fDyUDgER+J1d33qz3cUdjsJk7gAENayIxDSpsuCszx0w3A==} 11097 10998 engines: {node: '>=12'} ··· 11117 11018 requiresBuild: true 11118 11019 optional: true 11119 11020 11120 - /esbuild-linux-riscv64/0.14.28: 11121 - resolution: {integrity: sha512-L/DWfRh2P0vxq4Y+qieSNXKGdMg+e9Qe8jkbN2/8XSGYDTPzO2OcAxSujob4qIh7iSl+cknbXV+BvH0YFR0jbg==} 11122 - engines: {node: '>=12'} 11123 - cpu: [riscv64] 11124 - os: [linux] 11125 - requiresBuild: true 11126 - dev: true 11127 - optional: true 11128 - 11129 11021 /esbuild-linux-riscv64/0.14.30: 11130 11022 resolution: {integrity: sha512-RPMucPW47rV4t2jlelaE948iCRtbZf5RhifxSwzlpM1Mqdyu99MMNK0w4jFreGTmLN+oGomxIOxD6n+2E/XqHw==} 11131 11023 engines: {node: '>=12'} ··· 11141 11033 cpu: [s390x] 11142 11034 os: [linux] 11143 11035 requiresBuild: true 11144 - optional: true 11145 - 11146 - /esbuild-linux-s390x/0.14.28: 11147 - resolution: {integrity: sha512-rrgxmsbmL8QQknWGnAL9bGJRQYLOi2AzXy5OTwfhxnj9eqjo5mSVbJXjgiq5LPUAMQZGdPH5yaNK0obAXS81Zw==} 11148 - engines: {node: '>=12'} 11149 - cpu: [s390x] 11150 - os: [linux] 11151 - requiresBuild: true 11152 - dev: true 11153 11036 optional: true 11154 11037 11155 11038 /esbuild-linux-s390x/0.14.30: ··· 11175 11058 cpu: [x64] 11176 11059 os: [netbsd] 11177 11060 requiresBuild: true 11178 - optional: true 11179 - 11180 - /esbuild-netbsd-64/0.14.28: 11181 - resolution: {integrity: sha512-h8wntIyOR8/xMVVM6TvJxxWKh4AjmLK87IPKpuVi8Pq0kyk0RMA+eo4PFGk5j2XK0D7dj8PcSF5NSlP9kN/j0A==} 11182 - engines: {node: '>=12'} 11183 - cpu: [x64] 11184 - os: [netbsd] 11185 - requiresBuild: true 11186 - dev: true 11187 11061 optional: true 11188 11062 11189 11063 /esbuild-netbsd-64/0.14.30: ··· 11223 11097 cpu: [x64] 11224 11098 os: [openbsd] 11225 11099 requiresBuild: true 11226 - optional: true 11227 - 11228 - /esbuild-openbsd-64/0.14.28: 11229 - resolution: {integrity: sha512-HBv18rVapbuDx52/fhZ/c/w6TXyaQAvRxiDDn5Hz/pBcwOs3cdd2WxeIKlWmDoqm2JMx5EVlq4IWgoaRX9mVkw==} 11230 - engines: {node: '>=12'} 11231 - cpu: [x64] 11232 - os: [openbsd] 11233 - requiresBuild: true 11234 - dev: true 11235 11100 optional: true 11236 11101 11237 11102 /esbuild-openbsd-64/0.14.30: ··· 11275 11140 requiresBuild: true 11276 11141 optional: true 11277 11142 11278 - /esbuild-sunos-64/0.14.28: 11279 - resolution: {integrity: sha512-zlIxePhZxKYheR2vBCgPVvTixgo/ozOfOMoP6RZj8dxzquU1NgeyhjkcRXucbLCtmoNJ+i4PtWwPZTLuDd3bGg==} 11280 - engines: {node: '>=12'} 11281 - cpu: [x64] 11282 - os: [sunos] 11283 - requiresBuild: true 11284 - dev: true 11285 - optional: true 11286 - 11287 11143 /esbuild-sunos-64/0.14.30: 11288 11144 resolution: {integrity: sha512-aQRtRTNKHB4YuG+xXATe5AoRTNY48IJg5vjE8ElxfmjO9+KdX7MHFkTLhlKevCD6rNANtB3qOlSIeAiXTwHNqw==} 11289 11145 engines: {node: '>=12'} ··· 11315 11171 cpu: [ia32] 11316 11172 os: [win32] 11317 11173 requiresBuild: true 11318 - optional: true 11319 - 11320 - /esbuild-windows-32/0.14.28: 11321 - resolution: {integrity: sha512-am9DIJxXlld1BOAY/VlvBQHMUCPL7S3gB/lnXIY3M4ys0gfuRqPf4EvMwZMzYUbFKBY+/Qb8SRgPRRGhwnJ8Kg==} 11322 - engines: {node: '>=12'} 11323 - cpu: [ia32] 11324 - os: [win32] 11325 - requiresBuild: true 11326 - dev: true 11327 11174 optional: true 11328 11175 11329 11176 /esbuild-windows-32/0.14.30: ··· 11359 11206 requiresBuild: true 11360 11207 optional: true 11361 11208 11362 - /esbuild-windows-64/0.14.28: 11363 - resolution: {integrity: sha512-78PhySDnmRZlsPNp/W/5Fim8iivlBQQxfhBFIqR7xwvfDmCFUSByyMKP7LCHgNtb04yNdop8nJJkJaQ8Xnwgiw==} 11364 - engines: {node: '>=12'} 11365 - cpu: [x64] 11366 - os: [win32] 11367 - requiresBuild: true 11368 - dev: true 11369 - optional: true 11370 - 11371 11209 /esbuild-windows-64/0.14.30: 11372 11210 resolution: {integrity: sha512-DHgITeUhPAnN9I5O6QBa1GVyPOhiYCn4S4TtQr7sO4+X0LNyqnlmA1M0qmGkUdDC1QQfjI8uQ4G/whdWb2pWIQ==} 11373 11211 engines: {node: '>=12'} ··· 11399 11237 cpu: [arm64] 11400 11238 os: [win32] 11401 11239 requiresBuild: true 11402 - optional: true 11403 - 11404 - /esbuild-windows-arm64/0.14.28: 11405 - resolution: {integrity: sha512-VhXGBTo6HELD8zyHXynV6+L2jWx0zkKnGx4TmEdSBK7UVFACtOyfUqpToG0EtnYyRZ0HESBhzPSVpP781ovmvA==} 11406 - engines: {node: '>=12'} 11407 - cpu: [arm64] 11408 - os: [win32] 11409 - requiresBuild: true 11410 - dev: true 11411 11240 optional: true 11412 11241 11413 11242 /esbuild-windows-arm64/0.14.30: ··· 11476 11305 esbuild-windows-32: 0.14.21 11477 11306 esbuild-windows-64: 0.14.21 11478 11307 esbuild-windows-arm64: 0.14.21 11479 - 11480 - /esbuild/0.14.28: 11481 - resolution: {integrity: sha512-YLNprkCcMVKQ5sekmCKEQ3Obu/L7s6+iij38xNKyBeSmSsTWur4Ky/9zB3XIGT8SCJITG/bZwAR2l7YOAXch4Q==} 11482 - engines: {node: '>=12'} 11483 - hasBin: true 11484 - requiresBuild: true 11485 - optionalDependencies: 11486 - esbuild-android-64: 0.14.28 11487 - esbuild-android-arm64: 0.14.28 11488 - esbuild-darwin-64: 0.14.28 11489 - esbuild-darwin-arm64: 0.14.28 11490 - esbuild-freebsd-64: 0.14.28 11491 - esbuild-freebsd-arm64: 0.14.28 11492 - esbuild-linux-32: 0.14.28 11493 - esbuild-linux-64: 0.14.28 11494 - esbuild-linux-arm: 0.14.28 11495 - esbuild-linux-arm64: 0.14.28 11496 - esbuild-linux-mips64le: 0.14.28 11497 - esbuild-linux-ppc64le: 0.14.28 11498 - esbuild-linux-riscv64: 0.14.28 11499 - esbuild-linux-s390x: 0.14.28 11500 - esbuild-netbsd-64: 0.14.28 11501 - esbuild-openbsd-64: 0.14.28 11502 - esbuild-sunos-64: 0.14.28 11503 - esbuild-windows-32: 0.14.28 11504 - esbuild-windows-64: 0.14.28 11505 - esbuild-windows-arm64: 0.14.28 11506 - dev: true 11507 11308 11508 11309 /esbuild/0.14.30: 11509 11310 resolution: {integrity: sha512-wCecQSBkIjp2xjuXY+wcXS/PpOQo9rFh4NAKPh4Pm9f3fuLcnxkR0rDzA+mYP88FtXIUcXUyYmaIgfrzRl55jA==} ··· 11972 11773 /etag/1.8.1: 11973 11774 resolution: {integrity: sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=} 11974 11775 engines: {node: '>= 0.6'} 11776 + dev: true 11777 + 11778 + /event-stream/3.3.4: 11779 + resolution: {integrity: sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=} 11780 + dependencies: 11781 + duplexer: 0.1.2 11782 + from: 0.1.7 11783 + map-stream: 0.1.0 11784 + pause-stream: 0.0.11 11785 + split: 0.3.3 11786 + stream-combiner: 0.0.4 11787 + through: 2.3.8 11975 11788 dev: true 11976 11789 11977 11790 /eventemitter2/6.4.5: ··· 12575 12388 engines: {node: '>= 0.6'} 12576 12389 dev: true 12577 12390 12391 + /from/0.1.7: 12392 + resolution: {integrity: sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=} 12393 + dev: true 12394 + 12578 12395 /from2/2.3.0: 12579 12396 resolution: {integrity: sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=} 12580 12397 dependencies: ··· 12893 12710 ignore: 5.2.0 12894 12711 merge2: 1.4.1 12895 12712 slash: 3.0.0 12713 + dev: true 12714 + 12715 + /globby/13.1.1: 12716 + resolution: {integrity: sha512-XMzoDZbGZ37tufiv7g0N4F/zp3zkwdFtVbV3EHsVl1KQr4RPLfNoT068/97RPshz2J5xYNEjLKKBKaGHifBd3Q==} 12717 + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 12718 + dependencies: 12719 + dir-glob: 3.0.1 12720 + fast-glob: 3.2.11 12721 + ignore: 5.2.0 12722 + merge2: 1.4.1 12723 + slash: 4.0.0 12896 12724 dev: true 12897 12725 12898 12726 /globby/9.2.0: ··· 14669 14497 resolution: {integrity: sha1-beJlMXSt+12e3DPGnT6Sobdvrwg=} 14670 14498 dev: true 14671 14499 14500 + /map-stream/0.1.0: 14501 + resolution: {integrity: sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=} 14502 + dev: true 14503 + 14672 14504 /map-visit/1.0.0: 14673 14505 resolution: {integrity: sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=} 14674 14506 engines: {node: '>=0.10.0'} ··· 15956 15788 resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} 15957 15789 dev: false 15958 15790 15791 + /pause-stream/0.0.11: 15792 + resolution: {integrity: sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=} 15793 + dependencies: 15794 + through: 2.3.8 15795 + dev: true 15796 + 15959 15797 /pbkdf2/3.1.2: 15960 15798 resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} 15961 15799 engines: {node: '>=0.12'} ··· 16353 16191 16354 16192 /prr/1.0.1: 16355 16193 resolution: {integrity: sha1-0/wRS6BplaRexok/SEzrHXj19HY=} 16194 + dev: true 16195 + 16196 + /ps-tree/1.2.0: 16197 + resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==} 16198 + engines: {node: '>= 0.10'} 16199 + hasBin: true 16200 + dependencies: 16201 + event-stream: 3.3.4 16356 16202 dev: true 16357 16203 16358 16204 /pseudomap/1.0.2: ··· 17737 17583 engines: {node: '>=8'} 17738 17584 dev: true 17739 17585 17586 + /slash/4.0.0: 17587 + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} 17588 + engines: {node: '>=12'} 17589 + dev: true 17590 + 17740 17591 /slice-ansi/3.0.0: 17741 17592 resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} 17742 17593 engines: {node: '>=8'} ··· 17807 17658 solid-js: 1.3.13 17808 17659 dev: true 17809 17660 17810 - /solid-start-node/0.1.0-alpha.73_0d3860186103958aa17ca74f9c3ed8ac: 17811 - resolution: {integrity: sha512-gFJaT7l4jp1ox3TODQVG2PlvrVEAuugZR5QkkMFTZObGqSEay3tBn3VyWG6QWYsGBJwNc5Z2xmrkqhd17Ufmwg==} 17661 + /solid-start-node/0.1.0-alpha.74_c538f5c0165749d2367bbd0b82b4ef80: 17662 + resolution: {integrity: sha512-dvhlAly3xv+t1IODkDi25oN7Q3sKm0jOV3hqYBE5Y7roDjJaTlZbpSYzZpxc+hdNo5VcdYfiFXff5Xe5V2UILQ==} 17812 17663 requiresBuild: true 17813 17664 peerDependencies: 17814 17665 solid-start: next ··· 17822 17673 polka: 1.0.0-next.22 17823 17674 rollup: 2.70.1 17824 17675 sirv: 1.0.19 17825 - solid-start: 0.1.0-alpha.73_solid-js@1.3.13+vite@2.8.6 17676 + solid-start: 0.1.0-alpha.74_solid-js@1.3.13+vite@2.8.6 17826 17677 undici: 4.13.0 17827 17678 vite: 2.8.6 17828 17679 dev: true 17829 17680 optional: true 17830 17681 17831 - /solid-start/0.1.0-alpha.73_solid-js@1.3.13+vite@2.8.6: 17832 - resolution: {integrity: sha512-43D6qHcmZUd4p0D//GS6YVBUrzQ8BC1Pi+oo5hE5iKVP1KbVVzDJAsZpz4hWPRjl1enSwZBrA/PjPD8wUryTHA==} 17682 + /solid-start/0.1.0-alpha.74_solid-js@1.3.13+vite@2.8.6: 17683 + resolution: {integrity: sha512-lkPHD8/1sHE1/FmbFvNPoFGw1RPPz8ZyvbMLAinr+CfKQvIKJja7QghGqu6bL7kuvuTDptWo8qMtBREICOX85Q==} 17833 17684 hasBin: true 17834 17685 peerDependencies: 17835 - solid-app-router: ^0.3.0 17836 - solid-js: ^1.3.5 17686 + solid-app-router: ^0.3.1 17687 + solid-js: ^1.3.13 17837 17688 solid-meta: ^0.27.2 17838 17689 vite: ^2.8.6 17839 17690 dependencies: ··· 17845 17696 cookie: 0.4.2 17846 17697 cookie-signature: 1.2.0 17847 17698 es-module-lexer: 0.9.3 17848 - esbuild: 0.14.28 17699 + esbuild: 0.14.30 17849 17700 fast-glob: 3.2.11 17850 17701 parse-multipart-data: 1.2.1 17851 17702 picocolors: 1.0.0 ··· 17858 17709 vite: 2.8.6 17859 17710 vite-plugin-inspect: 0.3.14_vite@2.8.6 17860 17711 vite-plugin-solid: 2.2.6 17712 + zx: 6.0.7 17861 17713 optionalDependencies: 17862 - solid-start-node: 0.1.0-alpha.73_0d3860186103958aa17ca74f9c3ed8ac 17714 + solid-start-node: 0.1.0-alpha.74_c538f5c0165749d2367bbd0b82b4ef80 17863 17715 transitivePeerDependencies: 17864 17716 - less 17865 17717 - sass ··· 18025 17877 extend-shallow: 3.0.2 18026 17878 dev: true 18027 17879 17880 + /split/0.3.3: 17881 + resolution: {integrity: sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=} 17882 + dependencies: 17883 + through: 2.3.8 17884 + dev: true 17885 + 18028 17886 /splitpanes/3.1.1: 18029 17887 resolution: {integrity: sha512-VUkxDJfIGSvTM/fm/+OSrx8ha9URwE/9B8FPvfzoBuAxVELIHBWpsfnJXIXv77zVwuex//QQL4kTU9SDBPeHjA==} 18030 17888 dev: true ··· 18126 17984 dependencies: 18127 17985 inherits: 2.0.4 18128 17986 readable-stream: 2.3.7 17987 + dev: true 17988 + 17989 + /stream-combiner/0.0.4: 17990 + resolution: {integrity: sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=} 17991 + dependencies: 17992 + duplexer: 0.1.2 18129 17993 dev: true 18130 17994 18131 17995 /stream-each/1.2.3: ··· 20314 20178 20315 20179 /zwitch/1.0.5: 20316 20180 resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} 20181 + dev: true 20182 + 20183 + /zx/6.0.7: 20184 + resolution: {integrity: sha512-aJTTKN4m9m8wM02yQ4jMOXMp53Ni+r+VDAs0D+bo9l9x9nCMhOocNWeTjoaancHkb7LpNb4oLILp58HzTy0GpQ==} 20185 + engines: {node: '>= 16.0.0'} 20186 + hasBin: true 20187 + dependencies: 20188 + '@types/fs-extra': 9.0.13 20189 + '@types/minimist': 1.2.2 20190 + '@types/node': 17.0.23 20191 + '@types/which': 2.0.1 20192 + chalk: 5.0.1 20193 + fs-extra: 10.0.1 20194 + globby: 13.1.1 20195 + minimist: 1.2.6 20196 + node-fetch: 3.2.3 20197 + ps-tree: 1.2.0 20198 + which: 2.0.2 20199 + yaml: 1.10.2 20317 20200 dev: true
+1
packages/ui/package.json
··· 76 76 "birpc", 77 77 "codemirror", 78 78 "codemirror/addon/display/placeholder", 79 + "codemirror/addon/scroll/simplescrollbars", 79 80 "codemirror/mode/javascript/javascript", 80 81 "codemirror/mode/jsx/jsx", 81 82 "codemirror/mode/xml/xml",
+1 -1
packages/ui/client/components/CodeMirror.vue
··· 60 60 relative 61 61 font-mono 62 62 text-sm 63 - class="scrolls" 63 + class="codemirror-scrolls" 64 64 > 65 65 <textarea ref="el" /> 66 66 </div>
+2 -1
packages/ui/client/components/FileDetails.vue
··· 45 45 <div class="flex text-lg"> 46 46 <IconButton 47 47 v-tooltip.bottom="'Open in editor'" 48 + title="Open in editor" 48 49 icon="i-carbon-launch" 49 50 :disabled="!current?.filepath" 50 51 @click="open" 51 52 /> 52 53 </div> 53 54 </div> 54 - <div flex="~" items-center bg-header border="b-2 base" text-sm h-38px> 55 + <div flex="~" items-center bg-header border="b-2 base" text-sm h-41px> 55 56 <button 56 57 tab-button 57 58 :class="{ 'tab-button-active': viewMode == null }"
+1
packages/ui/client/components/IconButton.vue
··· 8 8 role="button" 9 9 :opacity="disabled ? 10 : 70" 10 10 rounded 11 + :disabled="disabled" 11 12 :hover="disabled ? '' : 'bg-active op100'" 12 13 class="w-1.4em h-1.4em flex" 13 14 >
+1 -1
packages/ui/client/components/Navigation.vue
··· 22 22 <template> 23 23 <TasksList border="r base" :tasks="files" :on-item-click="onItemClick" :group-by-type="true" @run="runAll"> 24 24 <template #header="{ filteredTests }"> 25 - <img w-6 h-6 src="/favicon.svg"> 25 + <img w-6 h-6 src="/favicon.svg" alt="Vitest logo"> 26 26 <span font-light text-sm flex-1>Vitest</span> 27 27 <div class="flex text-lg"> 28 28 <IconButton
+22 -5
packages/ui/client/components/TasksList.vue
··· 22 22 }>() 23 23 24 24 const search = ref('') 25 + const searchBox = ref<HTMLInputElement | undefined>() 25 26 const isFiltered = computed(() => search.value.trim() !== '') 26 27 27 28 const matchTasks = (tasks: Task[], search: string): boolean => { ··· 63 64 && !skipped.value.includes(task), 64 65 )) 65 66 const throttledRunning = useThrottle(running, 250) 67 + 68 + const clearSearch = (focus: boolean) => { 69 + search.value = '' 70 + focus && searchBox.value?.focus() 71 + } 72 + const disableClearSearch = computed(() => { 73 + return search.value === '' 74 + }) 66 75 </script> 67 76 68 77 <script lang="ts"> ··· 78 87 <slot name="header" :filteredTests="isFiltered ? filteredTests : undefined" /> 79 88 </div> 80 89 <div 81 - p="x3 y2" 90 + p="l3 y2 r2" 82 91 flex="~ gap-2" 83 92 items-center 84 93 bg-header 85 94 border="b-2 base" 86 95 > 87 - <div i-carbon:search flex-shrink-0 /> 96 + <div class="i-carbon:search" flex-shrink-0 /> 88 97 <input 98 + ref="searchBox" 89 99 v-model="search" 90 100 placeholder="Search..." 91 101 outline="none" ··· 95 105 flex-1 96 106 pl-1 97 107 :op="search.length ? '100' : '50'" 98 - @keydown.esc="search = ''" 108 + @keydown.esc="clearSearch(false)" 99 109 @keydown.enter="emit('run', isFiltered ? filteredTests : undefined)" 100 110 > 111 + <IconButton 112 + v-tooltip.bottom="'Clear search'" 113 + :disabled="disableClearSearch" 114 + title="Clear search" 115 + icon="i-carbon:filter-remove" 116 + @click.passive="clearSearch(true)" 117 + /> 101 118 </div> 102 119 </div> 103 120 ··· 153 170 </DetailsPanel> 154 171 <DetailsPanel v-if="skipped.length"> 155 172 <template #summary> 156 - <div text-purple5:50> 173 + <div class="text-purple5:50"> 157 174 SKIP ({{ skipped.length }}) 158 175 </div> 159 176 </template> ··· 194 211 border="~ gray-400/50 rounded" 195 212 p="x2 y0.5" 196 213 m="t2" 197 - @click="search = ''" 214 + @click.passive="clearSearch(true)" 198 215 > 199 216 Clear 200 217 </button>
+3
packages/ui/client/composables/codemirror.ts
··· 7 7 // import 'codemirror/mode/htmlmixed/htmlmixed' 8 8 import 'codemirror/mode/jsx/jsx' 9 9 import 'codemirror/addon/display/placeholder' 10 + import 'codemirror/addon/scroll/simplescrollbars' 11 + import 'codemirror/addon/scroll/simplescrollbars.css' 10 12 11 13 export function useCodeMirror( 12 14 textarea: Ref<HTMLTextAreaElement | null | undefined>, ··· 18 20 { 19 21 theme: 'vars', 20 22 ...options, 23 + scrollbarStyle: 'simple', 21 24 }, 22 25 ) 23 26
+47 -24
packages/ui/client/styles/main.css
··· 113 113 114 114 .splitpanes--vertical > .splitpanes__splitter:before { 115 115 /* make vertical scroll usable */ 116 - left: -10px; 116 + left: 0; 117 117 right: -10px; 118 118 height: 100%; 119 119 } 120 120 121 121 .splitpanes--horizontal > .splitpanes__splitter:before { 122 - top: -10px; 122 + top: 0; 123 123 bottom: -10px; 124 124 width: 100%; 125 125 } ··· 128 128 transition: none !important; 129 129 height: 100%; 130 130 } 131 + 132 + /* CODEMIRROR SCROLLS */ 131 133 .CodeMirror-scroll::-webkit-scrollbar, 132 - .scrolls::-webkit-scrollbar { 133 - width: 8px; 134 - height: 8px; 134 + .codemirror-scrolls::-webkit-scrollbar { 135 + display: none; 135 136 } 136 - .CodeMirror-scroll, 137 - .scrolls { 137 + .codemirror-scrolls { 138 138 overflow: auto !important; 139 139 scrollbar-width: thin; 140 140 scrollbar-color: var(--cm-ttc-c-thumb) var(--cm-ttc-c-track); 141 141 } 142 - .CodeMirror-scroll::-webkit-scrollbar-track, 143 - .scrolls::-webkit-scrollbar-track { 144 - background: var(--cm-ttc-c-track); 142 + /* the horizontal/vertical background */ 143 + .CodeMirror-simplescroll-horizontal, 144 + .CodeMirror-simplescroll-vertical { 145 + background-color: var(--cm-ttc-c-track) !important; 146 + border: none !important; 145 147 } 146 - .CodeMirror-scroll::-webkit-scrollbar-thumb, 147 - .scrolls::-webkit-scrollbar-thumb { 148 - background-color: var(--cm-ttc-c-thumb); 149 - border: 2px solid var(--cm-ttc-c-thumb); 148 + /* the horizontal/vertical bubble background */ 149 + .CodeMirror-simplescroll-horizontal div, 150 + .CodeMirror-simplescroll-vertical div { 151 + background-color: var(--cm-ttc-c-thumb) !important; 152 + border: none !important; 150 153 } 151 - .CodeMirror-scroll::-webkit-scrollbar-thumb, 152 - .scrolls::-webkit-scrollbar-thumb, 153 - .scrolls-rounded::-webkit-scrollbar-track { 154 - border-radius: 3px; 155 - } 156 - .CodeMirror-scroll::-webkit-scrollbar-corner, 157 - .scrolls::-webkit-scrollbar-corner { 158 - background-color: var(--cm-ttc-c-track); 154 + /* the right bottom corner background*/ 155 + .CodeMirror-scrollbar-filler, 156 + .CodeMirror-gutter-filler { 157 + background-color: var(--cm-ttc-c-track) !important; 159 158 } 160 159 .CodeMirror { 161 160 overflow: unset !important; ··· 169 168 margin-right: unset !important; 170 169 padding-bottom: unset !important; 171 170 } 172 - .CodeMirror-sizer { 173 - border-right: none; 171 + /* END CODEMIRROR SCROLLS */ 172 + 173 + /* SCROLLS */ 174 + .scrolls::-webkit-scrollbar { 175 + width: 8px; 176 + height: 8px; 174 177 } 178 + .scrolls { 179 + overflow: auto !important; 180 + scrollbar-width: thin; 181 + scrollbar-color: var(--cm-ttc-c-thumb) var(--cm-ttc-c-track); 182 + } 183 + .scrolls::-webkit-scrollbar-track { 184 + background: var(--cm-ttc-c-track); 185 + } 186 + .scrolls::-webkit-scrollbar-thumb { 187 + background-color: var(--cm-ttc-c-thumb); 188 + border: 2px solid var(--cm-ttc-c-thumb); 189 + } 190 + .scrolls::-webkit-scrollbar-thumb, 191 + .scrolls-rounded::-webkit-scrollbar-track { 192 + border-radius: 3px; 193 + } 194 + .scrolls::-webkit-scrollbar-corner { 195 + background-color: var(--cm-ttc-c-track); 196 + } 197 + /* END SCROLLS */ 175 198 176 199 .v-popper__popper .v-popper__inner { 177 200 font-size: 12px;
+5 -1
packages/ui/client/components/views/ViewEditor.vue
··· 40 40 listeners.length = 0 41 41 } 42 42 43 + useResizeObserver(editor, () => { 44 + cm.value?.refresh() 45 + }) 46 + 43 47 watch([cm, failed], () => { 44 48 if (!cm.value) { 45 49 clearListeners() ··· 65 69 pre.textContent = `${' '.repeat(pos.column)}^ ${e?.nameStr}: ${e?.message}` 66 70 div.appendChild(pre) 67 71 const span = document.createElement('span') 68 - span.className = 'i-carbon-launch c-red-600 dark:c-red-400 hover:cursor-pointer' 72 + span.className = 'i-carbon-launch c-red-600 dark:c-red-400 hover:cursor-pointer min-w-1em min-h-1em' 69 73 span.tabIndex = 0 70 74 span.ariaLabel = 'Open in Editor' 71 75 const tooltip = createTooltip(span, {
+1 -1
packages/ui/client/components/views/ViewReport.vue
··· 43 43 <div 44 44 v-if="shouldOpenInEditor(efile, props.file?.name)" 45 45 v-tooltip.bottom="'Open in Editor'" 46 - class="i-carbon-launch c-red-600 dark:c-red-400 hover:cursor-pointer" 46 + class="i-carbon-launch c-red-600 dark:c-red-400 hover:cursor-pointer min-w-1em min-h-1em" 47 47 tabindex="0" 48 48 aria-label="Open in Editor" 49 49 @click.passive="openInEditor(efile, line, column)"