@rnx-kit/cli 0.12.7 → 0.14.0

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/CHANGELOG.md +104 -0
  2. package/README.md +90 -65
  3. package/coverage/clover.xml +92 -104
  4. package/coverage/coverage-final.json +7 -6
  5. package/coverage/lcov-report/index.html +29 -29
  6. package/coverage/lcov-report/src/bundle/index.html +29 -29
  7. package/coverage/lcov-report/src/bundle/kit-config.ts.html +63 -117
  8. package/coverage/lcov-report/src/bundle/metro.ts.html +40 -163
  9. package/coverage/lcov-report/src/bundle/overrides.ts.html +28 -58
  10. package/coverage/lcov-report/src/bundler-plugin-defaults.ts.html +115 -0
  11. package/coverage/lcov-report/src/copy-assets.ts.html +1 -1
  12. package/coverage/lcov-report/src/index.html +26 -11
  13. package/coverage/lcov-report/src/metro-config.ts.html +49 -31
  14. package/coverage/lcov-report/src/typescript/index.html +1 -1
  15. package/coverage/lcov-report/src/typescript/project-cache.ts.html +5 -5
  16. package/coverage/lcov.info +173 -193
  17. package/lib/bundle/kit-config.d.ts +9 -15
  18. package/lib/bundle/kit-config.d.ts.map +1 -1
  19. package/lib/bundle/kit-config.js +29 -43
  20. package/lib/bundle/kit-config.js.map +1 -1
  21. package/lib/bundle/metro.d.ts +7 -11
  22. package/lib/bundle/metro.d.ts.map +1 -1
  23. package/lib/bundle/metro.js +10 -40
  24. package/lib/bundle/metro.js.map +1 -1
  25. package/lib/bundle/overrides.d.ts +11 -9
  26. package/lib/bundle/overrides.d.ts.map +1 -1
  27. package/lib/bundle/overrides.js +10 -18
  28. package/lib/bundle/overrides.js.map +1 -1
  29. package/lib/bundle/types.d.ts +4 -17
  30. package/lib/bundle/types.d.ts.map +1 -1
  31. package/lib/bundle.d.ts +8 -7
  32. package/lib/bundle.d.ts.map +1 -1
  33. package/lib/bundle.js +3 -19
  34. package/lib/bundle.js.map +1 -1
  35. package/lib/bundler-plugin-defaults.d.ts +3 -0
  36. package/lib/bundler-plugin-defaults.d.ts.map +1 -0
  37. package/lib/bundler-plugin-defaults.js +13 -0
  38. package/lib/bundler-plugin-defaults.js.map +1 -0
  39. package/lib/index.d.ts +1 -1
  40. package/lib/index.d.ts.map +1 -1
  41. package/lib/index.js +2 -1
  42. package/lib/index.js.map +1 -1
  43. package/lib/metro-config.d.ts +3 -2
  44. package/lib/metro-config.d.ts.map +1 -1
  45. package/lib/metro-config.js +7 -5
  46. package/lib/metro-config.js.map +1 -1
  47. package/lib/parsers.d.ts +2 -0
  48. package/lib/parsers.d.ts.map +1 -1
  49. package/lib/parsers.js +16 -1
  50. package/lib/parsers.js.map +1 -1
  51. package/lib/serve/kit-config.d.ts +6 -5
  52. package/lib/serve/kit-config.d.ts.map +1 -1
  53. package/lib/serve/kit-config.js +16 -6
  54. package/lib/serve/kit-config.js.map +1 -1
  55. package/lib/start.d.ts +2 -2
  56. package/lib/start.d.ts.map +1 -1
  57. package/lib/start.js +3 -9
  58. package/lib/start.js.map +1 -1
  59. package/package.json +8 -6
  60. package/react-native.config.js +66 -59
  61. package/src/bundle/kit-config.ts +42 -60
  62. package/src/bundle/metro.ts +15 -56
  63. package/src/bundle/overrides.ts +24 -34
  64. package/src/bundle/types.ts +17 -23
  65. package/src/bundle.ts +18 -36
  66. package/src/bundler-plugin-defaults.ts +10 -0
  67. package/src/index.ts +1 -1
  68. package/src/metro-config.ts +12 -6
  69. package/src/parsers.ts +19 -0
  70. package/src/serve/kit-config.ts +23 -11
  71. package/src/start.ts +7 -13
  72. package/test/bundle/__mocks__/@rnx-kit/config.js +2 -3
  73. package/test/bundle/__mocks__/@rnx-kit/console.js +1 -0
  74. package/test/bundle/__mocks__/@rnx-kit/metro-service.js +1 -0
  75. package/test/bundle/kit-config.test.ts +102 -100
  76. package/test/bundle/metro.test.ts +58 -98
  77. package/test/bundle/overrides.test.ts +29 -25
  78. package/test/copy-assets/assembleAarBundle.test.ts +1 -0
  79. package/lib/types.d.ts +0 -5
  80. package/lib/types.d.ts.map +0 -1
  81. package/lib/types.js +0 -3
  82. package/lib/types.js.map +0 -1
  83. package/src/types.ts +0 -4
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">48.34% </span>
26
+ <span class="strong">48.78% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>146/302</span>
28
+ <span class='fraction'>140/287</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">46.99% </span>
33
+ <span class="strong">47.92% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>86/183</span>
35
+ <span class='fraction'>81/169</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">51.11% </span>
40
+ <span class="strong">53.33% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>23/45</span>
42
+ <span class='fraction'>24/45</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">48.65% </span>
47
+ <span class="strong">49.11% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>145/298</span>
49
+ <span class='fraction'>139/283</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,32 +80,32 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file medium" data-value="src"><a href="src/index.html">src</a></td>
83
- <td data-value="52.38" class="pic medium">
83
+ <td data-value="52.6" class="pic medium">
84
84
  <div class="chart"><div class="cover-fill" style="width: 52%"></div><div class="cover-empty" style="width: 48%"></div></div>
85
85
  </td>
86
- <td data-value="52.38" class="pct medium">52.38%</td>
87
- <td data-value="210" class="abs medium">110/210</td>
88
- <td data-value="45.8" class="pct low">45.8%</td>
89
- <td data-value="131" class="abs low">60/131</td>
90
- <td data-value="57.14" class="pct medium">57.14%</td>
91
- <td data-value="28" class="abs medium">16/28</td>
92
- <td data-value="52.4" class="pct medium">52.4%</td>
93
- <td data-value="208" class="abs medium">109/208</td>
86
+ <td data-value="52.6" class="pct medium">52.6%</td>
87
+ <td data-value="211" class="abs medium">111/211</td>
88
+ <td data-value="46.56" class="pct low">46.56%</td>
89
+ <td data-value="131" class="abs low">61/131</td>
90
+ <td data-value="58.62" class="pct medium">58.62%</td>
91
+ <td data-value="29" class="abs medium">17/29</td>
92
+ <td data-value="52.63" class="pct medium">52.63%</td>
93
+ <td data-value="209" class="abs medium">110/209</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
97
- <td class="file medium" data-value="src/bundle"><a href="src/bundle/index.html">src/bundle</a></td>
98
- <td data-value="78.04" class="pic medium">
99
- <div class="chart"><div class="cover-fill" style="width: 78%"></div><div class="cover-empty" style="width: 22%"></div></div>
97
+ <td class="file high" data-value="src/bundle"><a href="src/bundle/index.html">src/bundle</a></td>
98
+ <td data-value="100" class="pic high">
99
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
100
100
  </td>
101
- <td data-value="78.04" class="pct medium">78.04%</td>
102
- <td data-value="41" class="abs medium">32/41</td>
103
- <td data-value="76.47" class="pct medium">76.47%</td>
104
- <td data-value="34" class="abs medium">26/34</td>
105
- <td data-value="85.71" class="pct high">85.71%</td>
106
- <td data-value="7" class="abs high">6/7</td>
107
- <td data-value="78.04" class="pct medium">78.04%</td>
108
- <td data-value="41" class="abs medium">32/41</td>
101
+ <td data-value="100" class="pct high">100%</td>
102
+ <td data-value="25" class="abs high">25/25</td>
103
+ <td data-value="100" class="pct high">100%</td>
104
+ <td data-value="20" class="abs high">20/20</td>
105
+ <td data-value="100" class="pct high">100%</td>
106
+ <td data-value="6" class="abs high">6/6</td>
107
+ <td data-value="100" class="pct high">100%</td>
108
+ <td data-value="25" class="abs high">25/25</td>
109
109
  </tr>
110
110
 
111
111
  <tr>
@@ -131,7 +131,7 @@
131
131
  <div class='footer quiet pad2 space-top1 center small'>
132
132
  Code coverage generated by
133
133
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
134
- at Thu May 19 2022 01:42:49 GMT+0000 (Coordinated Universal Time)
134
+ at Mon Jun 20 2022 17:47:27 GMT+0000 (Coordinated Universal Time)
135
135
  </div>
136
136
  <script src="prettify.js"></script>
137
137
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">78.04% </span>
26
+ <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>32/41</span>
28
+ <span class='fraction'>25/25</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">76.47% </span>
33
+ <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>26/34</span>
35
+ <span class='fraction'>20/20</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">85.71% </span>
40
+ <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>6/7</span>
42
+ <span class='fraction'>6/6</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">78.04% </span>
47
+ <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>32/41</span>
49
+ <span class='fraction'>25/25</span>
50
50
  </div>
51
51
 
52
52
 
@@ -61,7 +61,7 @@
61
61
  </div>
62
62
  </template>
63
63
  </div>
64
- <div class='status-line medium'></div>
64
+ <div class='status-line high'></div>
65
65
  <div class="pad1">
66
66
  <table class="coverage-summary">
67
67
  <thead>
@@ -80,32 +80,32 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file high" data-value="kit-config.ts"><a href="kit-config.ts.html">kit-config.ts</a></td>
83
- <td data-value="95.23" class="pic high">
84
- <div class="chart"><div class="cover-fill" style="width: 95%"></div><div class="cover-empty" style="width: 5%"></div></div>
83
+ <td data-value="100" class="pic high">
84
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
85
85
  </td>
86
- <td data-value="95.23" class="pct high">95.23%</td>
87
- <td data-value="21" class="abs high">20/21</td>
88
- <td data-value="93.75" class="pct high">93.75%</td>
89
- <td data-value="16" class="abs high">15/16</td>
86
+ <td data-value="100" class="pct high">100%</td>
87
+ <td data-value="14" class="abs high">14/14</td>
88
+ <td data-value="100" class="pct high">100%</td>
89
+ <td data-value="14" class="abs high">14/14</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
91
  <td data-value="4" class="abs high">4/4</td>
92
- <td data-value="95.23" class="pct high">95.23%</td>
93
- <td data-value="21" class="abs high">20/21</td>
92
+ <td data-value="100" class="pct high">100%</td>
93
+ <td data-value="14" class="abs high">14/14</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
97
- <td class="file medium" data-value="metro.ts"><a href="metro.ts.html">metro.ts</a></td>
98
- <td data-value="50" class="pic medium">
99
- <div class="chart"><div class="cover-fill" style="width: 50%"></div><div class="cover-empty" style="width: 50%"></div></div>
97
+ <td class="file high" data-value="metro.ts"><a href="metro.ts.html">metro.ts</a></td>
98
+ <td data-value="100" class="pic high">
99
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
100
100
  </td>
101
- <td data-value="50" class="pct medium">50%</td>
102
- <td data-value="16" class="abs medium">8/16</td>
103
- <td data-value="56.25" class="pct medium">56.25%</td>
104
- <td data-value="16" class="abs medium">9/16</td>
105
- <td data-value="50" class="pct medium">50%</td>
106
- <td data-value="2" class="abs medium">1/2</td>
107
- <td data-value="50" class="pct medium">50%</td>
108
- <td data-value="16" class="abs medium">8/16</td>
101
+ <td data-value="100" class="pct high">100%</td>
102
+ <td data-value="7" class="abs high">7/7</td>
103
+ <td data-value="100" class="pct high">100%</td>
104
+ <td data-value="4" class="abs high">4/4</td>
105
+ <td data-value="100" class="pct high">100%</td>
106
+ <td data-value="1" class="abs high">1/1</td>
107
+ <td data-value="100" class="pct high">100%</td>
108
+ <td data-value="7" class="abs high">7/7</td>
109
109
  </tr>
110
110
 
111
111
  <tr>
@@ -131,7 +131,7 @@
131
131
  <div class='footer quiet pad2 space-top1 center small'>
132
132
  Code coverage generated by
133
133
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
134
- at Thu May 19 2022 01:42:49 GMT+0000 (Coordinated Universal Time)
134
+ at Mon Jun 20 2022 17:47:27 GMT+0000 (Coordinated Universal Time)
135
135
  </div>
136
136
  <script src="../../prettify.js"></script>
137
137
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">95.23% </span>
26
+ <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>20/21</span>
28
+ <span class='fraction'>14/14</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">93.75% </span>
33
+ <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>15/16</span>
35
+ <span class='fraction'>14/14</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">95.23% </span>
47
+ <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>20/21</span>
49
+ <span class='fraction'>14/14</span>
50
50
  </div>
51
51
 
52
52
 
@@ -144,26 +144,7 @@
144
144
  <a name='L79'></a><a href='#L79'>79</a>
145
145
  <a name='L80'></a><a href='#L80'>80</a>
146
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
166
- <span class="cline-any cline-neutral">&nbsp;</span>
147
+ <a name='L82'></a><a href='#L82'>82</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
167
148
  <span class="cline-any cline-neutral">&nbsp;</span>
168
149
  <span class="cline-any cline-neutral">&nbsp;</span>
169
150
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -182,35 +163,23 @@
182
163
  <span class="cline-any cline-neutral">&nbsp;</span>
183
164
  <span class="cline-any cline-neutral">&nbsp;</span>
184
165
  <span class="cline-any cline-neutral">&nbsp;</span>
185
- <span class="cline-any cline-yes">8x</span>
186
- <span class="cline-any cline-yes">8x</span>
187
- <span class="cline-any cline-yes">1x</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
166
  <span class="cline-any cline-neutral">&nbsp;</span>
167
+ <span class="cline-any cline-yes">10x</span>
192
168
  <span class="cline-any cline-yes">7x</span>
193
- <span class="cline-any cline-yes">1x</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-yes">1x</span>
199
- <span class="cline-any cline-yes">6x</span>
200
- <span class="cline-any cline-yes">1x</span>
201
- <span class="cline-any cline-neutral">&nbsp;</span>
202
- <span class="cline-any cline-neutral">&nbsp;</span>
203
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>
204
172
  <span class="cline-any cline-neutral">&nbsp;</span>
205
173
  <span class="cline-any cline-yes">1x</span>
206
174
  <span class="cline-any cline-neutral">&nbsp;</span>
207
175
  <span class="cline-any cline-neutral">&nbsp;</span>
208
176
  <span class="cline-any cline-neutral">&nbsp;</span>
209
- <span class="cline-any cline-yes">5x</span>
210
177
  <span class="cline-any cline-neutral">&nbsp;</span>
211
178
  <span class="cline-any cline-neutral">&nbsp;</span>
212
179
  <span class="cline-any cline-neutral">&nbsp;</span>
180
+ <span class="cline-any cline-yes">10x</span>
213
181
  <span class="cline-any cline-neutral">&nbsp;</span>
182
+ <span class="cline-any cline-yes">10x</span>
214
183
  <span class="cline-any cline-neutral">&nbsp;</span>
215
184
  <span class="cline-any cline-neutral">&nbsp;</span>
216
185
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -220,13 +189,7 @@
220
189
  <span class="cline-any cline-neutral">&nbsp;</span>
221
190
  <span class="cline-any cline-neutral">&nbsp;</span>
222
191
  <span class="cline-any cline-neutral">&nbsp;</span>
223
- <span class="cline-any cline-yes">7x</span>
224
- <span class="cline-any cline-yes">3x</span>
225
192
  <span class="cline-any cline-neutral">&nbsp;</span>
226
- <span class="cline-any cline-yes">4x</span>
227
- <span class="cline-any cline-yes">3x</span>
228
- <span class="cline-any cline-neutral">&nbsp;</span>
229
- <span class="cline-any cline-yes">1x</span>
230
193
  <span class="cline-any cline-neutral">&nbsp;</span>
231
194
  <span class="cline-any cline-neutral">&nbsp;</span>
232
195
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -238,75 +201,38 @@
238
201
  <span class="cline-any cline-neutral">&nbsp;</span>
239
202
  <span class="cline-any cline-neutral">&nbsp;</span>
240
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>
241
206
  <span class="cline-any cline-neutral">&nbsp;</span>
242
207
  <span class="cline-any cline-neutral">&nbsp;</span>
208
+ <span class="cline-any cline-yes">7x</span>
243
209
  <span class="cline-any cline-neutral">&nbsp;</span>
210
+ <span class="cline-any cline-yes">7x</span>
244
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>
245
214
  <span class="cline-any cline-neutral">&nbsp;</span>
246
215
  <span class="cline-any cline-neutral">&nbsp;</span>
247
- <span class="cline-any cline-yes">4x</span>
248
- <span class="cline-any cline-yes">4x</span>
249
- <span class="cline-any cline-no">&nbsp;</span>
250
216
  <span class="cline-any cline-neutral">&nbsp;</span>
251
217
  <span class="cline-any cline-neutral">&nbsp;</span>
252
- <span class="cline-any cline-yes">4x</span>
253
218
  <span class="cline-any cline-neutral">&nbsp;</span>
254
219
  <span class="cline-any cline-neutral">&nbsp;</span>
220
+ <span class="cline-any cline-yes">10x</span>
255
221
  <span class="cline-any cline-neutral">&nbsp;</span>
256
222
  <span class="cline-any cline-neutral">&nbsp;</span>
257
- <span class="cline-any cline-yes">4x</span>
258
- <span class="cline-any cline-yes">6x</span>
259
223
  <span class="cline-any cline-neutral">&nbsp;</span>
260
224
  <span class="cline-any cline-neutral">&nbsp;</span>
261
225
  <span class="cline-any cline-neutral">&nbsp;</span>
262
226
  <span class="cline-any cline-neutral">&nbsp;</span>
263
227
  <span class="cline-any cline-neutral">&nbsp;</span>
264
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type { BundleDefinitionWithRequiredParameters } from "@rnx-kit/config";
265
- import {
266
- getBundleDefinition,
267
- getBundlePlatformDefinition,
228
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import {
229
+ getBundleConfig,
230
+ getPlatformBundleConfig,
268
231
  getKitConfig,
269
232
  } from "@rnx-kit/config";
270
- import { warn } from "@rnx-kit/console";
271
233
  import type { AllPlatforms } from "@rnx-kit/tools-react-native/platform";
272
- import chalk from "chalk";
273
- import type { KitBundleConfig } from "./types";
274
- &nbsp;
275
- /**
276
- * Get a bundle definition from the kit configuration.
277
- *
278
- * @param id Optional bundle definition id. Only needed when the kit config has more than one definition.
279
- * @returns Bundle definition matching the id (if given), or the first bundle definition found. `undefined` if bundling is disabled or not supported for the kit.
280
- */
281
- export function getKitBundleDefinition(
282
- id?: string
283
- ): BundleDefinitionWithRequiredParameters | undefined {
284
- const kitConfig = getKitConfig();
285
- if (!kitConfig) {
286
- throw new Error(
287
- "No kit configuration found for this react-native experience"
288
- );
289
- }
290
- &nbsp;
291
- if (kitConfig.bundle === null || kitConfig.bundle === undefined) {
292
- warn(
293
- chalk.yellow(
294
- "No bundle configuration found for this react-native experience -- skipping bundling"
295
- )
296
- );
297
- return undefined;
298
- } else if (!kitConfig.bundle) {
299
- warn(
300
- chalk.yellow(
301
- "Bundling is disabled for this react-native experience -- skipping"
302
- )
303
- );
304
- return undefined;
305
- }
306
- &nbsp;
307
- // get the bundle definition
308
- return getBundleDefinition(kitConfig.bundle, id);
309
- }
234
+ import type { CliPlatformBundleConfig } from "./types";
235
+ import { getDefaultBundlerPlugins } from "../bundler-plugin-defaults";
310
236
  &nbsp;
311
237
  /**
312
238
  * Get the list of target platforms for bundling.
@@ -326,36 +252,56 @@ export function getTargetPlatforms(
326
252
  return targetPlatforms;
327
253
  }
328
254
  throw new Error(
329
- "No target platforms given. Update the kit configuration to include a target platform, or provide a target platform on the command-line."
255
+ "No target platforms given. Update the rnx-kit configuration to include a target platform, or provide a target platform on the command-line."
330
256
  );
331
257
  }
332
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;
333
270
  /**
334
- * Get bundle configuration and target platform(s) from kit config. Create
335
- * one config per platform, applying any platform-specific customizations in
336
- * the kit config.
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.
337
276
  *
338
- * @param id Optional bundle definition id. Only needed when the kit config has more than one definition.
277
+ * @param id Optional identity of the target bundle definition to return
339
278
  * @param overridePlatform Override platform, typically from the command-line. When given, this overrides the list of target platforms.
340
- * @returns Arrary of kit bundle configurations, one per target platform, or `undefined` if bundling is disabled
279
+ * @returns Arrary of platform-specific bundle configurations
341
280
  */
342
- export function getKitBundleConfigs(
281
+ export function getCliPlatformBundleConfigs(
343
282
  id?: string,
344
283
  overridePlatform?: AllPlatforms
345
- ): KitBundleConfig[] | undefined {
346
- const bundleDefinition = getKitBundleDefinition(id);
347
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!bundleDefinition) {
348
- <span class="cstat-no" title="statement not covered" > return undefined;</span>
349
- }
284
+ ): CliPlatformBundleConfig[] {
285
+ const kitConfig = getKitConfig();
286
+ const maybeBundleConfig = kitConfig
287
+ ? getBundleConfig(kitConfig, id)
288
+ : undefined;
289
+ const bundleConfig = maybeBundleConfig ?? {};
350
290
  &nbsp;
351
- const platforms = getTargetPlatforms(
352
- overridePlatform,
353
- bundleDefinition.targets
354
- );
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
355
300
  &nbsp;
356
- return platforms.map&lt;KitBundleConfig&gt;((platform) =&gt; {
357
301
  return {
358
- ...getBundlePlatformDefinition(bundleDefinition, platform),
302
+ ...getDefaultBundlerPlugins(),
303
+ ...getDefaultBundleParameters(platform),
304
+ ...platformBundleConfig,
359
305
  platform,
360
306
  };
361
307
  });
@@ -367,7 +313,7 @@ export function getKitBundleConfigs(
367
313
  <div class='footer quiet pad2 space-top1 center small'>
368
314
  Code coverage generated by
369
315
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
370
- at Thu May 19 2022 01:42:49 GMT+0000 (Coordinated Universal Time)
316
+ at Mon Jun 20 2022 17:47:27 GMT+0000 (Coordinated Universal Time)
371
317
  </div>
372
318
  <script src="../../prettify.js"></script>
373
319
  <script>