@rnx-kit/cli 0.15.1 → 0.15.3
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/CHANGELOG.md +15 -0
- package/coverage/clover.xml +23 -115
- package/coverage/coverage-final.json +1 -2
- package/coverage/lcov-report/index.html +20 -35
- package/coverage/lcov-report/src/bundle/defaultPlugins.ts.html +1 -1
- package/coverage/lcov-report/src/bundle/index.html +1 -1
- package/coverage/lcov-report/src/bundle/kit-config.ts.html +1 -1
- package/coverage/lcov-report/src/bundle/metro.ts.html +1 -1
- package/coverage/lcov-report/src/bundle/overrides.ts.html +1 -1
- package/coverage/lcov-report/src/copy-assets.ts.html +1 -1
- package/coverage/lcov-report/src/index.html +20 -20
- package/coverage/lcov-report/src/metro-config.ts.html +14 -323
- package/coverage/lcov.info +36 -207
- package/lib/metro-config.d.ts.map +1 -1
- package/lib/metro-config.js +2 -78
- package/lib/metro-config.js.map +1 -1
- package/package.json +5 -7
- package/src/metro-config.ts +3 -106
- package/coverage/lcov-report/src/typescript/index.html +0 -116
- package/coverage/lcov-report/src/typescript/project-cache.ts.html +0 -700
- package/lib/typescript/project-cache.d.ts +0 -42
- package/lib/typescript/project-cache.d.ts.map +0 -1
- package/lib/typescript/project-cache.js +0 -155
- package/lib/typescript/project-cache.js.map +0 -1
- package/src/typescript/project-cache.ts +0 -205
|
@@ -1762,7 +1762,7 @@ export const rnxCopyAssetsCommand = {
|
|
|
1762
1762
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1763
1763
|
Code coverage generated by
|
|
1764
1764
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1765
|
-
at
|
|
1765
|
+
at Wed Jan 11 2023 11:08:36 GMT+0000 (Coordinated Universal Time)
|
|
1766
1766
|
</div>
|
|
1767
1767
|
<script src="../prettify.js"></script>
|
|
1768
1768
|
<script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">59.17% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>100/169</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">52.29% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>57/109</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">77.77% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>14/18</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">58.92% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>99/168</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -94,18 +94,18 @@
|
|
|
94
94
|
</tr>
|
|
95
95
|
|
|
96
96
|
<tr>
|
|
97
|
-
<td class="file
|
|
98
|
-
<td data-value="
|
|
99
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
97
|
+
<td class="file high" data-value="metro-config.ts"><a href="metro-config.ts.html">metro-config.ts</a></td>
|
|
98
|
+
<td data-value="100" class="pic high">
|
|
99
|
+
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
|
|
100
100
|
</td>
|
|
101
|
-
<td data-value="
|
|
102
|
-
<td data-value="
|
|
103
|
-
<td data-value="
|
|
104
|
-
<td data-value="
|
|
105
|
-
<td data-value="
|
|
106
|
-
<td data-value="
|
|
107
|
-
<td data-value="
|
|
108
|
-
<td data-value="
|
|
101
|
+
<td data-value="100" class="pct high">100%</td>
|
|
102
|
+
<td data-value="18" class="abs high">18/18</td>
|
|
103
|
+
<td data-value="100" class="pct high">100%</td>
|
|
104
|
+
<td data-value="12" class="abs high">12/12</td>
|
|
105
|
+
<td data-value="100" class="pct high">100%</td>
|
|
106
|
+
<td data-value="1" class="abs high">1/1</td>
|
|
107
|
+
<td data-value="100" class="pct high">100%</td>
|
|
108
|
+
<td data-value="18" class="abs high">18/18</td>
|
|
109
109
|
</tr>
|
|
110
110
|
|
|
111
111
|
</tbody>
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
117
117
|
Code coverage generated by
|
|
118
118
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
119
|
-
at
|
|
119
|
+
at Wed Jan 11 2023 11:08:36 GMT+0000 (Coordinated Universal Time)
|
|
120
120
|
</div>
|
|
121
121
|
<script src="../prettify.js"></script>
|
|
122
122
|
<script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>18/18</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>12/12</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>1/1</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>18/18</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
</div>
|
|
62
62
|
</template>
|
|
63
63
|
</div>
|
|
64
|
-
<div class='status-line
|
|
64
|
+
<div class='status-line high'></div>
|
|
65
65
|
<pre><table class="coverage">
|
|
66
66
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
67
67
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -132,110 +132,7 @@
|
|
|
132
132
|
<a name='L67'></a><a href='#L67'>67</a>
|
|
133
133
|
<a name='L68'></a><a href='#L68'>68</a>
|
|
134
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>
|
|
213
|
-
<a name='L148'></a><a href='#L148'>148</a>
|
|
214
|
-
<a name='L149'></a><a href='#L149'>149</a>
|
|
215
|
-
<a name='L150'></a><a href='#L150'>150</a>
|
|
216
|
-
<a name='L151'></a><a href='#L151'>151</a>
|
|
217
|
-
<a name='L152'></a><a href='#L152'>152</a>
|
|
218
|
-
<a name='L153'></a><a href='#L153'>153</a>
|
|
219
|
-
<a name='L154'></a><a href='#L154'>154</a>
|
|
220
|
-
<a name='L155'></a><a href='#L155'>155</a>
|
|
221
|
-
<a name='L156'></a><a href='#L156'>156</a>
|
|
222
|
-
<a name='L157'></a><a href='#L157'>157</a>
|
|
223
|
-
<a name='L158'></a><a href='#L158'>158</a>
|
|
224
|
-
<a name='L159'></a><a href='#L159'>159</a>
|
|
225
|
-
<a name='L160'></a><a href='#L160'>160</a>
|
|
226
|
-
<a name='L161'></a><a href='#L161'>161</a>
|
|
227
|
-
<a name='L162'></a><a href='#L162'>162</a>
|
|
228
|
-
<a name='L163'></a><a href='#L163'>163</a>
|
|
229
|
-
<a name='L164'></a><a href='#L164'>164</a>
|
|
230
|
-
<a name='L165'></a><a href='#L165'>165</a>
|
|
231
|
-
<a name='L166'></a><a href='#L166'>166</a>
|
|
232
|
-
<a name='L167'></a><a href='#L167'>167</a>
|
|
233
|
-
<a name='L168'></a><a href='#L168'>168</a>
|
|
234
|
-
<a name='L169'></a><a href='#L169'>169</a>
|
|
235
|
-
<a name='L170'></a><a href='#L170'>170</a>
|
|
236
|
-
<a name='L171'></a><a href='#L171'>171</a>
|
|
237
|
-
<a name='L172'></a><a href='#L172'>172</a>
|
|
238
|
-
<a name='L173'></a><a href='#L173'>173</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
135
|
+
<a name='L70'></a><a href='#L70'>70</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
239
136
|
<span class="cline-any cline-neutral"> </span>
|
|
240
137
|
<span class="cline-any cline-neutral"> </span>
|
|
241
138
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -266,104 +163,6 @@
|
|
|
266
163
|
<span class="cline-any cline-neutral"> </span>
|
|
267
164
|
<span class="cline-any cline-neutral"> </span>
|
|
268
165
|
<span class="cline-any cline-neutral"> </span>
|
|
269
|
-
<span class="cline-any cline-neutral"> </span>
|
|
270
|
-
<span class="cline-any cline-neutral"> </span>
|
|
271
|
-
<span class="cline-any cline-yes">9x</span>
|
|
272
|
-
<span class="cline-any cline-neutral"> </span>
|
|
273
|
-
<span class="cline-any cline-yes">9x</span>
|
|
274
|
-
<span class="cline-any cline-yes">9x</span>
|
|
275
|
-
<span class="cline-any cline-neutral"> </span>
|
|
276
|
-
<span class="cline-any cline-yes">9x</span>
|
|
277
|
-
<span class="cline-any cline-no"> </span>
|
|
278
|
-
<span class="cline-any cline-no"> </span>
|
|
279
|
-
<span class="cline-any cline-no"> </span>
|
|
280
|
-
<span class="cline-any cline-neutral"> </span>
|
|
281
|
-
<span class="cline-any cline-neutral"> </span>
|
|
282
|
-
<span class="cline-any cline-neutral"> </span>
|
|
283
|
-
<span class="cline-any cline-no"> </span>
|
|
284
|
-
<span class="cline-any cline-neutral"> </span>
|
|
285
|
-
<span class="cline-any cline-neutral"> </span>
|
|
286
|
-
<span class="cline-any cline-neutral"> </span>
|
|
287
|
-
<span class="cline-any cline-neutral"> </span>
|
|
288
|
-
<span class="cline-any cline-no"> </span>
|
|
289
|
-
<span class="cline-any cline-neutral"> </span>
|
|
290
|
-
<span class="cline-any cline-no"> </span>
|
|
291
|
-
<span class="cline-any cline-neutral"> </span>
|
|
292
|
-
<span class="cline-any cline-neutral"> </span>
|
|
293
|
-
<span class="cline-any cline-no"> </span>
|
|
294
|
-
<span class="cline-any cline-neutral"> </span>
|
|
295
|
-
<span class="cline-any cline-no"> </span>
|
|
296
|
-
<span class="cline-any cline-neutral"> </span>
|
|
297
|
-
<span class="cline-any cline-neutral"> </span>
|
|
298
|
-
<span class="cline-any cline-no"> </span>
|
|
299
|
-
<span class="cline-any cline-neutral"> </span>
|
|
300
|
-
<span class="cline-any cline-neutral"> </span>
|
|
301
|
-
<span class="cline-any cline-neutral"> </span>
|
|
302
|
-
<span class="cline-any cline-neutral"> </span>
|
|
303
|
-
<span class="cline-any cline-neutral"> </span>
|
|
304
|
-
<span class="cline-any cline-no"> </span>
|
|
305
|
-
<span class="cline-any cline-no"> </span>
|
|
306
|
-
<span class="cline-any cline-no"> </span>
|
|
307
|
-
<span class="cline-any cline-no"> </span>
|
|
308
|
-
<span class="cline-any cline-neutral"> </span>
|
|
309
|
-
<span class="cline-any cline-no"> </span>
|
|
310
|
-
<span class="cline-any cline-no"> </span>
|
|
311
|
-
<span class="cline-any cline-no"> </span>
|
|
312
|
-
<span class="cline-any cline-no"> </span>
|
|
313
|
-
<span class="cline-any cline-neutral"> </span>
|
|
314
|
-
<span class="cline-any cline-neutral"> </span>
|
|
315
|
-
<span class="cline-any cline-neutral"> </span>
|
|
316
|
-
<span class="cline-any cline-no"> </span>
|
|
317
|
-
<span class="cline-any cline-no"> </span>
|
|
318
|
-
<span class="cline-any cline-no"> </span>
|
|
319
|
-
<span class="cline-any cline-neutral"> </span>
|
|
320
|
-
<span class="cline-any cline-no"> </span>
|
|
321
|
-
<span class="cline-any cline-no"> </span>
|
|
322
|
-
<span class="cline-any cline-no"> </span>
|
|
323
|
-
<span class="cline-any cline-neutral"> </span>
|
|
324
|
-
<span class="cline-any cline-neutral"> </span>
|
|
325
|
-
<span class="cline-any cline-neutral"> </span>
|
|
326
|
-
<span class="cline-any cline-neutral"> </span>
|
|
327
|
-
<span class="cline-any cline-no"> </span>
|
|
328
|
-
<span class="cline-any cline-no"> </span>
|
|
329
|
-
<span class="cline-any cline-no"> </span>
|
|
330
|
-
<span class="cline-any cline-no"> </span>
|
|
331
|
-
<span class="cline-any cline-neutral"> </span>
|
|
332
|
-
<span class="cline-any cline-neutral"> </span>
|
|
333
|
-
<span class="cline-any cline-neutral"> </span>
|
|
334
|
-
<span class="cline-any cline-no"> </span>
|
|
335
|
-
<span class="cline-any cline-neutral"> </span>
|
|
336
|
-
<span class="cline-any cline-no"> </span>
|
|
337
|
-
<span class="cline-any cline-neutral"> </span>
|
|
338
|
-
<span class="cline-any cline-neutral"> </span>
|
|
339
|
-
<span class="cline-any cline-neutral"> </span>
|
|
340
|
-
<span class="cline-any cline-neutral"> </span>
|
|
341
|
-
<span class="cline-any cline-yes">9x</span>
|
|
342
|
-
<span class="cline-any cline-neutral"> </span>
|
|
343
|
-
<span class="cline-any cline-neutral"> </span>
|
|
344
|
-
<span class="cline-any cline-yes">2x</span>
|
|
345
|
-
<span class="cline-any cline-neutral"> </span>
|
|
346
|
-
<span class="cline-any cline-neutral"> </span>
|
|
347
|
-
<span class="cline-any cline-neutral"> </span>
|
|
348
|
-
<span class="cline-any cline-neutral"> </span>
|
|
349
|
-
<span class="cline-any cline-neutral"> </span>
|
|
350
|
-
<span class="cline-any cline-neutral"> </span>
|
|
351
|
-
<span class="cline-any cline-neutral"> </span>
|
|
352
|
-
<span class="cline-any cline-neutral"> </span>
|
|
353
|
-
<span class="cline-any cline-neutral"> </span>
|
|
354
|
-
<span class="cline-any cline-neutral"> </span>
|
|
355
|
-
<span class="cline-any cline-neutral"> </span>
|
|
356
|
-
<span class="cline-any cline-neutral"> </span>
|
|
357
|
-
<span class="cline-any cline-neutral"> </span>
|
|
358
|
-
<span class="cline-any cline-neutral"> </span>
|
|
359
|
-
<span class="cline-any cline-neutral"> </span>
|
|
360
|
-
<span class="cline-any cline-neutral"> </span>
|
|
361
|
-
<span class="cline-any cline-neutral"> </span>
|
|
362
|
-
<span class="cline-any cline-neutral"> </span>
|
|
363
|
-
<span class="cline-any cline-neutral"> </span>
|
|
364
|
-
<span class="cline-any cline-neutral"> </span>
|
|
365
|
-
<span class="cline-any cline-neutral"> </span>
|
|
366
|
-
<span class="cline-any cline-neutral"> </span>
|
|
367
166
|
<span class="cline-any cline-yes">10x</span>
|
|
368
167
|
<span class="cline-any cline-neutral"> </span>
|
|
369
168
|
<span class="cline-any cline-yes">10x</span>
|
|
@@ -401,121 +200,18 @@
|
|
|
401
200
|
<span class="cline-any cline-neutral"> </span>
|
|
402
201
|
<span class="cline-any cline-yes">10x</span>
|
|
403
202
|
<span class="cline-any cline-yes">10x</span>
|
|
404
|
-
<span class="cline-any cline-no"> </span>
|
|
405
|
-
<span class="cline-any cline-yes">10x</span>
|
|
406
|
-
<span class="cline-any cline-yes">9x</span>
|
|
407
203
|
<span class="cline-any cline-neutral"> </span>
|
|
408
|
-
<span class="cline-any cline-
|
|
409
|
-
<span class="cline-any cline-neutral"> </span>
|
|
410
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import type {
|
|
411
|
-
BundlerPlugins,
|
|
412
|
-
TypeScriptValidationOptions,
|
|
413
|
-
} from "@rnx-kit/config";
|
|
204
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import type { BundlerPlugins } from "@rnx-kit/config";
|
|
414
205
|
import { CyclicDependencies } from "@rnx-kit/metro-plugin-cyclic-dependencies-detector";
|
|
415
206
|
import { DuplicateDependencies } from "@rnx-kit/metro-plugin-duplicates-checker";
|
|
207
|
+
import { TypeScriptPlugin } from "@rnx-kit/metro-plugin-typescript";
|
|
416
208
|
import type { MetroPlugin } from "@rnx-kit/metro-serializer";
|
|
417
209
|
import { MetroSerializer } from "@rnx-kit/metro-serializer";
|
|
418
210
|
import {
|
|
419
211
|
esbuildTransformerConfig,
|
|
420
212
|
MetroSerializer as MetroSerializerEsbuild,
|
|
421
213
|
} from "@rnx-kit/metro-serializer-esbuild";
|
|
422
|
-
import type { AllPlatforms } from "@rnx-kit/tools-react-native/platform";
|
|
423
|
-
import type { Project } from "@rnx-kit/typescript-service";
|
|
424
|
-
import type { DeltaResult, Graph } from "metro";
|
|
425
214
|
import type { InputConfigT, SerializerConfigT } from "metro-config";
|
|
426
|
-
import { createProjectCache } from "./typescript/project-cache";
|
|
427
|
-
|
|
428
|
-
/**
|
|
429
|
-
* Create a hook function to be registered with Metro during serialization.
|
|
430
|
-
* Each serialization pass runs the hook which type-checks each added/updated
|
|
431
|
-
* source file.
|
|
432
|
-
*
|
|
433
|
-
* Source file in node_modules (external packages) are ignored.
|
|
434
|
-
*
|
|
435
|
-
* @param options TypeScript validation options
|
|
436
|
-
* @param print Optional function to use when printing status messages to the Metro console
|
|
437
|
-
* @returns Hook function
|
|
438
|
-
*/
|
|
439
|
-
function createSerializerHook(
|
|
440
|
-
options: TypeScriptValidationOptions,
|
|
441
|
-
print?: (message: string) => void
|
|
442
|
-
) {
|
|
443
|
-
const projectCache = createProjectCache(print);
|
|
444
|
-
|
|
445
|
-
const patternNodeModules = /[/\\]node_modules[/\\]/;
|
|
446
|
-
const excludeNodeModules = <span class="fstat-no" title="function not covered" >(p</span>: string) => <span class="cstat-no" title="statement not covered" >!patternNodeModules.test(p);</span>
|
|
447
|
-
|
|
448
|
-
const hook = <span class="fstat-no" title="function not covered" >(g</span>raph: Graph, delta: DeltaResult): void => {
|
|
449
|
-
const platform = <span class="cstat-no" title="statement not covered" >graph.transformOptions.platform as AllPlatforms;</span>
|
|
450
|
-
<span class="cstat-no" title="statement not covered" > if (platform) {</span>
|
|
451
|
-
<span class="cstat-no" title="statement not covered" > if (delta.reset) {</span>
|
|
452
|
-
// Metro is signaling that all cached data for this Graph should be
|
|
453
|
-
// thrown out. Each Graph is scoped to one platform, so discard all
|
|
454
|
-
// of that platform's projects.
|
|
455
|
-
<span class="cstat-no" title="statement not covered" > projectCache.clearPlatform(platform);</span>
|
|
456
|
-
}
|
|
457
|
-
|
|
458
|
-
// Filter adds, updates, and deletes coming from Metro. Do not look at
|
|
459
|
-
// anything in an external package (e.g. under node_modules).
|
|
460
|
-
const adds = <span class="cstat-no" title="statement not covered" >Array.from(</span>
|
|
461
|
-
delta.added.values(),
|
|
462
|
-
<span class="fstat-no" title="function not covered" > (m</span>odule) => <span class="cstat-no" title="statement not covered" >module.path</span>
|
|
463
|
-
).filter(excludeNodeModules);
|
|
464
|
-
|
|
465
|
-
const updates = <span class="cstat-no" title="statement not covered" >Array.from(</span>
|
|
466
|
-
delta.modified.values(),
|
|
467
|
-
<span class="fstat-no" title="function not covered" > (m</span>odule) => <span class="cstat-no" title="statement not covered" >module.path</span>
|
|
468
|
-
).filter(excludeNodeModules);
|
|
469
|
-
|
|
470
|
-
const deletes = <span class="cstat-no" title="statement not covered" >Array.from(delta.deleted.values()).filter(</span>
|
|
471
|
-
excludeNodeModules
|
|
472
|
-
);
|
|
473
|
-
|
|
474
|
-
// Try to map each file to a TypeScript project, and apply its delta operation.
|
|
475
|
-
// Some projects may not actually be TypeScript projects (ignore those).
|
|
476
|
-
const tsprojectsToValidate: Set<Project> = <span class="cstat-no" title="statement not covered" >new Set();</span>
|
|
477
|
-
<span class="cstat-no" title="statement not covered" > adds.concat(updates).forEach(<span class="fstat-no" title="function not covered" >(s</span>ourceFile) => {</span>
|
|
478
|
-
const projectInfo = <span class="cstat-no" title="statement not covered" >projectCache.getProjectInfo(sourceFile, platform);</span>
|
|
479
|
-
<span class="cstat-no" title="statement not covered" > if (projectInfo) {</span>
|
|
480
|
-
// This is a TypeScript project. Validate it.
|
|
481
|
-
const { tsproject, tssourceFiles } = <span class="cstat-no" title="statement not covered" >projectInfo;</span>
|
|
482
|
-
<span class="cstat-no" title="statement not covered" > if (tssourceFiles.has(sourceFile)) {</span>
|
|
483
|
-
<span class="cstat-no" title="statement not covered" > tsproject.setFile(sourceFile);</span>
|
|
484
|
-
<span class="cstat-no" title="statement not covered" > tsprojectsToValidate.add(tsproject);</span>
|
|
485
|
-
}
|
|
486
|
-
}
|
|
487
|
-
});
|
|
488
|
-
<span class="cstat-no" title="statement not covered" > deletes.forEach(<span class="fstat-no" title="function not covered" >(s</span>ourceFile) => {</span>
|
|
489
|
-
const projectInfo = <span class="cstat-no" title="statement not covered" >projectCache.getProjectInfo(sourceFile, platform);</span>
|
|
490
|
-
<span class="cstat-no" title="statement not covered" > if (projectInfo) {</span>
|
|
491
|
-
// This is a TypeScript project. Validate it.
|
|
492
|
-
const { tsproject } = <span class="cstat-no" title="statement not covered" >projectInfo;</span>
|
|
493
|
-
<span class="cstat-no" title="statement not covered" > tsproject.removeFile(sourceFile);</span>
|
|
494
|
-
<span class="cstat-no" title="statement not covered" > tsprojectsToValidate.add(tsproject);</span>
|
|
495
|
-
}
|
|
496
|
-
});
|
|
497
|
-
|
|
498
|
-
// Validate all projects which changed, printing all type errors.
|
|
499
|
-
let isValid = <span class="cstat-no" title="statement not covered" >true;</span>
|
|
500
|
-
<span class="cstat-no" title="statement not covered" > tsprojectsToValidate.forEach(<span class="fstat-no" title="function not covered" >(p</span>) => {</span>
|
|
501
|
-
<span class="cstat-no" title="statement not covered" > if (!p.validate()) {</span>
|
|
502
|
-
<span class="cstat-no" title="statement not covered" > isValid = false;</span>
|
|
503
|
-
}
|
|
504
|
-
});
|
|
505
|
-
|
|
506
|
-
<span class="cstat-no" title="statement not covered" > if (!isValid && options.throwOnError) {</span>
|
|
507
|
-
// Type-checking failed. Fail the Metro operation (bundling or serving).
|
|
508
|
-
<span class="cstat-no" title="statement not covered" > throw new Error("Type validation failed");</span>
|
|
509
|
-
}
|
|
510
|
-
}
|
|
511
|
-
};
|
|
512
|
-
|
|
513
|
-
return hook;
|
|
514
|
-
}
|
|
515
|
-
|
|
516
|
-
const emptySerializerHook = <span class="fstat-no" title="function not covered" >(_</span>graph: Graph, _delta: DeltaResult): void => {
|
|
517
|
-
// nop
|
|
518
|
-
};
|
|
519
215
|
|
|
520
216
|
/**
|
|
521
217
|
* Customize the Metro configuration.
|
|
@@ -571,12 +267,7 @@ export function customizeMetroConfig(
|
|
|
571
267
|
delete metroConfig.serializer.customSerializer;
|
|
572
268
|
}
|
|
573
269
|
|
|
574
|
-
|
|
575
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (typeof typescriptValidation === "object") {
|
|
576
|
-
<span class="cstat-no" title="statement not covered" > hook = createSerializerHook(typescriptValidation, print);</span>
|
|
577
|
-
} else if (typescriptValidation !== false) {
|
|
578
|
-
hook = createSerializerHook({}, print);
|
|
579
|
-
}
|
|
270
|
+
const hook = TypeScriptPlugin(typescriptValidation, print);
|
|
580
271
|
metroConfig.serializer.experimentalSerializerHook = hook;
|
|
581
272
|
}
|
|
582
273
|
</pre></td></tr></table></pre>
|
|
@@ -586,7 +277,7 @@ export function customizeMetroConfig(
|
|
|
586
277
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
587
278
|
Code coverage generated by
|
|
588
279
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
589
|
-
at
|
|
280
|
+
at Wed Jan 11 2023 11:08:36 GMT+0000 (Coordinated Universal Time)
|
|
590
281
|
</div>
|
|
591
282
|
<script src="../prettify.js"></script>
|
|
592
283
|
<script>
|