@rnx-kit/cli 0.16.22 → 0.16.23

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 (83) hide show
  1. package/package.json +18 -8
  2. package/CHANGELOG.md +0 -1669
  3. package/coverage/clover.xml +0 -323
  4. package/coverage/coverage-final.json +0 -8
  5. package/coverage/lcov-report/base.css +0 -224
  6. package/coverage/lcov-report/block-navigation.js +0 -87
  7. package/coverage/lcov-report/favicon.png +0 -0
  8. package/coverage/lcov-report/index.html +0 -131
  9. package/coverage/lcov-report/prettify.css +0 -1
  10. package/coverage/lcov-report/prettify.js +0 -2
  11. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  12. package/coverage/lcov-report/sorter.js +0 -196
  13. package/coverage/lcov-report/src/bundle/defaultPlugins.ts.html +0 -133
  14. package/coverage/lcov-report/src/bundle/index.html +0 -161
  15. package/coverage/lcov-report/src/bundle/kit-config.ts.html +0 -328
  16. package/coverage/lcov-report/src/bundle/metro.ts.html +0 -283
  17. package/coverage/lcov-report/src/bundle/overrides.ts.html +0 -238
  18. package/coverage/lcov-report/src/copy-assets.ts.html +0 -1720
  19. package/coverage/lcov-report/src/index.html +0 -146
  20. package/coverage/lcov-report/src/metro-config.ts.html +0 -709
  21. package/coverage/lcov-report/src/test.ts.html +0 -496
  22. package/coverage/lcov.info +0 -605
  23. package/eslint.config.js +0 -1
  24. package/lib/align-deps.d.ts.map +0 -1
  25. package/lib/align-deps.js.map +0 -1
  26. package/lib/bundle/cliOptions.d.ts.map +0 -1
  27. package/lib/bundle/cliOptions.js.map +0 -1
  28. package/lib/bundle/defaultPlugins.d.ts.map +0 -1
  29. package/lib/bundle/defaultPlugins.js.map +0 -1
  30. package/lib/bundle/hermes.d.ts.map +0 -1
  31. package/lib/bundle/hermes.js.map +0 -1
  32. package/lib/bundle/kit-config.d.ts.map +0 -1
  33. package/lib/bundle/kit-config.js.map +0 -1
  34. package/lib/bundle/metro.d.ts.map +0 -1
  35. package/lib/bundle/metro.js.map +0 -1
  36. package/lib/bundle/overrides.d.ts.map +0 -1
  37. package/lib/bundle/overrides.js.map +0 -1
  38. package/lib/bundle/types.d.ts.map +0 -1
  39. package/lib/bundle/types.js.map +0 -1
  40. package/lib/bundle.d.ts.map +0 -1
  41. package/lib/bundle.js.map +0 -1
  42. package/lib/clean.d.ts.map +0 -1
  43. package/lib/clean.js.map +0 -1
  44. package/lib/copy-assets.d.ts.map +0 -1
  45. package/lib/copy-assets.js.map +0 -1
  46. package/lib/index.d.ts.map +0 -1
  47. package/lib/index.js.map +0 -1
  48. package/lib/metro-config.d.ts.map +0 -1
  49. package/lib/metro-config.js.map +0 -1
  50. package/lib/parsers.d.ts.map +0 -1
  51. package/lib/parsers.js.map +0 -1
  52. package/lib/ram-bundle.d.ts.map +0 -1
  53. package/lib/ram-bundle.js.map +0 -1
  54. package/lib/serve/external.d.ts.map +0 -1
  55. package/lib/serve/external.js.map +0 -1
  56. package/lib/serve/help.d.ts.map +0 -1
  57. package/lib/serve/help.js.map +0 -1
  58. package/lib/serve/keyboard.d.ts.map +0 -1
  59. package/lib/serve/keyboard.js.map +0 -1
  60. package/lib/serve/kit-config.d.ts.map +0 -1
  61. package/lib/serve/kit-config.js.map +0 -1
  62. package/lib/serve/types.d.ts.map +0 -1
  63. package/lib/serve/types.js.map +0 -1
  64. package/lib/start.d.ts.map +0 -1
  65. package/lib/start.js.map +0 -1
  66. package/lib/test.d.ts.map +0 -1
  67. package/lib/test.js.map +0 -1
  68. package/lib/write-third-party-notices.d.ts.map +0 -1
  69. package/lib/write-third-party-notices.js.map +0 -1
  70. package/test/__mocks__/child_process.js +0 -5
  71. package/test/__mocks__/fs-extra.js +0 -20
  72. package/test/__mocks__/fs.js +0 -1
  73. package/test/bundle/__mocks__/@rnx-kit/config.js +0 -14
  74. package/test/bundle/__mocks__/@rnx-kit/console.js +0 -1
  75. package/test/bundle/__mocks__/@rnx-kit/metro-service.js +0 -1
  76. package/test/bundle/kit-config.test.ts +0 -160
  77. package/test/bundle/metro.test.ts +0 -78
  78. package/test/bundle/overrides.test.ts +0 -85
  79. package/test/copy-assets/assembleAarBundle.test.ts +0 -313
  80. package/test/copy-assets/copyAssets.test.ts +0 -122
  81. package/test/metro-config.test.ts +0 -206
  82. package/test/test.test.ts +0 -11
  83. package/tsconfig.json +0 -4
@@ -1,328 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/bundle/kit-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/bundle</a> kit-config.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">100% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>14/14</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>14/14</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>4/4</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">100% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>14/14</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 high'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
148
- <span class="cline-any cline-neutral">&nbsp;</span>
149
- <span class="cline-any cline-neutral">&nbsp;</span>
150
- <span class="cline-any cline-neutral">&nbsp;</span>
151
- <span class="cline-any cline-neutral">&nbsp;</span>
152
- <span class="cline-any cline-neutral">&nbsp;</span>
153
- <span class="cline-any cline-neutral">&nbsp;</span>
154
- <span class="cline-any cline-neutral">&nbsp;</span>
155
- <span class="cline-any cline-neutral">&nbsp;</span>
156
- <span class="cline-any cline-neutral">&nbsp;</span>
157
- <span class="cline-any cline-neutral">&nbsp;</span>
158
- <span class="cline-any cline-neutral">&nbsp;</span>
159
- <span class="cline-any cline-neutral">&nbsp;</span>
160
- <span class="cline-any cline-neutral">&nbsp;</span>
161
- <span class="cline-any cline-neutral">&nbsp;</span>
162
- <span class="cline-any cline-neutral">&nbsp;</span>
163
- <span class="cline-any cline-neutral">&nbsp;</span>
164
- <span class="cline-any cline-neutral">&nbsp;</span>
165
- <span class="cline-any cline-neutral">&nbsp;</span>
166
- <span class="cline-any cline-neutral">&nbsp;</span>
167
- <span class="cline-any cline-yes">10x</span>
168
- <span class="cline-any cline-yes">7x</span>
169
- <span class="cline-any cline-neutral">&nbsp;</span>
170
- <span class="cline-any cline-yes">3x</span>
171
- <span class="cline-any cline-yes">2x</span>
172
- <span class="cline-any cline-neutral">&nbsp;</span>
173
- <span class="cline-any cline-yes">1x</span>
174
- <span class="cline-any cline-neutral">&nbsp;</span>
175
- <span class="cline-any cline-neutral">&nbsp;</span>
176
- <span class="cline-any cline-neutral">&nbsp;</span>
177
- <span class="cline-any cline-neutral">&nbsp;</span>
178
- <span class="cline-any cline-neutral">&nbsp;</span>
179
- <span class="cline-any cline-neutral">&nbsp;</span>
180
- <span class="cline-any cline-yes">10x</span>
181
- <span class="cline-any cline-neutral">&nbsp;</span>
182
- <span class="cline-any cline-yes">10x</span>
183
- <span class="cline-any cline-neutral">&nbsp;</span>
184
- <span class="cline-any cline-neutral">&nbsp;</span>
185
- <span class="cline-any cline-neutral">&nbsp;</span>
186
- <span class="cline-any cline-neutral">&nbsp;</span>
187
- <span class="cline-any cline-neutral">&nbsp;</span>
188
- <span class="cline-any cline-neutral">&nbsp;</span>
189
- <span class="cline-any cline-neutral">&nbsp;</span>
190
- <span class="cline-any cline-neutral">&nbsp;</span>
191
- <span class="cline-any cline-neutral">&nbsp;</span>
192
- <span class="cline-any cline-neutral">&nbsp;</span>
193
- <span class="cline-any cline-neutral">&nbsp;</span>
194
- <span class="cline-any cline-neutral">&nbsp;</span>
195
- <span class="cline-any cline-neutral">&nbsp;</span>
196
- <span class="cline-any cline-neutral">&nbsp;</span>
197
- <span class="cline-any cline-neutral">&nbsp;</span>
198
- <span class="cline-any cline-neutral">&nbsp;</span>
199
- <span class="cline-any cline-neutral">&nbsp;</span>
200
- <span class="cline-any cline-neutral">&nbsp;</span>
201
- <span class="cline-any cline-neutral">&nbsp;</span>
202
- <span class="cline-any cline-neutral">&nbsp;</span>
203
- <span class="cline-any cline-neutral">&nbsp;</span>
204
- <span class="cline-any cline-yes">7x</span>
205
- <span class="cline-any cline-yes">7x</span>
206
- <span class="cline-any cline-neutral">&nbsp;</span>
207
- <span class="cline-any cline-neutral">&nbsp;</span>
208
- <span class="cline-any cline-yes">7x</span>
209
- <span class="cline-any cline-neutral">&nbsp;</span>
210
- <span class="cline-any cline-yes">7x</span>
211
- <span class="cline-any cline-neutral">&nbsp;</span>
212
- <span class="cline-any cline-yes">7x</span>
213
- <span class="cline-any cline-yes">10x</span>
214
- <span class="cline-any cline-neutral">&nbsp;</span>
215
- <span class="cline-any cline-neutral">&nbsp;</span>
216
- <span class="cline-any cline-neutral">&nbsp;</span>
217
- <span class="cline-any cline-neutral">&nbsp;</span>
218
- <span class="cline-any cline-neutral">&nbsp;</span>
219
- <span class="cline-any cline-neutral">&nbsp;</span>
220
- <span class="cline-any cline-yes">10x</span>
221
- <span class="cline-any cline-neutral">&nbsp;</span>
222
- <span class="cline-any cline-neutral">&nbsp;</span>
223
- <span class="cline-any cline-neutral">&nbsp;</span>
224
- <span class="cline-any cline-neutral">&nbsp;</span>
225
- <span class="cline-any cline-neutral">&nbsp;</span>
226
- <span class="cline-any cline-neutral">&nbsp;</span>
227
- <span class="cline-any cline-neutral">&nbsp;</span>
228
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import {
229
- getBundleConfig,
230
- getKitConfig,
231
- getPlatformBundleConfig,
232
- } from "@rnx-kit/config";
233
- import type { AllPlatforms } from "@rnx-kit/tools-react-native/platform";
234
- import { getDefaultBundlerPlugins } from "./defaultPlugins";
235
- import type { CliPlatformBundleConfig } from "./types";
236
- &nbsp;
237
- /**
238
- * Get the list of target platforms for bundling.
239
- *
240
- * @param overridePlatform Override platform, typically from the command-line. When given, this overrides the list of target platforms.
241
- * @param targetPlatforms Target platforms, typically from the kit configuration.
242
- * @returns Array of target platforms
243
- */
244
- export function getTargetPlatforms(
245
- overridePlatform?: AllPlatforms,
246
- targetPlatforms?: AllPlatforms[]
247
- ): AllPlatforms[] {
248
- if (overridePlatform) {
249
- return [overridePlatform];
250
- }
251
- if (targetPlatforms &amp;&amp; targetPlatforms.length &gt; 0) {
252
- return targetPlatforms;
253
- }
254
- throw new Error(
255
- "No target platforms given. Update the rnx-kit configuration to include a target platform, or provide a target platform on the command-line."
256
- );
257
- }
258
- &nbsp;
259
- function getDefaultBundleParameters(platform: string) {
260
- const extension =
261
- platform === "ios" || platform === "macos" ? "jsbundle" : "bundle";
262
- &nbsp;
263
- return {
264
- entryFile: "index.js",
265
- bundleOutput: `index.${platform}.${extension}`,
266
- sourcemapUseAbsolutePath: false,
267
- };
268
- }
269
- &nbsp;
270
- /**
271
- * Get the bundle configuration and target platform(s) from the rnx-kit
272
- * configuration. Use them to create an array of platform-specific
273
- * bundle configurations.
274
- *
275
- * If an id is given, search for the matching bundle definition. Otherwise, use the first bundle definition.
276
- *
277
- * @param id Optional identity of the target bundle definition to return
278
- * @param overridePlatform Override platform, typically from the command-line. When given, this overrides the list of target platforms.
279
- * @returns Array of platform-specific bundle configurations
280
- */
281
- export function getCliPlatformBundleConfigs(
282
- id?: string,
283
- overridePlatform?: AllPlatforms
284
- ): CliPlatformBundleConfig[] {
285
- const kitConfig = getKitConfig();
286
- const maybeBundleConfig = kitConfig
287
- ? getBundleConfig(kitConfig, id)
288
- : undefined;
289
- const bundleConfig = maybeBundleConfig ?? {};
290
- &nbsp;
291
- const platforms = getTargetPlatforms(overridePlatform, bundleConfig.targets);
292
- &nbsp;
293
- return platforms.map&lt;CliPlatformBundleConfig&gt;((platform) =&gt; {
294
- const platformBundleConfig = getPlatformBundleConfig(
295
- bundleConfig,
296
- platform
297
- );
298
- &nbsp;
299
- // apply defaults to fill in any required props that are missing
300
- &nbsp;
301
- return {
302
- ...getDefaultBundlerPlugins(),
303
- ...getDefaultBundleParameters(platform),
304
- ...platformBundleConfig,
305
- platform,
306
- };
307
- });
308
- }
309
- &nbsp;</pre></td></tr></table></pre>
310
-
311
- <div class='push'></div><!-- for sticky footer -->
312
- </div><!-- /wrapper -->
313
- <div class='footer quiet pad2 space-top1 center small'>
314
- Code coverage generated by
315
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
316
- at Wed Jan 17 2024 11:56:32 GMT+0000 (Coordinated Universal Time)
317
- </div>
318
- <script src="../../prettify.js"></script>
319
- <script>
320
- window.onload = function () {
321
- prettyPrint();
322
- };
323
- </script>
324
- <script src="../../sorter.js"></script>
325
- <script src="../../block-navigation.js"></script>
326
- </body>
327
- </html>
328
-
@@ -1,283 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/bundle/metro.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/bundle</a> metro.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">75% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>12/16</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">38.46% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>5/13</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>2/2</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">75% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>12/16</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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
133
- <span class="cline-any cline-neutral">&nbsp;</span>
134
- <span class="cline-any cline-neutral">&nbsp;</span>
135
- <span class="cline-any cline-neutral">&nbsp;</span>
136
- <span class="cline-any cline-neutral">&nbsp;</span>
137
- <span class="cline-any cline-neutral">&nbsp;</span>
138
- <span class="cline-any cline-neutral">&nbsp;</span>
139
- <span class="cline-any cline-neutral">&nbsp;</span>
140
- <span class="cline-any cline-neutral">&nbsp;</span>
141
- <span class="cline-any cline-neutral">&nbsp;</span>
142
- <span class="cline-any cline-yes">12x</span>
143
- <span class="cline-any cline-neutral">&nbsp;</span>
144
- <span class="cline-any cline-neutral">&nbsp;</span>
145
- <span class="cline-any cline-neutral">&nbsp;</span>
146
- <span class="cline-any cline-neutral">&nbsp;</span>
147
- <span class="cline-any cline-neutral">&nbsp;</span>
148
- <span class="cline-any cline-neutral">&nbsp;</span>
149
- <span class="cline-any cline-neutral">&nbsp;</span>
150
- <span class="cline-any cline-neutral">&nbsp;</span>
151
- <span class="cline-any cline-neutral">&nbsp;</span>
152
- <span class="cline-any cline-neutral">&nbsp;</span>
153
- <span class="cline-any cline-neutral">&nbsp;</span>
154
- <span class="cline-any cline-neutral">&nbsp;</span>
155
- <span class="cline-any cline-neutral">&nbsp;</span>
156
- <span class="cline-any cline-neutral">&nbsp;</span>
157
- <span class="cline-any cline-neutral">&nbsp;</span>
158
- <span class="cline-any cline-neutral">&nbsp;</span>
159
- <span class="cline-any cline-neutral">&nbsp;</span>
160
- <span class="cline-any cline-neutral">&nbsp;</span>
161
- <span class="cline-any cline-neutral">&nbsp;</span>
162
- <span class="cline-any cline-neutral">&nbsp;</span>
163
- <span class="cline-any cline-neutral">&nbsp;</span>
164
- <span class="cline-any cline-yes">4x</span>
165
- <span class="cline-any cline-neutral">&nbsp;</span>
166
- <span class="cline-any cline-yes">4x</span>
167
- <span class="cline-any cline-no">&nbsp;</span>
168
- <span class="cline-any cline-no">&nbsp;</span>
169
- <span class="cline-any cline-no">&nbsp;</span>
170
- <span class="cline-any cline-neutral">&nbsp;</span>
171
- <span class="cline-any cline-no">&nbsp;</span>
172
- <span class="cline-any cline-neutral">&nbsp;</span>
173
- <span class="cline-any cline-neutral">&nbsp;</span>
174
- <span class="cline-any cline-neutral">&nbsp;</span>
175
- <span class="cline-any cline-yes">4x</span>
176
- <span class="cline-any cline-neutral">&nbsp;</span>
177
- <span class="cline-any cline-neutral">&nbsp;</span>
178
- <span class="cline-any cline-yes">4x</span>
179
- <span class="cline-any cline-neutral">&nbsp;</span>
180
- <span class="cline-any cline-yes">4x</span>
181
- <span class="cline-any cline-neutral">&nbsp;</span>
182
- <span class="cline-any cline-neutral">&nbsp;</span>
183
- <span class="cline-any cline-neutral">&nbsp;</span>
184
- <span class="cline-any cline-neutral">&nbsp;</span>
185
- <span class="cline-any cline-neutral">&nbsp;</span>
186
- <span class="cline-any cline-neutral">&nbsp;</span>
187
- <span class="cline-any cline-yes">4x</span>
188
- <span class="cline-any cline-yes">4x</span>
189
- <span class="cline-any cline-yes">4x</span>
190
- <span class="cline-any cline-neutral">&nbsp;</span>
191
- <span class="cline-any cline-yes">4x</span>
192
- <span class="cline-any cline-yes">4x</span>
193
- <span class="cline-any cline-neutral">&nbsp;</span>
194
- <span class="cline-any cline-neutral">&nbsp;</span>
195
- <span class="cline-any cline-neutral">&nbsp;</span>
196
- <span class="cline-any cline-yes">4x</span>
197
- <span class="cline-any cline-neutral">&nbsp;</span>
198
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { info } from "@rnx-kit/console";
199
- import type { BundleArgs as MetroBundleArgs } from "@rnx-kit/metro-service";
200
- import { bundle } from "@rnx-kit/metro-service";
201
- import * as fs from "fs";
202
- import type { ConfigT } from "metro-config";
203
- import * as path from "path";
204
- import { customizeMetroConfig } from "../metro-config";
205
- import type { CliPlatformBundleConfig } from "./types";
206
- &nbsp;
207
- function ensureDir(p: string): void {
208
- fs.mkdirSync(p, { recursive: true, mode: 0o755 });
209
- }
210
- &nbsp;
211
- /**
212
- * Run the Metro bundler.
213
- *
214
- * @param metroConfig Metro configuration
215
- * @param bundleConfig Bundle configuration
216
- * @param dev Choose whether or not this will be a "developer" bundle. The alternative is a "production" bundle.
217
- * When `true`, warnings are enabled, and the bundle is not minified by default.
218
- * Further, optimizations like constant folding are disabled.
219
- * When `false`, warnings are disabled and the bundle is minified by default.
220
- * @param minify Optionally choose whether or not the bundle is minified. When not set, minification is controlled by the `dev` property.
221
- * @param output Output bundle format; defaults to plain JS
222
- */
223
- export async function metroBundle(
224
- metroConfig: ConfigT,
225
- bundleConfig: CliPlatformBundleConfig,
226
- dev: boolean,
227
- minify?: boolean,
228
- output = bundle
229
- ): Promise&lt;void&gt; {
230
- info(`Bundling ${bundleConfig.platform}...`);
231
- &nbsp;
232
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!dev &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >bundleConfig.treeShake)</span> {
233
- <span class="cstat-no" title="statement not covered" > if (minify != null) {</span>
234
- <span class="cstat-no" title="statement not covered" > if (typeof bundleConfig.treeShake === "object") {</span>
235
- <span class="cstat-no" title="statement not covered" > bundleConfig.treeShake.minify = minify;</span>
236
- } else {
237
- <span class="cstat-no" title="statement not covered" > bundleConfig.treeShake = { minify };</span>
238
- }
239
- }
240
- } else {
241
- bundleConfig.treeShake = false;
242
- }
243
- &nbsp;
244
- customizeMetroConfig(metroConfig, bundleConfig);
245
- &nbsp;
246
- const metroBundleArgs: MetroBundleArgs = {
247
- ...bundleConfig,
248
- dev,
249
- minify,
250
- };
251
- &nbsp;
252
- // ensure all output directories exist
253
- ensureDir(path.dirname(metroBundleArgs.bundleOutput));
254
- if (metroBundleArgs.sourcemapOutput) {
255
- ensureDir(path.dirname(metroBundleArgs.sourcemapOutput));
256
- }
257
- if (metroBundleArgs.assetsDest) {
258
- ensureDir(metroBundleArgs.assetsDest);
259
- }
260
- &nbsp;
261
- // create the bundle
262
- await output(metroBundleArgs, metroConfig);
263
- }
264
- &nbsp;</pre></td></tr></table></pre>
265
-
266
- <div class='push'></div><!-- for sticky footer -->
267
- </div><!-- /wrapper -->
268
- <div class='footer quiet pad2 space-top1 center small'>
269
- Code coverage generated by
270
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
271
- at Wed Jan 17 2024 11:56:32 GMT+0000 (Coordinated Universal Time)
272
- </div>
273
- <script src="../../prettify.js"></script>
274
- <script>
275
- window.onload = function () {
276
- prettyPrint();
277
- };
278
- </script>
279
- <script src="../../sorter.js"></script>
280
- <script src="../../block-navigation.js"></script>
281
- </body>
282
- </html>
283
-