@rnx-kit/cli 0.16.9 → 0.16.10
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 +6 -0
- package/coverage/clover.xml +44 -4
- package/coverage/coverage-final.json +1 -0
- package/coverage/lcov-report/index.html +19 -19
- 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 +24 -9
- package/coverage/lcov-report/src/metro-config.ts.html +1 -1
- package/coverage/lcov-report/src/test.ts.html +469 -0
- package/coverage/lcov.info +68 -0
- package/lib/test.d.ts +2 -0
- package/lib/test.d.ts.map +1 -1
- package/lib/test.js +50 -23
- package/lib/test.js.map +1 -1
- package/package.json +4 -4
- package/src/test.ts +51 -26
- package/test/test.test.ts +17 -0
|
@@ -0,0 +1,469 @@
|
|
|
1
|
+
|
|
2
|
+
<!doctype html>
|
|
3
|
+
<html lang="en">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<title>Code coverage report for src/test.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> / <a href="index.html">src</a> test.ts</h1>
|
|
23
|
+
<div class='clearfix'>
|
|
24
|
+
|
|
25
|
+
<div class='fl pad1y space-right2'>
|
|
26
|
+
<span class="strong">35.13% </span>
|
|
27
|
+
<span class="quiet">Statements</span>
|
|
28
|
+
<span class='fraction'>13/37</span>
|
|
29
|
+
</div>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<div class='fl pad1y space-right2'>
|
|
33
|
+
<span class="strong">30% </span>
|
|
34
|
+
<span class="quiet">Branches</span>
|
|
35
|
+
<span class='fraction'>3/10</span>
|
|
36
|
+
</div>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
<div class='fl pad1y space-right2'>
|
|
40
|
+
<span class="strong">66.66% </span>
|
|
41
|
+
<span class="quiet">Functions</span>
|
|
42
|
+
<span class='fraction'>4/6</span>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
<div class='fl pad1y space-right2'>
|
|
47
|
+
<span class="strong">35.13% </span>
|
|
48
|
+
<span class="quiet">Lines</span>
|
|
49
|
+
<span class='fraction'>13/37</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 oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
63
|
+
</div>
|
|
64
|
+
<div class='status-line low'></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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
195
|
+
<span class="cline-any cline-neutral"> </span>
|
|
196
|
+
<span class="cline-any cline-neutral"> </span>
|
|
197
|
+
<span class="cline-any cline-neutral"> </span>
|
|
198
|
+
<span class="cline-any cline-neutral"> </span>
|
|
199
|
+
<span class="cline-any cline-neutral"> </span>
|
|
200
|
+
<span class="cline-any cline-neutral"> </span>
|
|
201
|
+
<span class="cline-any cline-neutral"> </span>
|
|
202
|
+
<span class="cline-any cline-neutral"> </span>
|
|
203
|
+
<span class="cline-any cline-neutral"> </span>
|
|
204
|
+
<span class="cline-any cline-neutral"> </span>
|
|
205
|
+
<span class="cline-any cline-neutral"> </span>
|
|
206
|
+
<span class="cline-any cline-neutral"> </span>
|
|
207
|
+
<span class="cline-any cline-neutral"> </span>
|
|
208
|
+
<span class="cline-any cline-neutral"> </span>
|
|
209
|
+
<span class="cline-any cline-neutral"> </span>
|
|
210
|
+
<span class="cline-any cline-neutral"> </span>
|
|
211
|
+
<span class="cline-any cline-neutral"> </span>
|
|
212
|
+
<span class="cline-any cline-neutral"> </span>
|
|
213
|
+
<span class="cline-any cline-neutral"> </span>
|
|
214
|
+
<span class="cline-any cline-neutral"> </span>
|
|
215
|
+
<span class="cline-any cline-yes">1x</span>
|
|
216
|
+
<span class="cline-any cline-neutral"> </span>
|
|
217
|
+
<span class="cline-any cline-neutral"> </span>
|
|
218
|
+
<span class="cline-any cline-yes">1x</span>
|
|
219
|
+
<span class="cline-any cline-yes">1x</span>
|
|
220
|
+
<span class="cline-any cline-neutral"> </span>
|
|
221
|
+
<span class="cline-any cline-neutral"> </span>
|
|
222
|
+
<span class="cline-any cline-neutral"> </span>
|
|
223
|
+
<span class="cline-any cline-neutral"> </span>
|
|
224
|
+
<span class="cline-any cline-neutral"> </span>
|
|
225
|
+
<span class="cline-any cline-neutral"> </span>
|
|
226
|
+
<span class="cline-any cline-neutral"> </span>
|
|
227
|
+
<span class="cline-any cline-no"> </span>
|
|
228
|
+
<span class="cline-any cline-no"> </span>
|
|
229
|
+
<span class="cline-any cline-no"> </span>
|
|
230
|
+
<span class="cline-any cline-no"> </span>
|
|
231
|
+
<span class="cline-any cline-neutral"> </span>
|
|
232
|
+
<span class="cline-any cline-no"> </span>
|
|
233
|
+
<span class="cline-any cline-no"> </span>
|
|
234
|
+
<span class="cline-any cline-neutral"> </span>
|
|
235
|
+
<span class="cline-any cline-neutral"> </span>
|
|
236
|
+
<span class="cline-any cline-neutral"> </span>
|
|
237
|
+
<span class="cline-any cline-no"> </span>
|
|
238
|
+
<span class="cline-any cline-no"> </span>
|
|
239
|
+
<span class="cline-any cline-no"> </span>
|
|
240
|
+
<span class="cline-any cline-neutral"> </span>
|
|
241
|
+
<span class="cline-any cline-neutral"> </span>
|
|
242
|
+
<span class="cline-any cline-neutral"> </span>
|
|
243
|
+
<span class="cline-any cline-no"> </span>
|
|
244
|
+
<span class="cline-any cline-neutral"> </span>
|
|
245
|
+
<span class="cline-any cline-no"> </span>
|
|
246
|
+
<span class="cline-any cline-no"> </span>
|
|
247
|
+
<span class="cline-any cline-no"> </span>
|
|
248
|
+
<span class="cline-any cline-neutral"> </span>
|
|
249
|
+
<span class="cline-any cline-neutral"> </span>
|
|
250
|
+
<span class="cline-any cline-neutral"> </span>
|
|
251
|
+
<span class="cline-any cline-neutral"> </span>
|
|
252
|
+
<span class="cline-any cline-no"> </span>
|
|
253
|
+
<span class="cline-any cline-neutral"> </span>
|
|
254
|
+
<span class="cline-any cline-no"> </span>
|
|
255
|
+
<span class="cline-any cline-no"> </span>
|
|
256
|
+
<span class="cline-any cline-neutral"> </span>
|
|
257
|
+
<span class="cline-any cline-neutral"> </span>
|
|
258
|
+
<span class="cline-any cline-neutral"> </span>
|
|
259
|
+
<span class="cline-any cline-yes">2x</span>
|
|
260
|
+
<span class="cline-any cline-yes">2x</span>
|
|
261
|
+
<span class="cline-any cline-neutral"> </span>
|
|
262
|
+
<span class="cline-any cline-neutral"> </span>
|
|
263
|
+
<span class="cline-any cline-yes">2x</span>
|
|
264
|
+
<span class="cline-any cline-yes">2x</span>
|
|
265
|
+
<span class="cline-any cline-yes">2x</span>
|
|
266
|
+
<span class="cline-any cline-neutral"> </span>
|
|
267
|
+
<span class="cline-any cline-neutral"> </span>
|
|
268
|
+
<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-neutral"> </span>
|
|
272
|
+
<span class="cline-any cline-neutral"> </span>
|
|
273
|
+
<span class="cline-any cline-neutral"> </span>
|
|
274
|
+
<span class="cline-any cline-neutral"> </span>
|
|
275
|
+
<span class="cline-any cline-neutral"> </span>
|
|
276
|
+
<span class="cline-any cline-neutral"> </span>
|
|
277
|
+
<span class="cline-any cline-neutral"> </span>
|
|
278
|
+
<span class="cline-any cline-no"> </span>
|
|
279
|
+
<span class="cline-any cline-neutral"> </span>
|
|
280
|
+
<span class="cline-any cline-no"> </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-no"> </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-neutral"> </span>
|
|
289
|
+
<span class="cline-any cline-no"> </span>
|
|
290
|
+
<span class="cline-any cline-no"> </span>
|
|
291
|
+
<span class="cline-any cline-no"> </span>
|
|
292
|
+
<span class="cline-any cline-neutral"> </span>
|
|
293
|
+
<span class="cline-any cline-neutral"> </span>
|
|
294
|
+
<span class="cline-any cline-neutral"> </span>
|
|
295
|
+
<span class="cline-any cline-neutral"> </span>
|
|
296
|
+
<span class="cline-any cline-no"> </span>
|
|
297
|
+
<span class="cline-any cline-neutral"> </span>
|
|
298
|
+
<span class="cline-any cline-yes">2x</span>
|
|
299
|
+
<span class="cline-any cline-yes">208x</span>
|
|
300
|
+
<span class="cline-any cline-yes">208x</span>
|
|
301
|
+
<span class="cline-any cline-yes">208x</span>
|
|
302
|
+
<span class="cline-any cline-neutral"> </span>
|
|
303
|
+
<span class="cline-any cline-neutral"> </span>
|
|
304
|
+
<span class="cline-any cline-neutral"> </span>
|
|
305
|
+
<span class="cline-any cline-neutral"> </span>
|
|
306
|
+
<span class="cline-any cline-neutral"> </span>
|
|
307
|
+
<span class="cline-any cline-neutral"> </span>
|
|
308
|
+
<span class="cline-any cline-neutral"> </span>
|
|
309
|
+
<span class="cline-any cline-yes">1x</span>
|
|
310
|
+
<span class="cline-any cline-neutral"> </span>
|
|
311
|
+
<span class="cline-any cline-neutral"> </span>
|
|
312
|
+
<span class="cline-any cline-neutral"> </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-neutral"> </span>
|
|
317
|
+
<span class="cline-any cline-neutral"> </span>
|
|
318
|
+
<span class="cline-any cline-neutral"> </span>
|
|
319
|
+
<span class="cline-any cline-neutral"> </span>
|
|
320
|
+
<span class="cline-any cline-neutral"> </span>
|
|
321
|
+
<span class="cline-any cline-neutral"> </span>
|
|
322
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import type { Config as CLIConfig } from "@react-native-community/cli-types";
|
|
323
|
+
import { error } from "@rnx-kit/console";
|
|
324
|
+
import { findPackageDir } from "@rnx-kit/tools-node";
|
|
325
|
+
import { parsePlatform } from "@rnx-kit/tools-react-native/platform";
|
|
326
|
+
import * as path from "path";
|
|
327
|
+
|
|
328
|
+
type Args = {
|
|
329
|
+
platform: "android" | "ios" | "macos" | "windows" | "win32";
|
|
330
|
+
};
|
|
331
|
+
|
|
332
|
+
type Options = {
|
|
333
|
+
name: string;
|
|
334
|
+
description?: string;
|
|
335
|
+
parse?: (val: string) => unknown;
|
|
336
|
+
default?:
|
|
337
|
+
| string
|
|
338
|
+
| boolean
|
|
339
|
+
| number
|
|
340
|
+
| ((config: CLIConfig) => string | boolean | number);
|
|
341
|
+
};
|
|
342
|
+
|
|
343
|
+
const COMMAND_NAME = "rnx-test";
|
|
344
|
+
|
|
345
|
+
export function resolveJestCli(): string {
|
|
346
|
+
const jestPath = path.dirname(require.resolve("jest/package.json"));
|
|
347
|
+
return require.resolve("jest-cli", { paths: [jestPath] });
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
export function <span class="fstat-no" title="function not covered" >rnxTest(</span>
|
|
351
|
+
_argv: string[],
|
|
352
|
+
_config: CLIConfig,
|
|
353
|
+
{ platform }: Args
|
|
354
|
+
): void {
|
|
355
|
+
const runJest: (argv: string[]) => void = <span class="cstat-no" title="statement not covered" >(<span class="fstat-no" title="function not covered" >()</span> => {</span>
|
|
356
|
+
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
357
|
+
const { run } = <span class="cstat-no" title="statement not covered" >require(resolveJestCli());</span>
|
|
358
|
+
<span class="cstat-no" title="statement not covered" > return run;</span>
|
|
359
|
+
} catch (e) {
|
|
360
|
+
<span class="cstat-no" title="statement not covered" > error("'rnx-test' is unavailable because 'jest-cli' is not installed");</span>
|
|
361
|
+
<span class="cstat-no" title="statement not covered" > throw e;</span>
|
|
362
|
+
}
|
|
363
|
+
})();
|
|
364
|
+
|
|
365
|
+
const commandIndex = <span class="cstat-no" title="statement not covered" >process.argv.indexOf(COMMAND_NAME);</span>
|
|
366
|
+
<span class="cstat-no" title="statement not covered" > if (commandIndex < 0) {</span>
|
|
367
|
+
<span class="cstat-no" title="statement not covered" > throw new Error("Failed to parse command arguments");</span>
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
// Copy and remove the first arguments from `node react-native rnx-test ...`
|
|
371
|
+
const argv = <span class="cstat-no" title="statement not covered" >process.argv.slice(commandIndex + 1);</span>
|
|
372
|
+
|
|
373
|
+
const platformIndex = <span class="cstat-no" title="statement not covered" >argv.indexOf("--platform");</span>
|
|
374
|
+
<span class="cstat-no" title="statement not covered" > if (platformIndex < 0) {</span>
|
|
375
|
+
<span class="cstat-no" title="statement not covered" > throw new Error("A target platform must be specified");</span>
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
// Remove `--platform` otherwise Jest will complain about an unrecognized
|
|
379
|
+
// option. We can pass the rest of the arguments to Jest as they are.
|
|
380
|
+
<span class="cstat-no" title="statement not covered" > argv.splice(platformIndex, 2);</span>
|
|
381
|
+
|
|
382
|
+
<span class="cstat-no" title="statement not covered" > process.env["RN_TARGET_PLATFORM"] = platform;</span>
|
|
383
|
+
<span class="cstat-no" title="statement not covered" > runJest(argv);</span>
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
export function jestOptions(): Options[] {
|
|
387
|
+
const options = (() => {
|
|
388
|
+
try {
|
|
389
|
+
// `yargsOptions` is exported as of 29.5.0
|
|
390
|
+
// https://github.com/jestjs/jest/commit/0e8ed24a527b951efe11ed49da46e0bd8c0ebef9
|
|
391
|
+
const { yargsOptions } = require("jest-cli");
|
|
392
|
+
if (yargsOptions) {
|
|
393
|
+
return yargsOptions;
|
|
394
|
+
}
|
|
395
|
+
} catch (_) {
|
|
396
|
+
// ignore
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
// Starting with Jest 27, we are getting this error:
|
|
400
|
+
//
|
|
401
|
+
// Package subpath './build/cli/args' is not defined by "exports" in
|
|
402
|
+
// /~/node_modules/jest-cli/package.json
|
|
403
|
+
//
|
|
404
|
+
// To work around this, resolve `jest-cli` first, then use the resolved
|
|
405
|
+
// path to import `./build/cli/args`.
|
|
406
|
+
const jestPath = <span class="cstat-no" title="statement not covered" >findPackageDir(resolveJestCli()) || "jest-cli";</span>
|
|
407
|
+
|
|
408
|
+
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
409
|
+
// `args.js` was moved in 29.2.0
|
|
410
|
+
// https://github.com/jestjs/jest/commit/2ecf723c50c5d25b2fe94e1ff8081f36aed9d67b
|
|
411
|
+
const { options } = <span class="cstat-no" title="statement not covered" >require(`${jestPath}/build/args`);</span>
|
|
412
|
+
<span class="cstat-no" title="statement not covered" > return options;</span>
|
|
413
|
+
} catch (_) {
|
|
414
|
+
// ignore
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
418
|
+
const { options } = <span class="cstat-no" title="statement not covered" >require(`${jestPath}/build/cli/args`);</span>
|
|
419
|
+
<span class="cstat-no" title="statement not covered" > return options;</span>
|
|
420
|
+
} catch (_) {
|
|
421
|
+
// ignore
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
<span class="cstat-no" title="statement not covered" > return {};</span>
|
|
425
|
+
})();
|
|
426
|
+
return Object.keys(options).map((option) => {
|
|
427
|
+
const { alias, default: defaultValue, description, type } = options[option];
|
|
428
|
+
const name = `--${option} [${type}]`;
|
|
429
|
+
return {
|
|
430
|
+
name: alias ? `-${alias}, ${name}` : name,
|
|
431
|
+
description,
|
|
432
|
+
default: defaultValue,
|
|
433
|
+
};
|
|
434
|
+
});
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
export const rnxTestCommand = {
|
|
438
|
+
name: COMMAND_NAME,
|
|
439
|
+
description: "Test runner for React Native apps",
|
|
440
|
+
func: rnxTest,
|
|
441
|
+
options: [
|
|
442
|
+
{
|
|
443
|
+
name: "--platform [android|ios|macos|windows|win32]",
|
|
444
|
+
description: "Platform to target",
|
|
445
|
+
parse: parsePlatform,
|
|
446
|
+
},
|
|
447
|
+
...jestOptions(),
|
|
448
|
+
],
|
|
449
|
+
};
|
|
450
|
+
</pre></td></tr></table></pre>
|
|
451
|
+
|
|
452
|
+
<div class='push'></div><!-- for sticky footer -->
|
|
453
|
+
</div><!-- /wrapper -->
|
|
454
|
+
<div class='footer quiet pad2 space-top1 center small'>
|
|
455
|
+
Code coverage generated by
|
|
456
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
457
|
+
at Wed Aug 02 2023 14:28:05 GMT+0000 (Coordinated Universal Time)
|
|
458
|
+
</div>
|
|
459
|
+
<script src="../prettify.js"></script>
|
|
460
|
+
<script>
|
|
461
|
+
window.onload = function () {
|
|
462
|
+
prettyPrint();
|
|
463
|
+
};
|
|
464
|
+
</script>
|
|
465
|
+
<script src="../sorter.js"></script>
|
|
466
|
+
<script src="../block-navigation.js"></script>
|
|
467
|
+
</body>
|
|
468
|
+
</html>
|
|
469
|
+
|
package/coverage/lcov.info
CHANGED
|
@@ -411,6 +411,74 @@ BRF:42
|
|
|
411
411
|
BRH:21
|
|
412
412
|
end_of_record
|
|
413
413
|
TN:
|
|
414
|
+
SF:src/test.ts
|
|
415
|
+
FN:24,resolveJestCli
|
|
416
|
+
FN:29,rnxTest
|
|
417
|
+
FN:34,(anonymous_2)
|
|
418
|
+
FN:65,jestOptions
|
|
419
|
+
FN:66,(anonymous_4)
|
|
420
|
+
FN:105,(anonymous_5)
|
|
421
|
+
FNF:6
|
|
422
|
+
FNH:4
|
|
423
|
+
FNDA:1,resolveJestCli
|
|
424
|
+
FNDA:0,rnxTest
|
|
425
|
+
FNDA:0,(anonymous_2)
|
|
426
|
+
FNDA:2,jestOptions
|
|
427
|
+
FNDA:2,(anonymous_4)
|
|
428
|
+
FNDA:208,(anonymous_5)
|
|
429
|
+
DA:22,1
|
|
430
|
+
DA:25,1
|
|
431
|
+
DA:26,1
|
|
432
|
+
DA:34,0
|
|
433
|
+
DA:35,0
|
|
434
|
+
DA:36,0
|
|
435
|
+
DA:37,0
|
|
436
|
+
DA:39,0
|
|
437
|
+
DA:40,0
|
|
438
|
+
DA:44,0
|
|
439
|
+
DA:45,0
|
|
440
|
+
DA:46,0
|
|
441
|
+
DA:50,0
|
|
442
|
+
DA:52,0
|
|
443
|
+
DA:53,0
|
|
444
|
+
DA:54,0
|
|
445
|
+
DA:59,0
|
|
446
|
+
DA:61,0
|
|
447
|
+
DA:62,0
|
|
448
|
+
DA:66,2
|
|
449
|
+
DA:67,2
|
|
450
|
+
DA:70,2
|
|
451
|
+
DA:71,2
|
|
452
|
+
DA:72,2
|
|
453
|
+
DA:85,0
|
|
454
|
+
DA:87,0
|
|
455
|
+
DA:90,0
|
|
456
|
+
DA:91,0
|
|
457
|
+
DA:96,0
|
|
458
|
+
DA:97,0
|
|
459
|
+
DA:98,0
|
|
460
|
+
DA:103,0
|
|
461
|
+
DA:105,2
|
|
462
|
+
DA:106,208
|
|
463
|
+
DA:107,208
|
|
464
|
+
DA:108,208
|
|
465
|
+
DA:116,1
|
|
466
|
+
LF:37
|
|
467
|
+
LH:13
|
|
468
|
+
BRDA:45,0,0,0
|
|
469
|
+
BRDA:45,0,1,0
|
|
470
|
+
BRDA:53,1,0,0
|
|
471
|
+
BRDA:53,1,1,0
|
|
472
|
+
BRDA:71,2,0,2
|
|
473
|
+
BRDA:71,2,1,0
|
|
474
|
+
BRDA:85,3,0,0
|
|
475
|
+
BRDA:85,3,1,0
|
|
476
|
+
BRDA:109,4,0,18
|
|
477
|
+
BRDA:109,4,1,190
|
|
478
|
+
BRF:10
|
|
479
|
+
BRH:3
|
|
480
|
+
end_of_record
|
|
481
|
+
TN:
|
|
414
482
|
SF:src/bundle/defaultPlugins.ts
|
|
415
483
|
FN:14,getDefaultBundlerPlugins
|
|
416
484
|
FNF:1
|
package/lib/test.d.ts
CHANGED
|
@@ -8,7 +8,9 @@ type Options = {
|
|
|
8
8
|
parse?: (val: string) => unknown;
|
|
9
9
|
default?: string | boolean | number | ((config: CLIConfig) => string | boolean | number);
|
|
10
10
|
};
|
|
11
|
+
export declare function resolveJestCli(): string;
|
|
11
12
|
export declare function rnxTest(_argv: string[], _config: CLIConfig, { platform }: Args): void;
|
|
13
|
+
export declare function jestOptions(): Options[];
|
|
12
14
|
export declare const rnxTestCommand: {
|
|
13
15
|
name: string;
|
|
14
16
|
description: string;
|
package/lib/test.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAM7E,KAAK,IAAI,GAAG;IACV,QAAQ,EAAE,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;CAC7D,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACjC,OAAO,CAAC,EACJ,MAAM,GACN,OAAO,GACP,MAAM,GACN,CAAC,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;CACxD,CAAC;
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAM7E,KAAK,IAAI,GAAG;IACV,QAAQ,EAAE,SAAS,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;CAC7D,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IACjC,OAAO,CAAC,EACJ,MAAM,GACN,OAAO,GACP,MAAM,GACN,CAAC,CAAC,MAAM,EAAE,SAAS,KAAK,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;CACxD,CAAC;AAIF,wBAAgB,cAAc,IAAI,MAAM,CAGvC;AAED,wBAAgB,OAAO,CACrB,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,EAAE,SAAS,EAClB,EAAE,QAAQ,EAAE,EAAE,IAAI,GACjB,IAAI,CA8BN;AAED,wBAAgB,WAAW,IAAI,OAAO,EAAE,CAiDvC;AAED,eAAO,MAAM,cAAc;;;;;CAY1B,CAAC"}
|
package/lib/test.js
CHANGED
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.rnxTestCommand = exports.rnxTest = void 0;
|
|
26
|
+
exports.rnxTestCommand = exports.jestOptions = exports.rnxTest = exports.resolveJestCli = void 0;
|
|
27
27
|
const console_1 = require("@rnx-kit/console");
|
|
28
28
|
const tools_node_1 = require("@rnx-kit/tools-node");
|
|
29
29
|
const platform_1 = require("@rnx-kit/tools-react-native/platform");
|
|
@@ -33,6 +33,7 @@ function resolveJestCli() {
|
|
|
33
33
|
const jestPath = path.dirname(require.resolve("jest/package.json"));
|
|
34
34
|
return require.resolve("jest-cli", { paths: [jestPath] });
|
|
35
35
|
}
|
|
36
|
+
exports.resolveJestCli = resolveJestCli;
|
|
36
37
|
function rnxTest(_argv, _config, { platform }) {
|
|
37
38
|
const runJest = (() => {
|
|
38
39
|
try {
|
|
@@ -62,29 +63,55 @@ function rnxTest(_argv, _config, { platform }) {
|
|
|
62
63
|
}
|
|
63
64
|
exports.rnxTest = rnxTest;
|
|
64
65
|
function jestOptions() {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
66
|
+
const options = (() => {
|
|
67
|
+
try {
|
|
68
|
+
// `yargsOptions` is exported as of 29.5.0
|
|
69
|
+
// https://github.com/jestjs/jest/commit/0e8ed24a527b951efe11ed49da46e0bd8c0ebef9
|
|
70
|
+
const { yargsOptions } = require("jest-cli");
|
|
71
|
+
if (yargsOptions) {
|
|
72
|
+
return yargsOptions;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
catch (_) {
|
|
76
|
+
// ignore
|
|
77
|
+
}
|
|
78
|
+
// Starting with Jest 27, we are getting this error:
|
|
79
|
+
//
|
|
80
|
+
// Package subpath './build/cli/args' is not defined by "exports" in
|
|
81
|
+
// /~/node_modules/jest-cli/package.json
|
|
82
|
+
//
|
|
83
|
+
// To work around this, resolve `jest-cli` first, then use the resolved
|
|
84
|
+
// path to import `./build/cli/args`.
|
|
85
|
+
const jestPath = (0, tools_node_1.findPackageDir)(resolveJestCli()) || "jest-cli";
|
|
86
|
+
try {
|
|
87
|
+
// `args.js` was moved in 29.2.0
|
|
88
|
+
// https://github.com/jestjs/jest/commit/2ecf723c50c5d25b2fe94e1ff8081f36aed9d67b
|
|
89
|
+
const { options } = require(`${jestPath}/build/args`);
|
|
90
|
+
return options;
|
|
91
|
+
}
|
|
92
|
+
catch (_) {
|
|
93
|
+
// ignore
|
|
94
|
+
}
|
|
95
|
+
try {
|
|
96
|
+
const { options } = require(`${jestPath}/build/cli/args`);
|
|
97
|
+
return options;
|
|
98
|
+
}
|
|
99
|
+
catch (_) {
|
|
100
|
+
// ignore
|
|
101
|
+
}
|
|
102
|
+
return {};
|
|
103
|
+
})();
|
|
104
|
+
return Object.keys(options).map((option) => {
|
|
105
|
+
const { alias, default: defaultValue, description, type } = options[option];
|
|
106
|
+
const name = `--${option} [${type}]`;
|
|
107
|
+
return {
|
|
108
|
+
name: alias ? `-${alias}, ${name}` : name,
|
|
109
|
+
description,
|
|
110
|
+
default: defaultValue,
|
|
111
|
+
};
|
|
112
|
+
});
|
|
87
113
|
}
|
|
114
|
+
exports.jestOptions = jestOptions;
|
|
88
115
|
exports.rnxTestCommand = {
|
|
89
116
|
name: COMMAND_NAME,
|
|
90
117
|
description: "Test runner for React Native apps",
|