@rnx-kit/cli 0.16.22 → 0.16.24

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.
Files changed (85) hide show
  1. package/lib/align-deps.js +5 -0
  2. package/package.json +19 -9
  3. package/src/align-deps.ts +5 -0
  4. package/CHANGELOG.md +0 -1669
  5. package/coverage/clover.xml +0 -323
  6. package/coverage/coverage-final.json +0 -8
  7. package/coverage/lcov-report/base.css +0 -224
  8. package/coverage/lcov-report/block-navigation.js +0 -87
  9. package/coverage/lcov-report/favicon.png +0 -0
  10. package/coverage/lcov-report/index.html +0 -131
  11. package/coverage/lcov-report/prettify.css +0 -1
  12. package/coverage/lcov-report/prettify.js +0 -2
  13. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  14. package/coverage/lcov-report/sorter.js +0 -196
  15. package/coverage/lcov-report/src/bundle/defaultPlugins.ts.html +0 -133
  16. package/coverage/lcov-report/src/bundle/index.html +0 -161
  17. package/coverage/lcov-report/src/bundle/kit-config.ts.html +0 -328
  18. package/coverage/lcov-report/src/bundle/metro.ts.html +0 -283
  19. package/coverage/lcov-report/src/bundle/overrides.ts.html +0 -238
  20. package/coverage/lcov-report/src/copy-assets.ts.html +0 -1720
  21. package/coverage/lcov-report/src/index.html +0 -146
  22. package/coverage/lcov-report/src/metro-config.ts.html +0 -709
  23. package/coverage/lcov-report/src/test.ts.html +0 -496
  24. package/coverage/lcov.info +0 -605
  25. package/eslint.config.js +0 -1
  26. package/lib/align-deps.d.ts.map +0 -1
  27. package/lib/align-deps.js.map +0 -1
  28. package/lib/bundle/cliOptions.d.ts.map +0 -1
  29. package/lib/bundle/cliOptions.js.map +0 -1
  30. package/lib/bundle/defaultPlugins.d.ts.map +0 -1
  31. package/lib/bundle/defaultPlugins.js.map +0 -1
  32. package/lib/bundle/hermes.d.ts.map +0 -1
  33. package/lib/bundle/hermes.js.map +0 -1
  34. package/lib/bundle/kit-config.d.ts.map +0 -1
  35. package/lib/bundle/kit-config.js.map +0 -1
  36. package/lib/bundle/metro.d.ts.map +0 -1
  37. package/lib/bundle/metro.js.map +0 -1
  38. package/lib/bundle/overrides.d.ts.map +0 -1
  39. package/lib/bundle/overrides.js.map +0 -1
  40. package/lib/bundle/types.d.ts.map +0 -1
  41. package/lib/bundle/types.js.map +0 -1
  42. package/lib/bundle.d.ts.map +0 -1
  43. package/lib/bundle.js.map +0 -1
  44. package/lib/clean.d.ts.map +0 -1
  45. package/lib/clean.js.map +0 -1
  46. package/lib/copy-assets.d.ts.map +0 -1
  47. package/lib/copy-assets.js.map +0 -1
  48. package/lib/index.d.ts.map +0 -1
  49. package/lib/index.js.map +0 -1
  50. package/lib/metro-config.d.ts.map +0 -1
  51. package/lib/metro-config.js.map +0 -1
  52. package/lib/parsers.d.ts.map +0 -1
  53. package/lib/parsers.js.map +0 -1
  54. package/lib/ram-bundle.d.ts.map +0 -1
  55. package/lib/ram-bundle.js.map +0 -1
  56. package/lib/serve/external.d.ts.map +0 -1
  57. package/lib/serve/external.js.map +0 -1
  58. package/lib/serve/help.d.ts.map +0 -1
  59. package/lib/serve/help.js.map +0 -1
  60. package/lib/serve/keyboard.d.ts.map +0 -1
  61. package/lib/serve/keyboard.js.map +0 -1
  62. package/lib/serve/kit-config.d.ts.map +0 -1
  63. package/lib/serve/kit-config.js.map +0 -1
  64. package/lib/serve/types.d.ts.map +0 -1
  65. package/lib/serve/types.js.map +0 -1
  66. package/lib/start.d.ts.map +0 -1
  67. package/lib/start.js.map +0 -1
  68. package/lib/test.d.ts.map +0 -1
  69. package/lib/test.js.map +0 -1
  70. package/lib/write-third-party-notices.d.ts.map +0 -1
  71. package/lib/write-third-party-notices.js.map +0 -1
  72. package/test/__mocks__/child_process.js +0 -5
  73. package/test/__mocks__/fs-extra.js +0 -20
  74. package/test/__mocks__/fs.js +0 -1
  75. package/test/bundle/__mocks__/@rnx-kit/config.js +0 -14
  76. package/test/bundle/__mocks__/@rnx-kit/console.js +0 -1
  77. package/test/bundle/__mocks__/@rnx-kit/metro-service.js +0 -1
  78. package/test/bundle/kit-config.test.ts +0 -160
  79. package/test/bundle/metro.test.ts +0 -78
  80. package/test/bundle/overrides.test.ts +0 -85
  81. package/test/copy-assets/assembleAarBundle.test.ts +0 -313
  82. package/test/copy-assets/copyAssets.test.ts +0 -122
  83. package/test/metro-config.test.ts +0 -206
  84. package/test/test.test.ts +0 -11
  85. package/tsconfig.json +0 -4
@@ -1,709 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/metro-config.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> metro-config.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">54.41% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>37/68</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">50% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>21/42</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">54.41% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>37/68</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 medium'></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>
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>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a>
253
- <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a>
255
- <a name='L190'></a><a href='#L190'>190</a>
256
- <a name='L191'></a><a href='#L191'>191</a>
257
- <a name='L192'></a><a href='#L192'>192</a>
258
- <a name='L193'></a><a href='#L193'>193</a>
259
- <a name='L194'></a><a href='#L194'>194</a>
260
- <a name='L195'></a><a href='#L195'>195</a>
261
- <a name='L196'></a><a href='#L196'>196</a>
262
- <a name='L197'></a><a href='#L197'>197</a>
263
- <a name='L198'></a><a href='#L198'>198</a>
264
- <a name='L199'></a><a href='#L199'>199</a>
265
- <a name='L200'></a><a href='#L200'>200</a>
266
- <a name='L201'></a><a href='#L201'>201</a>
267
- <a name='L202'></a><a href='#L202'>202</a>
268
- <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a>
272
- <a name='L207'></a><a href='#L207'>207</a>
273
- <a name='L208'></a><a href='#L208'>208</a>
274
- <a name='L209'></a><a href='#L209'>209</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
275
- <span class="cline-any cline-neutral">&nbsp;</span>
276
- <span class="cline-any cline-neutral">&nbsp;</span>
277
- <span class="cline-any cline-neutral">&nbsp;</span>
278
- <span class="cline-any cline-neutral">&nbsp;</span>
279
- <span class="cline-any cline-neutral">&nbsp;</span>
280
- <span class="cline-any cline-neutral">&nbsp;</span>
281
- <span class="cline-any cline-neutral">&nbsp;</span>
282
- <span class="cline-any cline-neutral">&nbsp;</span>
283
- <span class="cline-any cline-neutral">&nbsp;</span>
284
- <span class="cline-any cline-neutral">&nbsp;</span>
285
- <span class="cline-any cline-neutral">&nbsp;</span>
286
- <span class="cline-any cline-neutral">&nbsp;</span>
287
- <span class="cline-any cline-neutral">&nbsp;</span>
288
- <span class="cline-any cline-neutral">&nbsp;</span>
289
- <span class="cline-any cline-neutral">&nbsp;</span>
290
- <span class="cline-any cline-neutral">&nbsp;</span>
291
- <span class="cline-any cline-neutral">&nbsp;</span>
292
- <span class="cline-any cline-neutral">&nbsp;</span>
293
- <span class="cline-any cline-neutral">&nbsp;</span>
294
- <span class="cline-any cline-neutral">&nbsp;</span>
295
- <span class="cline-any cline-neutral">&nbsp;</span>
296
- <span class="cline-any cline-neutral">&nbsp;</span>
297
- <span class="cline-any cline-neutral">&nbsp;</span>
298
- <span class="cline-any cline-neutral">&nbsp;</span>
299
- <span class="cline-any cline-yes">21x</span>
300
- <span class="cline-any cline-yes">21x</span>
301
- <span class="cline-any cline-neutral">&nbsp;</span>
302
- <span class="cline-any cline-no">&nbsp;</span>
303
- <span class="cline-any cline-neutral">&nbsp;</span>
304
- <span class="cline-any cline-neutral">&nbsp;</span>
305
- <span class="cline-any cline-neutral">&nbsp;</span>
306
- <span class="cline-any cline-neutral">&nbsp;</span>
307
- <span class="cline-any cline-yes">21x</span>
308
- <span class="cline-any cline-yes">21x</span>
309
- <span class="cline-any cline-neutral">&nbsp;</span>
310
- <span class="cline-any cline-neutral">&nbsp;</span>
311
- <span class="cline-any cline-neutral">&nbsp;</span>
312
- <span class="cline-any cline-neutral">&nbsp;</span>
313
- <span class="cline-any cline-neutral">&nbsp;</span>
314
- <span class="cline-any cline-neutral">&nbsp;</span>
315
- <span class="cline-any cline-neutral">&nbsp;</span>
316
- <span class="cline-any cline-yes">10x</span>
317
- <span class="cline-any cline-yes">10x</span>
318
- <span class="cline-any cline-neutral">&nbsp;</span>
319
- <span class="cline-any cline-yes">10x</span>
320
- <span class="cline-any cline-no">&nbsp;</span>
321
- <span class="cline-any cline-no">&nbsp;</span>
322
- <span class="cline-any cline-neutral">&nbsp;</span>
323
- <span class="cline-any cline-neutral">&nbsp;</span>
324
- <span class="cline-any cline-yes">10x</span>
325
- <span class="cline-any cline-no">&nbsp;</span>
326
- <span class="cline-any cline-no">&nbsp;</span>
327
- <span class="cline-any cline-neutral">&nbsp;</span>
328
- <span class="cline-any cline-neutral">&nbsp;</span>
329
- <span class="cline-any cline-yes">10x</span>
330
- <span class="cline-any cline-no">&nbsp;</span>
331
- <span class="cline-any cline-no">&nbsp;</span>
332
- <span class="cline-any cline-neutral">&nbsp;</span>
333
- <span class="cline-any cline-neutral">&nbsp;</span>
334
- <span class="cline-any cline-neutral">&nbsp;</span>
335
- <span class="cline-any cline-yes">10x</span>
336
- <span class="cline-any cline-yes">10x</span>
337
- <span class="cline-any cline-neutral">&nbsp;</span>
338
- <span class="cline-any cline-neutral">&nbsp;</span>
339
- <span class="cline-any cline-no">&nbsp;</span>
340
- <span class="cline-any cline-neutral">&nbsp;</span>
341
- <span class="cline-any cline-neutral">&nbsp;</span>
342
- <span class="cline-any cline-neutral">&nbsp;</span>
343
- <span class="cline-any cline-neutral">&nbsp;</span>
344
- <span class="cline-any cline-neutral">&nbsp;</span>
345
- <span class="cline-any cline-neutral">&nbsp;</span>
346
- <span class="cline-any cline-no">&nbsp;</span>
347
- <span class="cline-any cline-no">&nbsp;</span>
348
- <span class="cline-any cline-neutral">&nbsp;</span>
349
- <span class="cline-any cline-neutral">&nbsp;</span>
350
- <span class="cline-any cline-no">&nbsp;</span>
351
- <span class="cline-any cline-neutral">&nbsp;</span>
352
- <span class="cline-any cline-no">&nbsp;</span>
353
- <span class="cline-any cline-neutral">&nbsp;</span>
354
- <span class="cline-any cline-neutral">&nbsp;</span>
355
- <span class="cline-any cline-neutral">&nbsp;</span>
356
- <span class="cline-any cline-neutral">&nbsp;</span>
357
- <span class="cline-any cline-neutral">&nbsp;</span>
358
- <span class="cline-any cline-neutral">&nbsp;</span>
359
- <span class="cline-any cline-neutral">&nbsp;</span>
360
- <span class="cline-any cline-neutral">&nbsp;</span>
361
- <span class="cline-any cline-neutral">&nbsp;</span>
362
- <span class="cline-any cline-neutral">&nbsp;</span>
363
- <span class="cline-any cline-neutral">&nbsp;</span>
364
- <span class="cline-any cline-neutral">&nbsp;</span>
365
- <span class="cline-any cline-neutral">&nbsp;</span>
366
- <span class="cline-any cline-neutral">&nbsp;</span>
367
- <span class="cline-any cline-neutral">&nbsp;</span>
368
- <span class="cline-any cline-neutral">&nbsp;</span>
369
- <span class="cline-any cline-neutral">&nbsp;</span>
370
- <span class="cline-any cline-neutral">&nbsp;</span>
371
- <span class="cline-any cline-neutral">&nbsp;</span>
372
- <span class="cline-any cline-neutral">&nbsp;</span>
373
- <span class="cline-any cline-neutral">&nbsp;</span>
374
- <span class="cline-any cline-neutral">&nbsp;</span>
375
- <span class="cline-any cline-neutral">&nbsp;</span>
376
- <span class="cline-any cline-neutral">&nbsp;</span>
377
- <span class="cline-any cline-neutral">&nbsp;</span>
378
- <span class="cline-any cline-yes">10x</span>
379
- <span class="cline-any cline-neutral">&nbsp;</span>
380
- <span class="cline-any cline-yes">10x</span>
381
- <span class="cline-any cline-neutral">&nbsp;</span>
382
- <span class="cline-any cline-neutral">&nbsp;</span>
383
- <span class="cline-any cline-neutral">&nbsp;</span>
384
- <span class="cline-any cline-yes">10x</span>
385
- <span class="cline-any cline-neutral">&nbsp;</span>
386
- <span class="cline-any cline-yes">10x</span>
387
- <span class="cline-any cline-yes">10x</span>
388
- <span class="cline-any cline-no">&nbsp;</span>
389
- <span class="cline-any cline-neutral">&nbsp;</span>
390
- <span class="cline-any cline-neutral">&nbsp;</span>
391
- <span class="cline-any cline-neutral">&nbsp;</span>
392
- <span class="cline-any cline-neutral">&nbsp;</span>
393
- <span class="cline-any cline-neutral">&nbsp;</span>
394
- <span class="cline-any cline-no">&nbsp;</span>
395
- <span class="cline-any cline-neutral">&nbsp;</span>
396
- <span class="cline-any cline-no">&nbsp;</span>
397
- <span class="cline-any cline-no">&nbsp;</span>
398
- <span class="cline-any cline-no">&nbsp;</span>
399
- <span class="cline-any cline-no">&nbsp;</span>
400
- <span class="cline-any cline-neutral">&nbsp;</span>
401
- <span class="cline-any cline-neutral">&nbsp;</span>
402
- <span class="cline-any cline-no">&nbsp;</span>
403
- <span class="cline-any cline-no">&nbsp;</span>
404
- <span class="cline-any cline-no">&nbsp;</span>
405
- <span class="cline-any cline-no">&nbsp;</span>
406
- <span class="cline-any cline-neutral">&nbsp;</span>
407
- <span class="cline-any cline-neutral">&nbsp;</span>
408
- <span class="cline-any cline-no">&nbsp;</span>
409
- <span class="cline-any cline-no">&nbsp;</span>
410
- <span class="cline-any cline-no">&nbsp;</span>
411
- <span class="cline-any cline-neutral">&nbsp;</span>
412
- <span class="cline-any cline-neutral">&nbsp;</span>
413
- <span class="cline-any cline-yes">10x</span>
414
- <span class="cline-any cline-yes">10x</span>
415
- <span class="cline-any cline-yes">21x</span>
416
- <span class="cline-any cline-neutral">&nbsp;</span>
417
- <span class="cline-any cline-neutral">&nbsp;</span>
418
- <span class="cline-any cline-yes">21x</span>
419
- <span class="cline-any cline-yes">21x</span>
420
- <span class="cline-any cline-neutral">&nbsp;</span>
421
- <span class="cline-any cline-yes">12x</span>
422
- <span class="cline-any cline-yes">12x</span>
423
- <span class="cline-any cline-neutral">&nbsp;</span>
424
- <span class="cline-any cline-neutral">&nbsp;</span>
425
- <span class="cline-any cline-yes">9x</span>
426
- <span class="cline-any cline-yes">9x</span>
427
- <span class="cline-any cline-neutral">&nbsp;</span>
428
- <span class="cline-any cline-neutral">&nbsp;</span>
429
- <span class="cline-any cline-no">&nbsp;</span>
430
- <span class="cline-any cline-neutral">&nbsp;</span>
431
- <span class="cline-any cline-neutral">&nbsp;</span>
432
- <span class="cline-any cline-neutral">&nbsp;</span>
433
- <span class="cline-any cline-neutral">&nbsp;</span>
434
- <span class="cline-any cline-yes">10x</span>
435
- <span class="cline-any cline-yes">1x</span>
436
- <span class="cline-any cline-no">&nbsp;</span>
437
- <span class="cline-any cline-neutral">&nbsp;</span>
438
- <span class="cline-any cline-neutral">&nbsp;</span>
439
- <span class="cline-any cline-neutral">&nbsp;</span>
440
- <span class="cline-any cline-yes">1x</span>
441
- <span class="cline-any cline-neutral">&nbsp;</span>
442
- <span class="cline-any cline-neutral">&nbsp;</span>
443
- <span class="cline-any cline-neutral">&nbsp;</span>
444
- <span class="cline-any cline-neutral">&nbsp;</span>
445
- <span class="cline-any cline-neutral">&nbsp;</span>
446
- <span class="cline-any cline-yes">1x</span>
447
- <span class="cline-any cline-yes">9x</span>
448
- <span class="cline-any cline-neutral">&nbsp;</span>
449
- <span class="cline-any cline-neutral">&nbsp;</span>
450
- <span class="cline-any cline-neutral">&nbsp;</span>
451
- <span class="cline-any cline-neutral">&nbsp;</span>
452
- <span class="cline-any cline-neutral">&nbsp;</span>
453
- <span class="cline-any cline-neutral">&nbsp;</span>
454
- <span class="cline-any cline-neutral">&nbsp;</span>
455
- <span class="cline-any cline-neutral">&nbsp;</span>
456
- <span class="cline-any cline-neutral">&nbsp;</span>
457
- <span class="cline-any cline-neutral">&nbsp;</span>
458
- <span class="cline-any cline-yes">7x</span>
459
- <span class="cline-any cline-neutral">&nbsp;</span>
460
- <span class="cline-any cline-neutral">&nbsp;</span>
461
- <span class="cline-any cline-neutral">&nbsp;</span>
462
- <span class="cline-any cline-neutral">&nbsp;</span>
463
- <span class="cline-any cline-yes">2x</span>
464
- <span class="cline-any cline-neutral">&nbsp;</span>
465
- <span class="cline-any cline-neutral">&nbsp;</span>
466
- <span class="cline-any cline-yes">10x</span>
467
- <span class="cline-any cline-yes">10x</span>
468
- <span class="cline-any cline-neutral">&nbsp;</span>
469
- <span class="cline-any cline-yes">1x</span>
470
- <span class="cline-any cline-neutral">&nbsp;</span>
471
- <span class="cline-any cline-yes">9x</span>
472
- <span class="cline-any cline-yes">9x</span>
473
- <span class="cline-any cline-neutral">&nbsp;</span>
474
- <span class="cline-any cline-no">&nbsp;</span>
475
- <span class="cline-any cline-no">&nbsp;</span>
476
- <span class="cline-any cline-no">&nbsp;</span>
477
- <span class="cline-any cline-neutral">&nbsp;</span>
478
- <span class="cline-any cline-neutral">&nbsp;</span>
479
- <span class="cline-any cline-no">&nbsp;</span>
480
- <span class="cline-any cline-neutral">&nbsp;</span>
481
- <span class="cline-any cline-neutral">&nbsp;</span>
482
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type { BundleParameters } from "@rnx-kit/config";
483
- import { warn } from "@rnx-kit/console";
484
- import { CyclicDependencies } from "@rnx-kit/metro-plugin-cyclic-dependencies-detector";
485
- import { DuplicateDependencies } from "@rnx-kit/metro-plugin-duplicates-checker";
486
- import { TypeScriptPlugin } from "@rnx-kit/metro-plugin-typescript";
487
- import type { MetroPlugin } from "@rnx-kit/metro-serializer";
488
- import { MetroSerializer } from "@rnx-kit/metro-serializer";
489
- import {
490
- esbuildTransformerConfig,
491
- MetroSerializer as MetroSerializerEsbuild,
492
- } from "@rnx-kit/metro-serializer-esbuild";
493
- import type { ConfigT, SerializerConfigT } from "metro-config";
494
- import type { WritableDeep } from "type-fest";
495
- import { getDefaultBundlerPlugins } from "./bundle/defaultPlugins";
496
- &nbsp;
497
- type MetroExtraParams = Pick&lt;
498
- BundleParameters,
499
- | "detectCyclicDependencies"
500
- | "detectDuplicateDependencies"
501
- | "typescriptValidation"
502
- | "plugins"
503
- | "treeShake"
504
- &gt;;
505
- &nbsp;
506
- function resolvePlugin(name: string): string {
507
- try {
508
- return require.resolve(name);
509
- } catch (_) {
510
- <span class="cstat-no" title="statement not covered" > return require.resolve(name, { paths: [process.cwd()] });</span>
511
- }
512
- }
513
- &nbsp;
514
- function importPlugin(name: string) {
515
- const plugin = require(resolvePlugin(name));
516
- return plugin.default || plugin;
517
- }
518
- &nbsp;
519
- function readLegacyOptions({
520
- detectCyclicDependencies,
521
- detectDuplicateDependencies,
522
- typescriptValidation,
523
- }: MetroExtraParams): string | undefined {
524
- const oldOptions = [];
525
- const deprecatedOptions: Record&lt;string, Record&lt;string, unknown&gt; | true&gt; = {};
526
- &nbsp;
527
- <span class="missing-if-branch" title="if path not taken" >I</span>if (detectCyclicDependencies) {
528
- <span class="cstat-no" title="statement not covered" > oldOptions.push("detectCyclicDependencies");</span>
529
- <span class="cstat-no" title="statement not covered" > deprecatedOptions["@rnx-kit/metro-plugin-cyclic-dependencies-detector"] =</span>
530
- detectCyclicDependencies;
531
- }
532
- <span class="missing-if-branch" title="if path not taken" >I</span>if (detectDuplicateDependencies) {
533
- <span class="cstat-no" title="statement not covered" > oldOptions.push("detectDuplicateDependencies");</span>
534
- <span class="cstat-no" title="statement not covered" > deprecatedOptions["@rnx-kit/metro-plugin-duplicates-checker"] =</span>
535
- detectDuplicateDependencies;
536
- }
537
- <span class="missing-if-branch" title="if path not taken" >I</span>if (typescriptValidation) {
538
- <span class="cstat-no" title="statement not covered" > oldOptions.push("typescriptValidation");</span>
539
- <span class="cstat-no" title="statement not covered" > deprecatedOptions["@rnx-kit/metro-plugin-typescript"] =</span>
540
- typescriptValidation;
541
- }
542
- &nbsp;
543
- if (oldOptions.length === 0) {
544
- return undefined;
545
- }
546
- &nbsp;
547
- <span class="cstat-no" title="statement not covered" > return (</span>
548
- `'${oldOptions.join("', '")}' have been replaced by a new 'plugins' ` +
549
- "option. Below is an equivalent config:\n" +
550
- "\n" +
551
- ' "plugins": [\n' +
552
- Object.entries(deprecatedOptions)
553
- .map(<span class="fstat-no" title="function not covered" >([</span>name, options]) =&gt; {
554
- <span class="cstat-no" title="statement not covered" > if (typeof options === "object") {</span>
555
- const json = <span class="cstat-no" title="statement not covered" >JSON.stringify(options, null, 2)</span>
556
- .split("\n")
557
- .join("\n ");
558
- <span class="cstat-no" title="statement not covered" > return ` ["${name}", ${json}]`;</span>
559
- } else {
560
- <span class="cstat-no" title="statement not covered" > return ` "${name}"`;</span>
561
- }
562
- })
563
- .join(",\n") +
564
- "\n" +
565
- " ]\n" +
566
- "\n" +
567
- "For more details, see " +
568
- "https://github.com/microsoft/rnx-kit/tree/main/packages/cli#readme"
569
- );
570
- }
571
- &nbsp;
572
- /**
573
- * Customize the Metro configuration.
574
- *
575
- * @param metroConfigReadonly Metro configuration
576
- * @param extraParams Parameters used to further customize Metro configuration
577
- * @param print Optional function to use when printing status messages to the Metro console
578
- */
579
- export function customizeMetroConfig(
580
- metroConfigReadonly: ConfigT,
581
- extraParams: MetroExtraParams,
582
- print?: (message: string) =&gt; void
583
- ): void {
584
- // We will be making changes to the Metro configuration. Coerce from a type
585
- // with readonly props to a type where the props are writeable.
586
- const metroConfig = metroConfigReadonly as WritableDeep&lt;ConfigT&gt;;
587
- &nbsp;
588
- const metroPlugins: MetroPlugin[] = [];
589
- const serializerHooks: Record&lt;
590
- string,
591
- SerializerConfigT["experimentalSerializerHook"]
592
- &gt; = {};
593
- &nbsp;
594
- const legacyWarning = readLegacyOptions(extraParams);
595
- <span class="missing-if-branch" title="if path not taken" >I</span>if (legacyWarning) {
596
- <span class="cstat-no" title="statement not covered" > warn(legacyWarning);</span>
597
- &nbsp;
598
- const {
599
- detectCyclicDependencies,
600
- detectDuplicateDependencies,
601
- typescriptValidation,
602
- } = <span class="cstat-no" title="statement not covered" >extraParams;</span>
603
- &nbsp;
604
- <span class="cstat-no" title="statement not covered" > if (typeof detectDuplicateDependencies === "object") {</span>
605
- <span class="cstat-no" title="statement not covered" > metroPlugins.push(DuplicateDependencies(detectDuplicateDependencies));</span>
606
- } else <span class="cstat-no" title="statement not covered" >if (detectDuplicateDependencies !== false) {</span>
607
- <span class="cstat-no" title="statement not covered" > metroPlugins.push(DuplicateDependencies());</span>
608
- }
609
- &nbsp;
610
- <span class="cstat-no" title="statement not covered" > if (typeof detectCyclicDependencies === "object") {</span>
611
- <span class="cstat-no" title="statement not covered" > metroPlugins.push(CyclicDependencies(detectCyclicDependencies));</span>
612
- } else <span class="cstat-no" title="statement not covered" >if (detectCyclicDependencies !== false) {</span>
613
- <span class="cstat-no" title="statement not covered" > metroPlugins.push(CyclicDependencies());</span>
614
- }
615
- &nbsp;
616
- <span class="cstat-no" title="statement not covered" > if (typescriptValidation !== false) {</span>
617
- const plugin = <span class="cstat-no" title="statement not covered" >TypeScriptPlugin(typescriptValidation, print);</span>
618
- <span class="cstat-no" title="statement not covered" > serializerHooks["@rnx-kit/metro-plugin-typescript"] = plugin;</span>
619
- }
620
- } else {
621
- const plugins = extraParams.plugins || getDefaultBundlerPlugins().plugins;
622
- for (const entry of plugins) {
623
- const [module, options] = Array.isArray(entry)
624
- ? entry
625
- : [entry, undefined];
626
- const plugin = importPlugin(module);
627
- switch (plugin.type) {
628
- case "serializer":
629
- metroPlugins.push(plugin(options));
630
- break;
631
- &nbsp;
632
- case "serializerHook":
633
- serializerHooks[module] = plugin(options, print);
634
- break;
635
- &nbsp;
636
- <span class="branch-2 cbranch-no" title="branch not covered" > default:</span>
637
- <span class="cstat-no" title="statement not covered" > throw new Error(`${module}: unknown plugin type: ${plugin.type}`);</span>
638
- }
639
- }
640
- }
641
- &nbsp;
642
- if (extraParams.treeShake) {
643
- <span class="missing-if-branch" title="if path not taken" >I</span>if (metroConfig.serializer.customSerializer) {
644
- <span class="cstat-no" title="statement not covered" > warn(</span>
645
- "`serializer.customSerializer` in `metro.config.js` will be overwritten to enable tree shaking"
646
- );
647
- }
648
- metroConfig.serializer.customSerializer = MetroSerializerEsbuild(
649
- metroPlugins,
650
- typeof extraParams.treeShake === "object"
651
- ? <span class="branch-0 cbranch-no" title="branch not covered" >extraParams.treeShake</span>
652
- : undefined
653
- );
654
- Object.assign(metroConfig.transformer, esbuildTransformerConfig);
655
- } else if (metroPlugins.length &gt; 0) {
656
- // MetroSerializer acts as a CustomSerializer, and it works with both
657
- // older and newer versions of Metro. Older versions expect a return
658
- // value, while newer versions expect a promise.
659
- //
660
- // Its return type is the union of both the value and the promise.
661
- // This makes TypeScript upset because for any given version of Metro,
662
- // it's one or the other. Not both.
663
- //
664
- // Since it can handle either scenario, just coerce it to whatever
665
- // the current version of Metro expects.
666
- metroConfig.serializer.customSerializer = MetroSerializer(
667
- metroPlugins
668
- ) as SerializerConfigT["customSerializer"];
669
- } else {
670
- // @ts-expect-error We don't want this set if unused
671
- delete metroConfig.serializer.customSerializer;
672
- }
673
- &nbsp;
674
- const hooks = Object.values(serializerHooks);
675
- switch (hooks.length) {
676
- case 0:
677
- break;
678
- case 1:
679
- metroConfig.serializer.experimentalSerializerHook = hooks[0];
680
- break;
681
- <span class="branch-2 cbranch-no" title="branch not covered" > default:</span>
682
- <span class="cstat-no" title="statement not covered" > metroConfig.serializer.experimentalSerializerHook = <span class="fstat-no" title="function not covered" >(g</span>raph, delta) =&gt; {</span>
683
- <span class="cstat-no" title="statement not covered" > for (const hook of hooks) {</span>
684
- <span class="cstat-no" title="statement not covered" > hook(graph, delta);</span>
685
- }
686
- };
687
- <span class="cstat-no" title="statement not covered" > break;</span>
688
- }
689
- }
690
- &nbsp;</pre></td></tr></table></pre>
691
-
692
- <div class='push'></div><!-- for sticky footer -->
693
- </div><!-- /wrapper -->
694
- <div class='footer quiet pad2 space-top1 center small'>
695
- Code coverage generated by
696
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
697
- at Wed Jan 17 2024 11:56:32 GMT+0000 (Coordinated Universal Time)
698
- </div>
699
- <script src="../prettify.js"></script>
700
- <script>
701
- window.onload = function () {
702
- prettyPrint();
703
- };
704
- </script>
705
- <script src="../sorter.js"></script>
706
- <script src="../block-navigation.js"></script>
707
- </body>
708
- </html>
709
-