@monorepolint/utils 0.6.0-alpha.1 → 0.6.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-clean.log +1 -1
- package/.turbo/turbo-compile-typescript.log +1 -1
- package/.turbo/turbo-lint.log +1 -1
- package/.turbo/turbo-test.log +32 -23
- package/.turbo/turbo-transpile-typescript.log +5 -5
- package/CHANGELOG.md +26 -0
- package/build/js/index.js +10 -19
- package/build/js/index.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/types/CachingHost.d.ts +0 -2
- package/build/types/CachingHost.d.ts.map +1 -1
- package/build/types/Host.d.ts +0 -1
- package/build/types/Host.d.ts.map +1 -1
- package/build/types/SimpleHost.d.ts +0 -2
- package/build/types/SimpleHost.d.ts.map +1 -1
- package/coverage/AggregateTiming.ts.html +295 -0
- package/coverage/CachingHost.ts.html +1570 -0
- package/coverage/Host.ts.html +187 -0
- package/coverage/PackageJson.ts.html +151 -0
- package/coverage/SimpleHost.ts.html +253 -0
- package/coverage/Table.ts.html +1039 -0
- package/coverage/Timing.ts.html +247 -0
- package/coverage/base.css +224 -0
- package/coverage/block-navigation.js +87 -0
- package/coverage/clover.xml +1128 -0
- package/coverage/coverage-final.json +15 -0
- package/coverage/favicon.png +0 -0
- package/coverage/findWorkspaceDir.ts.html +223 -0
- package/coverage/getPackageNameToDir.ts.html +187 -0
- package/coverage/getWorkspacePackageDirs.ts.html +295 -0
- package/coverage/index.html +311 -0
- package/coverage/index.ts.html +145 -0
- package/coverage/matchesAnyGlob.ts.html +523 -0
- package/coverage/mutateJson.ts.html +124 -0
- package/coverage/nanosecondsToSanity.ts.html +115 -0
- package/coverage/prettify.css +1 -0
- package/coverage/prettify.js +2 -0
- package/coverage/sort-arrow-sprite.png +0 -0
- package/coverage/sorter.js +196 -0
- package/package.json +13 -17
- package/src/CachingHost.ts +4 -0
- package/src/__tests__/CachingHost.spec.ts +1 -1
- package/src/getWorkspacePackageDirs.ts +1 -1
- package/vitest.config.mjs +14 -0
- package/vitest.config.mjs.timestamp-1736878329730-aa478e2241542.mjs +18 -0
- package/jest.config.cjs +0 -4
|
@@ -0,0 +1,523 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for matchesAnyGlob.ts</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<link rel="stylesheet" href="prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="index.html">All files</a> matchesAnyGlob.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">100% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>136/136</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>0/0</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>0/0</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">100% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>136/136</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
|
+
<pre><table class="coverage">
|
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a>
|
|
80
|
+
<a name='L15'></a><a href='#L15'>15</a>
|
|
81
|
+
<a name='L16'></a><a href='#L16'>16</a>
|
|
82
|
+
<a name='L17'></a><a href='#L17'>17</a>
|
|
83
|
+
<a name='L18'></a><a href='#L18'>18</a>
|
|
84
|
+
<a name='L19'></a><a href='#L19'>19</a>
|
|
85
|
+
<a name='L20'></a><a href='#L20'>20</a>
|
|
86
|
+
<a name='L21'></a><a href='#L21'>21</a>
|
|
87
|
+
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
|
+
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
|
+
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
+
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
+
<a name='L26'></a><a href='#L26'>26</a>
|
|
92
|
+
<a name='L27'></a><a href='#L27'>27</a>
|
|
93
|
+
<a name='L28'></a><a href='#L28'>28</a>
|
|
94
|
+
<a name='L29'></a><a href='#L29'>29</a>
|
|
95
|
+
<a name='L30'></a><a href='#L30'>30</a>
|
|
96
|
+
<a name='L31'></a><a href='#L31'>31</a>
|
|
97
|
+
<a name='L32'></a><a href='#L32'>32</a>
|
|
98
|
+
<a name='L33'></a><a href='#L33'>33</a>
|
|
99
|
+
<a name='L34'></a><a href='#L34'>34</a>
|
|
100
|
+
<a name='L35'></a><a href='#L35'>35</a>
|
|
101
|
+
<a name='L36'></a><a href='#L36'>36</a>
|
|
102
|
+
<a name='L37'></a><a href='#L37'>37</a>
|
|
103
|
+
<a name='L38'></a><a href='#L38'>38</a>
|
|
104
|
+
<a name='L39'></a><a href='#L39'>39</a>
|
|
105
|
+
<a name='L40'></a><a href='#L40'>40</a>
|
|
106
|
+
<a name='L41'></a><a href='#L41'>41</a>
|
|
107
|
+
<a name='L42'></a><a href='#L42'>42</a>
|
|
108
|
+
<a name='L43'></a><a href='#L43'>43</a>
|
|
109
|
+
<a name='L44'></a><a href='#L44'>44</a>
|
|
110
|
+
<a name='L45'></a><a href='#L45'>45</a>
|
|
111
|
+
<a name='L46'></a><a href='#L46'>46</a>
|
|
112
|
+
<a name='L47'></a><a href='#L47'>47</a>
|
|
113
|
+
<a name='L48'></a><a href='#L48'>48</a>
|
|
114
|
+
<a name='L49'></a><a href='#L49'>49</a>
|
|
115
|
+
<a name='L50'></a><a href='#L50'>50</a>
|
|
116
|
+
<a name='L51'></a><a href='#L51'>51</a>
|
|
117
|
+
<a name='L52'></a><a href='#L52'>52</a>
|
|
118
|
+
<a name='L53'></a><a href='#L53'>53</a>
|
|
119
|
+
<a name='L54'></a><a href='#L54'>54</a>
|
|
120
|
+
<a name='L55'></a><a href='#L55'>55</a>
|
|
121
|
+
<a name='L56'></a><a href='#L56'>56</a>
|
|
122
|
+
<a name='L57'></a><a href='#L57'>57</a>
|
|
123
|
+
<a name='L58'></a><a href='#L58'>58</a>
|
|
124
|
+
<a name='L59'></a><a href='#L59'>59</a>
|
|
125
|
+
<a name='L60'></a><a href='#L60'>60</a>
|
|
126
|
+
<a name='L61'></a><a href='#L61'>61</a>
|
|
127
|
+
<a name='L62'></a><a href='#L62'>62</a>
|
|
128
|
+
<a name='L63'></a><a href='#L63'>63</a>
|
|
129
|
+
<a name='L64'></a><a href='#L64'>64</a>
|
|
130
|
+
<a name='L65'></a><a href='#L65'>65</a>
|
|
131
|
+
<a name='L66'></a><a href='#L66'>66</a>
|
|
132
|
+
<a name='L67'></a><a href='#L67'>67</a>
|
|
133
|
+
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
|
+
<a name='L69'></a><a href='#L69'>69</a>
|
|
135
|
+
<a name='L70'></a><a href='#L70'>70</a>
|
|
136
|
+
<a name='L71'></a><a href='#L71'>71</a>
|
|
137
|
+
<a name='L72'></a><a href='#L72'>72</a>
|
|
138
|
+
<a name='L73'></a><a href='#L73'>73</a>
|
|
139
|
+
<a name='L74'></a><a href='#L74'>74</a>
|
|
140
|
+
<a name='L75'></a><a href='#L75'>75</a>
|
|
141
|
+
<a name='L76'></a><a href='#L76'>76</a>
|
|
142
|
+
<a name='L77'></a><a href='#L77'>77</a>
|
|
143
|
+
<a name='L78'></a><a href='#L78'>78</a>
|
|
144
|
+
<a name='L79'></a><a href='#L79'>79</a>
|
|
145
|
+
<a name='L80'></a><a href='#L80'>80</a>
|
|
146
|
+
<a name='L81'></a><a href='#L81'>81</a>
|
|
147
|
+
<a name='L82'></a><a href='#L82'>82</a>
|
|
148
|
+
<a name='L83'></a><a href='#L83'>83</a>
|
|
149
|
+
<a name='L84'></a><a href='#L84'>84</a>
|
|
150
|
+
<a name='L85'></a><a href='#L85'>85</a>
|
|
151
|
+
<a name='L86'></a><a href='#L86'>86</a>
|
|
152
|
+
<a name='L87'></a><a href='#L87'>87</a>
|
|
153
|
+
<a name='L88'></a><a href='#L88'>88</a>
|
|
154
|
+
<a name='L89'></a><a href='#L89'>89</a>
|
|
155
|
+
<a name='L90'></a><a href='#L90'>90</a>
|
|
156
|
+
<a name='L91'></a><a href='#L91'>91</a>
|
|
157
|
+
<a name='L92'></a><a href='#L92'>92</a>
|
|
158
|
+
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
|
+
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
|
+
<a name='L95'></a><a href='#L95'>95</a>
|
|
161
|
+
<a name='L96'></a><a href='#L96'>96</a>
|
|
162
|
+
<a name='L97'></a><a href='#L97'>97</a>
|
|
163
|
+
<a name='L98'></a><a href='#L98'>98</a>
|
|
164
|
+
<a name='L99'></a><a href='#L99'>99</a>
|
|
165
|
+
<a name='L100'></a><a href='#L100'>100</a>
|
|
166
|
+
<a name='L101'></a><a href='#L101'>101</a>
|
|
167
|
+
<a name='L102'></a><a href='#L102'>102</a>
|
|
168
|
+
<a name='L103'></a><a href='#L103'>103</a>
|
|
169
|
+
<a name='L104'></a><a href='#L104'>104</a>
|
|
170
|
+
<a name='L105'></a><a href='#L105'>105</a>
|
|
171
|
+
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
|
+
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
|
+
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
+
<a name='L109'></a><a href='#L109'>109</a>
|
|
175
|
+
<a name='L110'></a><a href='#L110'>110</a>
|
|
176
|
+
<a name='L111'></a><a href='#L111'>111</a>
|
|
177
|
+
<a name='L112'></a><a href='#L112'>112</a>
|
|
178
|
+
<a name='L113'></a><a href='#L113'>113</a>
|
|
179
|
+
<a name='L114'></a><a href='#L114'>114</a>
|
|
180
|
+
<a name='L115'></a><a href='#L115'>115</a>
|
|
181
|
+
<a name='L116'></a><a href='#L116'>116</a>
|
|
182
|
+
<a name='L117'></a><a href='#L117'>117</a>
|
|
183
|
+
<a name='L118'></a><a href='#L118'>118</a>
|
|
184
|
+
<a name='L119'></a><a href='#L119'>119</a>
|
|
185
|
+
<a name='L120'></a><a href='#L120'>120</a>
|
|
186
|
+
<a name='L121'></a><a href='#L121'>121</a>
|
|
187
|
+
<a name='L122'></a><a href='#L122'>122</a>
|
|
188
|
+
<a name='L123'></a><a href='#L123'>123</a>
|
|
189
|
+
<a name='L124'></a><a href='#L124'>124</a>
|
|
190
|
+
<a name='L125'></a><a href='#L125'>125</a>
|
|
191
|
+
<a name='L126'></a><a href='#L126'>126</a>
|
|
192
|
+
<a name='L127'></a><a href='#L127'>127</a>
|
|
193
|
+
<a name='L128'></a><a href='#L128'>128</a>
|
|
194
|
+
<a name='L129'></a><a href='#L129'>129</a>
|
|
195
|
+
<a name='L130'></a><a href='#L130'>130</a>
|
|
196
|
+
<a name='L131'></a><a href='#L131'>131</a>
|
|
197
|
+
<a name='L132'></a><a href='#L132'>132</a>
|
|
198
|
+
<a name='L133'></a><a href='#L133'>133</a>
|
|
199
|
+
<a name='L134'></a><a href='#L134'>134</a>
|
|
200
|
+
<a name='L135'></a><a href='#L135'>135</a>
|
|
201
|
+
<a name='L136'></a><a href='#L136'>136</a>
|
|
202
|
+
<a name='L137'></a><a href='#L137'>137</a>
|
|
203
|
+
<a name='L138'></a><a href='#L138'>138</a>
|
|
204
|
+
<a name='L139'></a><a href='#L139'>139</a>
|
|
205
|
+
<a name='L140'></a><a href='#L140'>140</a>
|
|
206
|
+
<a name='L141'></a><a href='#L141'>141</a>
|
|
207
|
+
<a name='L142'></a><a href='#L142'>142</a>
|
|
208
|
+
<a name='L143'></a><a href='#L143'>143</a>
|
|
209
|
+
<a name='L144'></a><a href='#L144'>144</a>
|
|
210
|
+
<a name='L145'></a><a href='#L145'>145</a>
|
|
211
|
+
<a name='L146'></a><a href='#L146'>146</a>
|
|
212
|
+
<a name='L147'></a><a href='#L147'>147</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
213
|
+
<span class="cline-any cline-neutral"> </span>
|
|
214
|
+
<span class="cline-any cline-neutral"> </span>
|
|
215
|
+
<span class="cline-any cline-neutral"> </span>
|
|
216
|
+
<span class="cline-any cline-neutral"> </span>
|
|
217
|
+
<span class="cline-any cline-neutral"> </span>
|
|
218
|
+
<span class="cline-any cline-neutral"> </span>
|
|
219
|
+
<span class="cline-any cline-yes">1x</span>
|
|
220
|
+
<span class="cline-any cline-yes">1x</span>
|
|
221
|
+
<span class="cline-any cline-yes">1x</span>
|
|
222
|
+
<span class="cline-any cline-yes">1x</span>
|
|
223
|
+
<span class="cline-any cline-yes">1x</span>
|
|
224
|
+
<span class="cline-any cline-yes">1x</span>
|
|
225
|
+
<span class="cline-any cline-yes">1x</span>
|
|
226
|
+
<span class="cline-any cline-yes">1x</span>
|
|
227
|
+
<span class="cline-any cline-yes">1x</span>
|
|
228
|
+
<span class="cline-any cline-yes">1x</span>
|
|
229
|
+
<span class="cline-any cline-yes">1x</span>
|
|
230
|
+
<span class="cline-any cline-yes">1x</span>
|
|
231
|
+
<span class="cline-any cline-yes">1x</span>
|
|
232
|
+
<span class="cline-any cline-yes">1x</span>
|
|
233
|
+
<span class="cline-any cline-yes">1x</span>
|
|
234
|
+
<span class="cline-any cline-yes">1x</span>
|
|
235
|
+
<span class="cline-any cline-yes">1x</span>
|
|
236
|
+
<span class="cline-any cline-yes">1x</span>
|
|
237
|
+
<span class="cline-any cline-yes">1x</span>
|
|
238
|
+
<span class="cline-any cline-yes">1x</span>
|
|
239
|
+
<span class="cline-any cline-yes">1x</span>
|
|
240
|
+
<span class="cline-any cline-yes">1x</span>
|
|
241
|
+
<span class="cline-any cline-yes">1x</span>
|
|
242
|
+
<span class="cline-any cline-yes">1x</span>
|
|
243
|
+
<span class="cline-any cline-yes">1x</span>
|
|
244
|
+
<span class="cline-any cline-yes">1x</span>
|
|
245
|
+
<span class="cline-any cline-yes">1x</span>
|
|
246
|
+
<span class="cline-any cline-yes">1x</span>
|
|
247
|
+
<span class="cline-any cline-yes">1x</span>
|
|
248
|
+
<span class="cline-any cline-yes">1x</span>
|
|
249
|
+
<span class="cline-any cline-yes">1x</span>
|
|
250
|
+
<span class="cline-any cline-yes">1x</span>
|
|
251
|
+
<span class="cline-any cline-yes">1x</span>
|
|
252
|
+
<span class="cline-any cline-yes">1x</span>
|
|
253
|
+
<span class="cline-any cline-yes">1x</span>
|
|
254
|
+
<span class="cline-any cline-yes">1x</span>
|
|
255
|
+
<span class="cline-any cline-yes">1x</span>
|
|
256
|
+
<span class="cline-any cline-yes">1x</span>
|
|
257
|
+
<span class="cline-any cline-yes">1x</span>
|
|
258
|
+
<span class="cline-any cline-yes">1x</span>
|
|
259
|
+
<span class="cline-any cline-yes">1x</span>
|
|
260
|
+
<span class="cline-any cline-yes">1x</span>
|
|
261
|
+
<span class="cline-any cline-yes">1x</span>
|
|
262
|
+
<span class="cline-any cline-yes">1x</span>
|
|
263
|
+
<span class="cline-any cline-yes">1x</span>
|
|
264
|
+
<span class="cline-any cline-yes">1x</span>
|
|
265
|
+
<span class="cline-any cline-yes">1x</span>
|
|
266
|
+
<span class="cline-any cline-yes">1x</span>
|
|
267
|
+
<span class="cline-any cline-yes">1x</span>
|
|
268
|
+
<span class="cline-any cline-yes">1x</span>
|
|
269
|
+
<span class="cline-any cline-yes">1x</span>
|
|
270
|
+
<span class="cline-any cline-yes">1x</span>
|
|
271
|
+
<span class="cline-any cline-yes">1x</span>
|
|
272
|
+
<span class="cline-any cline-yes">1x</span>
|
|
273
|
+
<span class="cline-any cline-yes">1x</span>
|
|
274
|
+
<span class="cline-any cline-yes">1x</span>
|
|
275
|
+
<span class="cline-any cline-yes">1x</span>
|
|
276
|
+
<span class="cline-any cline-yes">1x</span>
|
|
277
|
+
<span class="cline-any cline-yes">1x</span>
|
|
278
|
+
<span class="cline-any cline-yes">1x</span>
|
|
279
|
+
<span class="cline-any cline-yes">1x</span>
|
|
280
|
+
<span class="cline-any cline-yes">1x</span>
|
|
281
|
+
<span class="cline-any cline-yes">1x</span>
|
|
282
|
+
<span class="cline-any cline-yes">1x</span>
|
|
283
|
+
<span class="cline-any cline-yes">1x</span>
|
|
284
|
+
<span class="cline-any cline-yes">1x</span>
|
|
285
|
+
<span class="cline-any cline-yes">1x</span>
|
|
286
|
+
<span class="cline-any cline-yes">1x</span>
|
|
287
|
+
<span class="cline-any cline-yes">1x</span>
|
|
288
|
+
<span class="cline-any cline-yes">1x</span>
|
|
289
|
+
<span class="cline-any cline-yes">1x</span>
|
|
290
|
+
<span class="cline-any cline-yes">1x</span>
|
|
291
|
+
<span class="cline-any cline-yes">1x</span>
|
|
292
|
+
<span class="cline-any cline-yes">1x</span>
|
|
293
|
+
<span class="cline-any cline-yes">1x</span>
|
|
294
|
+
<span class="cline-any cline-yes">1x</span>
|
|
295
|
+
<span class="cline-any cline-yes">1x</span>
|
|
296
|
+
<span class="cline-any cline-yes">1x</span>
|
|
297
|
+
<span class="cline-any cline-yes">1x</span>
|
|
298
|
+
<span class="cline-any cline-yes">1x</span>
|
|
299
|
+
<span class="cline-any cline-yes">1x</span>
|
|
300
|
+
<span class="cline-any cline-yes">1x</span>
|
|
301
|
+
<span class="cline-any cline-yes">1x</span>
|
|
302
|
+
<span class="cline-any cline-yes">1x</span>
|
|
303
|
+
<span class="cline-any cline-yes">1x</span>
|
|
304
|
+
<span class="cline-any cline-yes">1x</span>
|
|
305
|
+
<span class="cline-any cline-yes">1x</span>
|
|
306
|
+
<span class="cline-any cline-yes">1x</span>
|
|
307
|
+
<span class="cline-any cline-yes">1x</span>
|
|
308
|
+
<span class="cline-any cline-yes">1x</span>
|
|
309
|
+
<span class="cline-any cline-yes">1x</span>
|
|
310
|
+
<span class="cline-any cline-yes">1x</span>
|
|
311
|
+
<span class="cline-any cline-yes">1x</span>
|
|
312
|
+
<span class="cline-any cline-yes">1x</span>
|
|
313
|
+
<span class="cline-any cline-yes">1x</span>
|
|
314
|
+
<span class="cline-any cline-yes">1x</span>
|
|
315
|
+
<span class="cline-any cline-yes">1x</span>
|
|
316
|
+
<span class="cline-any cline-yes">1x</span>
|
|
317
|
+
<span class="cline-any cline-yes">1x</span>
|
|
318
|
+
<span class="cline-any cline-yes">1x</span>
|
|
319
|
+
<span class="cline-any cline-yes">1x</span>
|
|
320
|
+
<span class="cline-any cline-yes">1x</span>
|
|
321
|
+
<span class="cline-any cline-yes">1x</span>
|
|
322
|
+
<span class="cline-any cline-yes">1x</span>
|
|
323
|
+
<span class="cline-any cline-yes">1x</span>
|
|
324
|
+
<span class="cline-any cline-yes">1x</span>
|
|
325
|
+
<span class="cline-any cline-yes">1x</span>
|
|
326
|
+
<span class="cline-any cline-yes">1x</span>
|
|
327
|
+
<span class="cline-any cline-neutral"> </span>
|
|
328
|
+
<span class="cline-any cline-yes">1x</span>
|
|
329
|
+
<span class="cline-any cline-neutral"> </span>
|
|
330
|
+
<span class="cline-any cline-yes">1x</span>
|
|
331
|
+
<span class="cline-any cline-yes">1x</span>
|
|
332
|
+
<span class="cline-any cline-neutral"> </span>
|
|
333
|
+
<span class="cline-any cline-yes">1x</span>
|
|
334
|
+
<span class="cline-any cline-yes">1x</span>
|
|
335
|
+
<span class="cline-any cline-yes">1x</span>
|
|
336
|
+
<span class="cline-any cline-yes">1x</span>
|
|
337
|
+
<span class="cline-any cline-yes">1x</span>
|
|
338
|
+
<span class="cline-any cline-yes">1x</span>
|
|
339
|
+
<span class="cline-any cline-yes">1x</span>
|
|
340
|
+
<span class="cline-any cline-neutral"> </span>
|
|
341
|
+
<span class="cline-any cline-yes">1x</span>
|
|
342
|
+
<span class="cline-any cline-yes">1x</span>
|
|
343
|
+
<span class="cline-any cline-yes">1x</span>
|
|
344
|
+
<span class="cline-any cline-yes">1x</span>
|
|
345
|
+
<span class="cline-any cline-yes">1x</span>
|
|
346
|
+
<span class="cline-any cline-yes">1x</span>
|
|
347
|
+
<span class="cline-any cline-yes">1x</span>
|
|
348
|
+
<span class="cline-any cline-yes">1x</span>
|
|
349
|
+
<span class="cline-any cline-yes">1x</span>
|
|
350
|
+
<span class="cline-any cline-yes">1x</span>
|
|
351
|
+
<span class="cline-any cline-yes">1x</span>
|
|
352
|
+
<span class="cline-any cline-yes">1x</span>
|
|
353
|
+
<span class="cline-any cline-yes">1x</span>
|
|
354
|
+
<span class="cline-any cline-yes">1x</span>
|
|
355
|
+
<span class="cline-any cline-yes">1x</span>
|
|
356
|
+
<span class="cline-any cline-yes">1x</span>
|
|
357
|
+
<span class="cline-any cline-yes">1x</span>
|
|
358
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">/*!
|
|
359
|
+
* Copyright 2022 Palantir Technologies, Inc.
|
|
360
|
+
*
|
|
361
|
+
* Licensed under the MIT license. See LICENSE file in the project root for details.
|
|
362
|
+
*
|
|
363
|
+
*/
|
|
364
|
+
|
|
365
|
+
import micromatch from "micromatch";
|
|
366
|
+
import { nanosecondsToSanity } from "./nanosecondsToSanity.js";
|
|
367
|
+
import { Table } from "./Table.js";
|
|
368
|
+
// This file requires a LOT of caching to be performant. We have three layers to avoid work.
|
|
369
|
+
|
|
370
|
+
/**
|
|
371
|
+
* Multimap cache of whether a needle was found in the glob haystack. Short circuits many
|
|
372
|
+
* individual checks against the globs.
|
|
373
|
+
*/
|
|
374
|
+
const cache = new Map</* haystack */ readonly string[], Map</* needle */ string, /* result */ boolean>>();
|
|
375
|
+
|
|
376
|
+
/**
|
|
377
|
+
* Multimap cache of whether a needle matches a glob. Allows us to avoid regexp's.
|
|
378
|
+
*/
|
|
379
|
+
const singleMatcherCache = new Map</* glob */ string, Map</* needle */ string, /* result*/ boolean>>();
|
|
380
|
+
|
|
381
|
+
/**
|
|
382
|
+
* Cache of glob to regular expression. Compiling the regular expression is expensive.
|
|
383
|
+
*/
|
|
384
|
+
const compiledGlobCache = new Map</* glob */ string, RegExp>();
|
|
385
|
+
|
|
386
|
+
let haystackMiss = 0;
|
|
387
|
+
let haystackHit = 0;
|
|
388
|
+
|
|
389
|
+
let matchTime = BigInt(0);
|
|
390
|
+
|
|
391
|
+
let singleMatcherHits = 0;
|
|
392
|
+
let singleMatcherMisses = 0;
|
|
393
|
+
let singleMatcherSaves = 0; // hits + hits you would have had if the haystack didn't save you
|
|
394
|
+
|
|
395
|
+
interface MatchesAnyGlob {
|
|
396
|
+
(needle: string, haystack: readonly string[]): boolean | undefined;
|
|
397
|
+
printStats?: () => void;
|
|
398
|
+
}
|
|
399
|
+
export const matchesAnyGlob: MatchesAnyGlob = function matchesAnyGlobFunc(needle: string, haystack: readonly string[]) {
|
|
400
|
+
matchTime -= process.hrtime.bigint();
|
|
401
|
+
|
|
402
|
+
let cacheForHaystack = cache.get(haystack);
|
|
403
|
+
if (cacheForHaystack === undefined) {
|
|
404
|
+
cacheForHaystack = new Map<string, boolean>();
|
|
405
|
+
cache.set(haystack, cacheForHaystack);
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
let result = cacheForHaystack!.get(needle);
|
|
409
|
+
if (result === undefined) {
|
|
410
|
+
haystackMiss++;
|
|
411
|
+
result = false;
|
|
412
|
+
for (const pattern of haystack) {
|
|
413
|
+
// result = needleInPattern(needle, pattern); // commented out as a reminder to update both
|
|
414
|
+
// BEGIN INLINE of needleInPattern
|
|
415
|
+
let patternCache = singleMatcherCache.get(pattern);
|
|
416
|
+
if (patternCache === undefined) {
|
|
417
|
+
patternCache = new Map<string, boolean>();
|
|
418
|
+
singleMatcherCache.set(pattern, patternCache);
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
// N.B. true/false/undefined
|
|
422
|
+
result = patternCache.get(needle); // only thing different from the inline is we need to reuse `result`
|
|
423
|
+
if (result === undefined) {
|
|
424
|
+
let regexp: RegExp | undefined | false = compiledGlobCache.get(pattern);
|
|
425
|
+
if (regexp === undefined) {
|
|
426
|
+
regexp = micromatch.makeRe(pattern);
|
|
427
|
+
// if (regexp === false) throw new Error("bad glob");
|
|
428
|
+
compiledGlobCache.set(pattern, regexp);
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
singleMatcherMisses++;
|
|
432
|
+
result = regexp.test(needle);
|
|
433
|
+
patternCache.set(needle, result);
|
|
434
|
+
} else {
|
|
435
|
+
singleMatcherHits++;
|
|
436
|
+
singleMatcherSaves++;
|
|
437
|
+
}
|
|
438
|
+
// END INLINE of needleInPattern
|
|
439
|
+
if (result) break;
|
|
440
|
+
}
|
|
441
|
+
cacheForHaystack!.set(needle, result);
|
|
442
|
+
} else {
|
|
443
|
+
singleMatcherSaves += haystack.length;
|
|
444
|
+
haystackHit++;
|
|
445
|
+
}
|
|
446
|
+
matchTime += process.hrtime.bigint();
|
|
447
|
+
return result;
|
|
448
|
+
};
|
|
449
|
+
|
|
450
|
+
matchesAnyGlob.printStats = () => {
|
|
451
|
+
const table = new Table<[string, string]>({
|
|
452
|
+
title: "matchesAnyGlob stats",
|
|
453
|
+
showHeader: true,
|
|
454
|
+
showFooter: false,
|
|
455
|
+
columns: [
|
|
456
|
+
{ header: "Stat", type: "string" },
|
|
457
|
+
{ header: "Value", type: "string" },
|
|
458
|
+
],
|
|
459
|
+
});
|
|
460
|
+
table.addRow("Haystack Miss", "" + haystackMiss);
|
|
461
|
+
table.addRow("Haystack Hit", "" + haystackHit);
|
|
462
|
+
table.addRow("Single Glob Hits", "" + singleMatcherHits);
|
|
463
|
+
table.addRow("Single Glob Misses", "" + singleMatcherMisses);
|
|
464
|
+
table.addRow("Single Glob Saves", "" + singleMatcherSaves);
|
|
465
|
+
table.addRow("Total Time", nanosecondsToSanity(matchTime, 6));
|
|
466
|
+
|
|
467
|
+
table.print();
|
|
468
|
+
};
|
|
469
|
+
|
|
470
|
+
/**
|
|
471
|
+
* @deprecated Don't use this directly. We manually inline it above
|
|
472
|
+
*/
|
|
473
|
+
export function needleInPattern(needle: string, pattern: string) {
|
|
474
|
+
// benchmark says the uncommented version is best
|
|
475
|
+
// https://jsben.ch/Y8TWs
|
|
476
|
+
|
|
477
|
+
// option 2
|
|
478
|
+
let patternCache = singleMatcherCache.get(pattern);
|
|
479
|
+
if (patternCache === undefined) {
|
|
480
|
+
patternCache = new Map<string, boolean>();
|
|
481
|
+
singleMatcherCache.set(pattern, patternCache);
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
// N.B. true/false/undefined
|
|
485
|
+
let result = patternCache.get(needle);
|
|
486
|
+
if (result === undefined) {
|
|
487
|
+
let regexp: RegExp | undefined | false = compiledGlobCache.get(pattern);
|
|
488
|
+
if (regexp === undefined) {
|
|
489
|
+
regexp = micromatch.makeRe(pattern);
|
|
490
|
+
// if (regexp === false) throw new Error("bad glob");
|
|
491
|
+
compiledGlobCache.set(pattern, regexp);
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
singleMatcherMisses++;
|
|
495
|
+
result = regexp.test(needle);
|
|
496
|
+
patternCache.set(needle, result);
|
|
497
|
+
} else {
|
|
498
|
+
singleMatcherHits++;
|
|
499
|
+
singleMatcherSaves++;
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
return result;
|
|
503
|
+
}
|
|
504
|
+
</pre></td></tr></table></pre>
|
|
505
|
+
|
|
506
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
507
|
+
</div><!-- /wrapper -->
|
|
508
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
509
|
+
Code coverage generated by
|
|
510
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
511
|
+
at 2025-01-17T16:18:31.005Z
|
|
512
|
+
</div>
|
|
513
|
+
<script src="prettify.js"></script>
|
|
514
|
+
<script>
|
|
515
|
+
window.onload = function () {
|
|
516
|
+
prettyPrint();
|
|
517
|
+
};
|
|
518
|
+
</script>
|
|
519
|
+
<script src="sorter.js"></script>
|
|
520
|
+
<script src="block-navigation.js"></script>
|
|
521
|
+
</body>
|
|
522
|
+
</html>
|
|
523
|
+
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for mutateJson.ts</title>
|
|
7
|
+
<meta charset="utf-8" />
|
|
8
|
+
<link rel="stylesheet" href="prettify.css" />
|
|
9
|
+
<link rel="stylesheet" href="base.css" />
|
|
10
|
+
<link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
|
|
11
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
12
|
+
<style type='text/css'>
|
|
13
|
+
.coverage-summary .sorter {
|
|
14
|
+
background-image: url(sort-arrow-sprite.png);
|
|
15
|
+
}
|
|
16
|
+
</style>
|
|
17
|
+
</head>
|
|
18
|
+
|
|
19
|
+
<body>
|
|
20
|
+
<div class='wrapper'>
|
|
21
|
+
<div class='pad1'>
|
|
22
|
+
<h1><a href="index.html">All files</a> mutateJson.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">100% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>7/7</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>0/0</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>0/0</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">100% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>7/7</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
<p class="quiet">
|
|
55
|
+
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
|
|
56
|
+
</p>
|
|
57
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
|
+
<pre><table class="coverage">
|
|
66
|
+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
|
+
<a name='L2'></a><a href='#L2'>2</a>
|
|
68
|
+
<a name='L3'></a><a href='#L3'>3</a>
|
|
69
|
+
<a name='L4'></a><a href='#L4'>4</a>
|
|
70
|
+
<a name='L5'></a><a href='#L5'>5</a>
|
|
71
|
+
<a name='L6'></a><a href='#L6'>6</a>
|
|
72
|
+
<a name='L7'></a><a href='#L7'>7</a>
|
|
73
|
+
<a name='L8'></a><a href='#L8'>8</a>
|
|
74
|
+
<a name='L9'></a><a href='#L9'>9</a>
|
|
75
|
+
<a name='L10'></a><a href='#L10'>10</a>
|
|
76
|
+
<a name='L11'></a><a href='#L11'>11</a>
|
|
77
|
+
<a name='L12'></a><a href='#L12'>12</a>
|
|
78
|
+
<a name='L13'></a><a href='#L13'>13</a>
|
|
79
|
+
<a name='L14'></a><a href='#L14'>14</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
80
|
+
<span class="cline-any cline-neutral"> </span>
|
|
81
|
+
<span class="cline-any cline-neutral"> </span>
|
|
82
|
+
<span class="cline-any cline-neutral"> </span>
|
|
83
|
+
<span class="cline-any cline-neutral"> </span>
|
|
84
|
+
<span class="cline-any cline-neutral"> </span>
|
|
85
|
+
<span class="cline-any cline-neutral"> </span>
|
|
86
|
+
<span class="cline-any cline-yes">1x</span>
|
|
87
|
+
<span class="cline-any cline-yes">1x</span>
|
|
88
|
+
<span class="cline-any cline-yes">1x</span>
|
|
89
|
+
<span class="cline-any cline-yes">1x</span>
|
|
90
|
+
<span class="cline-any cline-yes">1x</span>
|
|
91
|
+
<span class="cline-any cline-yes">1x</span>
|
|
92
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">/*!
|
|
93
|
+
* Copyright 2019 Palantir Technologies, Inc.
|
|
94
|
+
*
|
|
95
|
+
* Licensed under the MIT license. See LICENSE file in the project root for details.
|
|
96
|
+
*
|
|
97
|
+
*/
|
|
98
|
+
|
|
99
|
+
import { Host } from "./Host.js";
|
|
100
|
+
export function mutateJson<T extends object>(path: string, host: Host, mutator: (f: T) => T) {
|
|
101
|
+
let file = host.readJson(path) as T;
|
|
102
|
+
file = mutator(file);
|
|
103
|
+
host.writeJson(path, file);
|
|
104
|
+
}
|
|
105
|
+
</pre></td></tr></table></pre>
|
|
106
|
+
|
|
107
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
108
|
+
</div><!-- /wrapper -->
|
|
109
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
110
|
+
Code coverage generated by
|
|
111
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
112
|
+
at 2025-01-17T16:18:31.005Z
|
|
113
|
+
</div>
|
|
114
|
+
<script src="prettify.js"></script>
|
|
115
|
+
<script>
|
|
116
|
+
window.onload = function () {
|
|
117
|
+
prettyPrint();
|
|
118
|
+
};
|
|
119
|
+
</script>
|
|
120
|
+
<script src="sorter.js"></script>
|
|
121
|
+
<script src="block-navigation.js"></script>
|
|
122
|
+
</body>
|
|
123
|
+
</html>
|
|
124
|
+
|